Проблема с модулем Graph.tpu - Pascal

Узнай цену своей работы

Формулировка задачи:

У меня такая проблема, когда я запускаю компиляцию программы предназначенной для просмотра графических PCX файлов выдает ERROR 15 FILE NOT FOUND (GRAPH.TPU). Посмотрите пожалуйста текст программы и скажите что нужно испарвить чтоб оно его видело.
 Unit Show_Pcx;
 
   interface
 
    uses Dos,Graph,Init_Var,SetPCX;
 
    Const
 
       len_buf=2000;
 
    var
    graphdriver;
    graphmode: integer;   
     buf               : array[1..len_buf] of byte;  { ЎгдҐа ¤«п Є*авЁ*ЄЁ }
     i,n,p             : integer;
     delta_x,delta_y,m : integer;
     buf_addr          : pointer;                    { *¤аҐб ЎгдҐа* }
 
    type
     palette_pcx = record
                     _red  :byte;
                     _green:byte;
                     _blue :byte;
                   end;
    type
     pcx_beg = record
                maker   : byte;         { ¬*аЄҐа 10 }
                version : byte;         { ўҐабЁп  5 }
                code    : byte;         { Є®¤     1 }
                bpp     : byte;         { Є®«ЁзҐбвў® Ў*©в ў ЇЁЄбҐ«Ґ ( 1 - EGA, 2 - color Cga ) }
                x1,y1   : integer;      { Ја**Ёжл  }
                x2,y2   : integer;      { Є*авЁ*ЄЁ }
                hres    : integer;      { Ја**Ёжл  }
                vres    : integer;      { нЄа***   }
                triplet : array[1..16] of palette_pcx;  { Ї*«Ёва* }
                vmode   : byte;         { ўЁ¤Ґ® ०Ё¬ 0 }
                nplanes : byte;         { Є®«ЁзҐбвў® Ї«**®ў ( 4 - EGA, 1 - CGA ) }
                bpl     : integer;      { Є®«ЁзҐбвў® Ў*©в®ў ў бва®ЄҐ }
                unused  : array[1..80] of byte; { *ҐЁбЇ®«м§гҐ¬*п з*бвм  }
               end;
    var pcxhdr : pcx_beg;
 
    Procedure Trick_EGA;
     { Ћб®ЎҐ*®бвЁ *¤*ЇвҐа* EGA }
    Procedure ShowPcx(Name_Picture:string; x,y:integer; page:word; var error:Integer);
     { Џ®Є*§*вм Є*авЁ*Єг ў д®а¬*⥠PC PAINT BRUSH }
    Procedure AsmPcx(buf_addr:pointer; pcx:integer;
                     kol_string:integer; b_str:integer;
                     len_buf:integer; fil:integer;
                     m:integer; n:integer; page:integer);
     { ‚бЇ®¬®Ј*⥫м**п ў*Ґи*пп Їа®Ја*¬¬* ** *бᥬЎ«ҐаҐ ¤«п ўлў®¤* Є*авЁ*ЄЁ }
 
   implementation
 
    Procedure AsmPcx(buf_addr:pointer; pcx:integer;
                     kol_string:integer; b_str:integer;
                     len_buf:integer; fil:integer;
                     m:integer; n:integer; page:integer); external;
    {$L scrpcxaf.obj}
 
    Procedure Trick_EGA;
     { Їа®жҐ¤га* *Ґ®Ўе®¤Ё¬*п ¤«п а*Ў®вл зҐаҐ§ Ї®авл EGA }
     { Ё**зҐ а*Ў®в* Ё¤Ґв *ҐўҐа*® }
     var Pix:word;
     BEGIN
      Pix:=GetPixel(0,0);   { Їа®бв® з¬в*Ґ¬ Ё ўлў®¤Ё¬ ў в® }
      PutPixel(0,0,Pix);    { ¦Ґ ¬Ґбв® в®зЄг ** нЄа**Ґ     }
     END;

    Procedure ShowPcx(Name_Picture:string; x,y:integer; page:word; var error:integer);
 
     { Name_Picture - Ё¬п д*©«* ᮤҐа¦*饣® Є*авЁ*Єг ў бв**¤*а⥠PCX       }
     { x            - Є®®а¤Ё**в* Ї® x ¤«п ўлў®¤* ** нЄа** ( Єа*в*® 8 !!! ) }
     { y            - Є®®а¤Ё**в* Ї® y ¤«п ўлў®¤* ** нЄа**                  }
     { page         - *®¬Ґа бва**Ёжл                                       }
     { error        - Є®¤ ®иЁЎЄЁ                                           }
     {                  0 - *®а¬*«м*®Ґ §*ўҐаиҐ*ЁҐ                          }
     {                  1 - д*©« *Ґ **©¤Ґ*                                 }
     {                  2 - ®иЁЎЄ* ЇаЁ звҐ*ЁЁ ¤***ле                       }
     {                  3 - ўл室 §* Ја**Ёжл нЄа***                        }
 
     var
 
      regs:registers;
      handle:integer;
 
     BEGIN
      name_picture:=name_picture+#0;
      if ( x and 7 ) <> 0 then halt;
      with regs do
       begin
        al:=$0;
        ds:=seg(name_picture);
        dx:=ofs(name_picture[1]);
        ah:=$3d;
        Intr($21,regs);
        handle:=ax;
       end;
      if ( handle <= 4 ) then
                          begin
                           error:=1;    { д*©« *Ґ **©¤Ґ* }
                           exit;
                          end;
      with regs do
       begin
        ah:=$3f;
        bx:=handle;
        ds:=seg(pcxhdr);
        dx:=ofs(pcxhdr);
        cx:=$80;
        Intr($21,regs);
        error:=ax;
       end;
      if (error <= 0 ) then
                        begin
                         error:=2;      { ®иЁЎЄ* ЇаЁ звҐ*ЁЁ ¤***ле }
                         exit;
                        end;
      with regs do
       begin
        ah:=$3f;
        bx:=handle;
        ds:=seg(buf);
        dx:=ofs(buf);
        cx:=len_buf;
        Intr($21,regs);
        error:=ax;
       end;
      if (error <= 0 ) then
                        begin
                         error:=2;      { ®иЁЎЄ* ЇаЁ звҐ*ЁЁ ¤***ле }
                         exit;
                        end;
      delta_x:=pcxhdr.x2-pcxhdr.x1+1;
      delta_y:=pcxhdr.y2-pcxhdr.y1;
      if ( (x+delta_x) > 640 ) or ( (y+delta_y) > 349 )
       then
        begin
         error:=3;    { ўл室 §* Ја**Ёжл нЄа*** }
         exit;
        end;
      n:=delta_x shr 3;
      if ( delta_x and 7 ) <> 0 then
        begin
         m:=$ff shl (8-(delta_x and 7));
         n:=n+1;
        end
                                else m:=$ff;
      if ( n<>pcxhdr.bpl) then
       begin
        pcxhdr.bpl:=pcxhdr.bpl-1;
        n:=1;
       end
                          else n:=0;
      buf_addr:=addr(buf[1]);
      AsmPcx(buf_addr,pcxhdr.bpl,pcxhdr.y2-pcxhdr.y1+1,y*80+(x shr 3),
             len_buf,handle,m,n,page);
      regs.ah:=$3e;
      regs.bx:=handle;
      intr($21,regs);
      error:=0;
      Trick_EGA;
     END;
  END.

Решение задачи: «Проблема с модулем Graph.tpu»

textual
Листинг программы
grOk = 0;{Нет ошибок}

Объяснение кода листинга программы

{Переменные и их значения} grOk := 0;

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы