
     14. 
    ~~~~~~~~~~~~~~~

     ᯥ稢 ணࠬ ,  १    
 । .  ⢥ 䠩  㯠 -
  ,   樨 ⥭/   -
⢫  -  ன⢮,   
, ⠪  ⠭ ।। 䠩  INPUT
 OUTPUT,  ᮮ⢥ ⠭  /뢮-
  -   ࠭ ᯫ.

     ⮨   ᫥⥫쭮    ⮣
 ⨯.  ᫮    䠩 ( )  㪠-
   । 䠩.   ⮣ ࡮-᪠ ᫥
 㯮  䠩   ⠪ 뢠   ,
  ࠧ,   ன ⮩ 䠩 믮
 ⥭  ,  㪠⥫ ⮣ 䠩 த
 ᫥  .  ᪮   䠩 
 ,    ᫥    
.  ࠧ, 㪠⥫ 䠩   ६饭
   䠩,  ᯥ稢 ந 
 .


    । ⨯ 䠩
    ======================

     । ⨯ 䠩 㪠뢠 १ࢨ஢ ᫮-
 FILE  OF,    묨  ᫥  ⨯  ⮣ 䠩.
䨪 䠩  ⥬  ᠬ묨  १ࢨ஢-
묨 ᫮,    묨 ᫥ 䨪 ࠭ ।-
 ⨯ 䠩.

ਬ:
--------

    type
      ProductName = string[80];
      Product = file of record
                          Name: ProductName;
                          ItemNumber: Real;
                          InStock: Real;
                          MinStock: Real;
                          Supplier: Integer;
                        end;
    var
      ProductFile: Product;
      ProductNames: file of ProductName;


     䠩    ⨯,  ᪫祭 ⨯
FILE ( 砥,  ⭮,   ।饬 ਬ -
 "file of Product"   ⨬).


    樨  䠩
    ====================

     뢠  楤,  ।祭  ࠡ⪨
䠩. 祭 FilVar ᮮ⢥ 䨪 ६-
 ⨯ FILE,   ᠭ ࠭.


    楤 ASSIGN
    ----------------
    ⠪: ASSIGN(FilVar,StrExp);

    StrExp -  ப ࠦ,  १⮬ ண -
 ப,  ।⠢  ⨬  䠩.  
 䠩 ᢠ ६  FilVar,      쭥訥
樨   FilVar   ᠬ  믮  ᪮
䠩 StrExp.       믮  
䠩,  室  ࠡ.


    楤 REWRITE
    -----------------
    ⠪: REWRITE(FilVar);

      ᪮ 䠩  ,  ஥ 易  
䠩 ६  FilVar;    䠩  ⠢  
᫥饩 ࠡ⪨,   㪠⥫ ⠭  -
 䠩,  ..     ஬ 0. ᫨  ᪥ ࠭
⢮ 䠩  ⠪  ,      䠩  ࠥ.
᪮ 䠩,  ᮧ ।⢮ 楤 REWRITE, ࢮ-
砫쭮  , ..  ᮤন   .


    楤 RESET
    ---------------
    ⠪: RESET(FilVar);

    ᪮ 䠩  , 易  ६ FilVar, -
⠢  ࠡ⪥,  㪠⥫ ⮣ 䠩 ⠭-
  砫 䠩, .. 㫥 .   㪠
   ⢮,    ⨢  砥  䨪
訡 /뢮.


    楤 READ
    --------------
    ⠪: READ(FilVar,VarList);

    VarList 砥     ६,  ࠧ
묨      ⨯,     䠩 FilVar.
 ६ 뢠  ᪮ 䠩,   ᫥ -
  樨  ⥭  㪠⥫ 䠩 த  ᫥饩
 䠩.


    楤 WRITE
    ---------------
    ⠪: WRITE(FilVar,VarList);

    VarList 砥     ६,  ࠧ
묨     ⨯,     䠩  FilVar.
 ६ 뢠  ᪮ 䠩,   ᫥ 
樨  㪠⥫ 䠩 ६頥  ।  -
.


    楤 SEEK
    --------------
    ⠪: SEEK(FilVar,N);

     楤 ६頥 㪠⥫ 䠩 ⠪,    -
   N-  䠩 FilVar,  N - 楫 ࠦ-
. ࢮ  ᮮ⢥ 祭 N=0. ⨬, 
 ७  䠩  ⠭ 㪠⥫  ,
।⢥ ᫥  ᫥ ⮩ 䠩. 
ࠧ, 

    SEEK(FilVar,FileSize(FilVar));

    ⠭ 㪠⥫  䠩   ⮣ 䠩 (㭪
FileSize 頥 ᫮   䠩,  ᪮ -
 㬥    ,    ᫮    
᫥ ).  楤 SEEK ਬ   ⥪⮢
䠩.


    楤 FLUSH
    ---------------
    ⠪: FLUSH(FilVar);

     楤 "஦"  ७    (ࠧ஬  
 ᥪ ᪠) ᪮ 䠩, 易  䠩 -
 FilVar,   ⥬ ᠬ ᯥ稢  ⮣  
, ᫨      ᫥  ᪠  
- 樨 /뢮. 楤 FLUSH ⠪ ᯥ-
稢 ,   ᫥饩 樨 ⥭ 㤥  ⢨-
⥫쭮 믮 䨧᪮ ⥭  ᪮  䠩.  
ਬ  楤  ⮬ 䠩. 楤 FLUSH -
ਬ  ⥪⮢ 䠩.


    楤 CLOSE
    ---------------
    ⠪: CLOSE(FilVar);

    ᪮ 䠩,  易  FilVar, 뢠  -
  ᪠  ࠦ   ﭨ  䠩.
⨬,   䠩  室  뢠,   ᫨  䠩
ᯮ짮 ⮫쪮  ⥭,    ⨢ 砥  
   ஫ 䠩 ⥬.


    楤 ERASE
    ---------------
    ⠪: ERASE(FilVar);

    ᪮ 䠩, 易  FilVar, ࠥ. ᫨ 䠩 -
, ..  뫨  믮 楤 REWRITE  RESET,  ।
࠭   .


    楤 RENAME
    ----------------
    ⠪: RENAME(FilVar,StrExp);

    ᪮ 䠩,  易  FilVar, 砥  , -
饥 १⮬ ப  ࠦ  StrExp.  
᪠ ,  ᫥騥 樨  FilVar  -
  䠩   .  楤  RENAME  
ਬ  ⮬ 䠩.

    ⨬,  ⢥⢥  , ⮡    뫮
 㦥 饣 䠩,   ணࠬ. ᫨ 
ந諮,   १    ᪥  ᪮쪮 䠩 
묨 .    㭪  頥   祭
TRUE, ᫨  䠩  ,  ।   ⢥ ࠬ,
  ᪥,  FALSE  ⨢ 砥.

    type
      Name = string[14];
    . . .
    . . .
    function Exist (FileName: Name): boolean;
    var
      Fil: file;
    begin
      Assign (Fil,FileName);
      {$I-} Reset (Fil); {$I+}
      Exist:=(IOresult=0);
      {$I-} Close (Fil); {$I+}
      if (IOresult=0) then;
    end;



     ⠭ 㭪樨
    ============================

     ᫥ ࠧ ᬠਢ ⠭ 㭪-
樨, ।祭    ࠡ  䠩,    
࡮-᪠.

    㭪 EOF
    -----------
    ⠪: EOF(FilVar)

     㭪 ⨯ BOOLEAN 頥  TRUE,  ᫨  㪠⥫
樮  殬 ᪮ 䠩, .. ᫥ ᫥
 䠩. ᫨ , 頥 祭 FALSE.


    㭪 FILEPOS
    ---------------
    ⠪: FILEPOS(FilVar)

    㭪 ⨯ INTEGER, 頥  ,  -
 ⠭ 㪠⥫ 䠩.  ࢮ  -
 .


    㭪 FILESIZE
    ----------------
    ⠪: FILESIZE(FilVar)

    㭪 ⨯ INTEGER,  頥 ࠧ  ᪮  䠩,
ࠦ    ⢮        ⮬  䠩.  ᫨
FILESIZE (FilVar) ࠢ ,  䠩 .    -
.


    ᯮ짮 䠩
    ====================

    । ᯮ짮  䠩  室  맢  楤
ASSIGN   ᢮  䠩 ६ ⨯ FILE.  ।
믮 権 /뢮 䠩    ⥬
맮 楤  REWRITE    RESET.   맮 ⠭
㪠⥫ 䠩       ᪮  䠩,  ..
FILEPOS (FilVar) ࠢ 0. ᫥ 맮 楤 REWRITE -
 FILESIZE (FilVar) ࠢ 0.
    ᪮ 䠩     ७ ⮫쪮 ⥬ 
   饣 䠩.  ⥫  䠩  
 ६饭   饣 䠩   :

    SEEK (FilVar,FileSize(FilVar));

     ணࠬ  稢 樨 /뢮  䠩-
,  ᥣ   䠩   맮  楤
CLOSE. 믮  ⮣    ਢ      ,
᪮  ᪠  㤥 .
    ਢ     ணࠬ    ᮧ    ᪮   䠩
PRODUCT.DTA  뢠   䠩 100 ᥩ ⨯  Product.
 ᠬ  䠩 樠  ᫥饣 ந쭮
㯠 (..     ⠭    ᠭ    
 䠩).

    program InitProductFile;
    const
      MaxNumberOfProducts = 100;
    type
      ProductName = string[20];
      Product = record
                  Name: ProductName;
                  ItemNumber: Integer;
                  InStock: Real;
                  Supplier: Integer;
                end;
    var
      ProductFile: file of Product;
      ProductRec: Product;;
      i: Integer;

    begin
      Assign (ProductFile,'PRODUCT.DTA');
      { ⨥ 䠩  㭨⮦   }
      Rewrite (ProductFile);
      with ProductRec do
        begin
          Name:='';
          InStock:=0;
          Supplier:=0;
          for i:=1 to MaxNumberOfProducts do
            begin
              ItemNumber:=i;
              Write (ProductFile,ProductRec);
            end;
        end;
      Close (ProductFile);
    end.


     ணࠬ 뢠 ᯮ짮 楤 SEEK
 䠩  ந 㯮. ணࠬ  䠩
PRODUCT.DTA, ᮧ ணࠬ  ।饣 ਬ.

    program UpdateProductFile;
    const
      MaxNumberOfProducts = 100;
    type
      ProductName = string[20];
      Product = record
                  Name: ProductName;
                  ItemNumber: Integer;
                  InStock: Real;
                  Supplier: Integer;
                end;
    var
      ProductFile: file of Product;
      ProductRec: Product;;
      i,Pnr: integer;

    begin
      Assign (ProductFile,'PRODUCT.DTA');
      Reset (ProductFile);
      ClrScr;
      Write ('Enter product number (0-stop) ');
      Readln(Pnr);
      while Pnr in [1..MaxNumberOfProducts] do
        begin
          Seek (ProductFile,Pnr-1);
          Read (ProductFile,ProductRec);
          with ProductRec do
            begin
             Write('Enter name of product (',Name:20,')  ');
             Readln(Name);
             Write('Enter number in stock (',InStock:20:0,')  ');
             Readln(InStock);
             Write('Enter supplier number (',Supplier:20,')  ');
             Readln(Supplier);
             ItemNumber:=Pnr;
            end;
          Seek(ProductFile,Pnr-1);
          Write(ProductFile,ProductRec);
          ClrScr;
          Writeln;
          Write('Enter product number (0-stop) ');
          Readln(pnr);
        end;
      Close (ProductFile);
    end.




    ⮢ 䠩
    ===============

     ⫨稥  㣨 ⨯ 䠩    ࣠-
 ᪮쪮 ᫮,  祬  ᫥⥫쭮 祭
ண ⨯.   묨 ⠬  ⥪⮢  䠩
 ᨬ (⨯ CHAR),   ᨬ 㯯஢  -
,    稢    (
 CR/LF).  ᥣ 䠩 ⬥砥 ਧ 
 (CTRL-Z). ᪮  ப  , -
  ப  䠩    ᫥.  ⮬ ⥪⮢
䠩  ࠡ뢠 ⮫쪮 ᫥⥫쭮.   ⮣, 
⥪⮢  䠩   ६ 믮   -
.


    樨  ⥪⮢묨 䠩
    -------------------------------

    ६ ⨯ ⥪⮢ 䠩    뫪
 ⠭ 䨪 ⨯ TEXT.  ᥬ   -
 䠩  ।⢮ 맮 楤 ASSIGN  
 楤 REWRITE  RESET.

    楤 REWRITE  ᯮ  ᮧ  ⥪-
 䠩,   ⢥ ࠧ襭 樥   -
     䠩.  楤 RESET -
 㦥 騩 ⥪⮢ 䠩  ⥭,  ⢥
ࠧ襭 樥   ⠪ 䠩  ᫥⥫-
 ⥭.   ⨨ ⥪⮢ 䠩   ⮬᪨
 ਧ  䠩.

    樨   뢮  ⥪⮢묨 䠩  믮
⠭묨 楤ࠬ  READ   WRITE.   ࠡ⪨ ப 
⥪⮢ 䠩 㦠 ᯥ樠 楤 READLN, WRITELN 
㭪 EOLN.

     祭 FilVar 㤥 ᮮ⢥⢮  䨪-
 ६ ⨯ TEXT.


    楤 READLN
    - - - - - - - - -
    ⠪: READLN(FilVar);

    믮 த   砫  ᫥饩  ப,  ..
ய᪠     । 樨 CR/LF,  
.

    楤 WRITELN
    - - - - - - - - -
    ⠪: WRITELN(FilVar);

     ⥪⮢ 䠩 뢠 ਧ    ப,  ..
 CR/LF.


    㭪 EOLN
    - - - - - - -
    ⠪: EOLN(FilVar)

    ᪠ 㭪 EOLN 頥 祭 TRUE,  ᫨ 
⨣  ⥪饩 ப, .. ᫨ 㪠⥫ 䠩 -
  ᨬ CR ਧ  ப CR/LF.  ᫨ 祭
EOF(FilVar) ࠢ  TRUE,    祭 EOLN(FilVar) ⠪ ࠢ
TRUE.

    㭪 SEEKEOLN
    - - - - - - - - -
    ⠪: SEEKEOLN(FilVar)

     㭪 ࠡ⠥ 筮 EOLN,  । ஢મ 
稥 ਧ    ப   ய᪠ ஡  
⠡樨.   ⨯ BOOLEAN.


    㭪 SEEKEOF
    - - - - - - - -
    ⠪: SEEKEOF(FilVar)

     㭪 ࠡ⠥ 筮 EOF,   । ஢મ 
稥 ਧ  䠩  ய᪠ ஡,   -
樨   ਧ  ப (樨 CR/LF).  
 ⨯ BOOLEAN.

    ਬ⥫쭮  ⥪⮢  䠩  㭪  EOF  頥
祭 TRUE,  ᫨ 㪠⥫ 䠩 樮஢  ਧ
 䠩 (ᨬ CTRL-Z).  楤 SEEK  FLUSH,    ⠪
㭪樨 FILEPOS  FILESIZE  ⥪⮢ 䠩 ਬ.

    ணࠬ, ਢ  ᫥饬 ਬ,  ⠥  ᪠
⥪⮢ 䠩    ⠥   ⠭⭮ ன⢥ LST -
ਭ.   ᫮    䠩,    ࠬ  ᨬ
CTRL-S,   ન.

    program TextFileDemo;
    var
      FilVar: text;
      Line,
      ExtraLine: string[255];
      i: Integer;
      UnderLine: Boolean;
      FileName: string[14];

    begin
      UnderLine:=False;
      Write('Enter name of file to list: ');
      Readln(FileName);
      Assign(FilVar,FileName);
      Reset(FilVar);
      While not Eof(Filvar) do
        begin
          Readln(Filvar,Line);
          i:=1;
          ExtraLine:='';
          for i:=1 to Length(Line) do
            begin
              if Line[i]<>^S then
                 begin
                   Write(Lst,Line[i]);
                   if UnderLine then
                      ExtraLine:=ExtraLine+'_'
                   else
                      ExtraLine:=ExtraLine+' ';
                 end
              else
                 UnderLine:=not UnderLine;
            end;
          Write(Lst,^M);
          Writeln(Lst,ExtraLine);
        end;
      Close(FilVar);
    end.


    쭥訥 ७ 楤 READ  WRITE,  -
 ࠡ ଠ஢ /뢮, ᠭ  ࠧ-
 "楤  READ"  "楤 WRITE" ࠧ "  -
 ⥪" 饩 .


    ᪨ ன⢠
    ---------------------

     ࡮-᪠ 譨 ன⢠,  ⠪    ନ,
騥 ன⢠,    ᬠਢ   
, ࠡ  묨  ࠡ  ⥪⮢묨  䠩-
. ⨬ ᫥騥 ᪨ ன⢠:

    CON: ᮫쭮 ன⢮.  뢮 ᨬ ࠢ
          ᮫쭮 ன⢮ 뢮 樮  ⥬,
         筮 ᯫ,      ଠ ਭ 
         ᮫쭮 ன⢠  - .    ⫨稥
          ன⢠ TRM:  ன⢮ CON: ᯥ稢 -
         ਧ .  ⪮ ,  砥,  -
          맮  READ  READLN  ⥪⮢ 䠩,  -
           ன⢮ CON: ,  楫 ப  -
          ப,       ।⠢
            ।  ।஢.   쭥訥
         ஡   ᮫ ᠭ   ᫥
         ࠧ.
    TRM: ନ쭮  ன⢮.  뢮 ᨬ ࠢ-
            ᮫쭮  ன⢮  뢮   樮
         ⥬, 筮 ᯫ,    ଠ ਭ-
           ᮫쭮 ன⢠ , 筮  -
         .  ᨬ ᮯ஢ 宬  ࠭ (
         ᪫祭 ࠢ ᨬ). ⢥  -
         ࠢ ᨬ,    ࠦ  ࠭ -
           ⪨  (CR),  祬  ⮡ࠦ  ⮣
         ᨬ 룫廊  CR/LF.
    KBD:  (⮫쪮   ).  ந    
         ᮫쭮 ன⢠ 樮 ⥬  .
    LST: ன⢮  (⮫쪮  뢮).  뢮 ᨬ-
          뫠  ⥬ ன⢮  (筮
         ਭ).
    AUX: ᯮ⥫쭮 ன⢮.  뢮 ᨬ 뫠-
           ⥬ ன⢮  樨  (PUN:)  ,  
           ଠ  ਭ    ⥬ -
         ன⢠   䮫 (RDR:).  筮  ⨬  -
         ன⢠ ᮮ⢥ .
    USR: ன⢮ 짮⥫.  뢮 ଠ ।-
          짮⥫᪮ ணࠬ 뢮,    
         ଠ樥 ந 饭   짮⥫᪮
         ணࠬ .    ᠭ  ᫥-
         饬 ࠧ "짮⥫᪨ ࠩ /-
         ".

      ⨬ ᪨ ன⢠   १  ⠭-
 䠩 ( 㦤 ),   㣮  ஭  ⠪
ன⢠   ਢ뢠  䠩 ६ ।⢮
楤 ASSIGN  筮 ⠪,       ᪮묨
䠩.  䠩, 易  ᪨ ன⢮, -
 REWRITE  RESET 믮   ⢨,  楤
CLOSE  믮  ⢨,  ⪠ 믮 -
 ERASE  ⠪ 䠩 ਢ  訡 /뢮.

    ⠭ 㭪樨  EOF    EOLN    ᪨
ன ,  祬  ᪮ 䠩.   ᪮ 䠩
EOF 頥  TRUE,    ᫥騬 ᨬ 䠩 
ᨬ CTRL-Z  ᫨ ⨣ 䨧᪨   䠩.  EOLN
頥 TRUE, ᫨ ᫥騬 ᨬ  ᨬ CR 
CTRL-Z.  ࠧ, EOF  EOLN  䠪᪨ 㭪ﬨ
"ᬮ ।".

    ᪮  "ᬮ ।"   ᪮  -
ன⢥. 㭪樨  EOF    EOLN ࠡ  ᫥ ⠭
ᨬ,    ᫥騬 ᨬ. EOF 頥 TRUE, ᫨
᫥ ⠭ ᨬ  ᨬ CTRL-Z,  EOLN -
頥 TRUE,  ᫨ ᫥ ⠭ ᨬ   ᨬ  CR
 CTRL-Z.   ⠡ 14-1  ࠧ ਠ  ࠡ
㭪権 EOF  EOLN.

                                                   14-1

    Ŀ
                  䠩               .ன 
    Ĵ
    EOLN - ᫨ ᫥騩 ᨬ - ᫨ ⥪騩 ᨬ- 
    頥 TRUE    CR  CTRL-Z,  ᫨  CR  CTRL-Z 
                 EOF 頥 祭                   
                 TRUE                                      
    Ĵ
    EOF -  ᫨ ᫥騩 ᨬ - ᫨ ⥪騩 ᨬ- 
    頥 TRUE    CTRL-Z,  ⨣    CTRL-Z        
                 䨧᪨  䠩                    
    


    楤 READLN  ⠪  ࠡ⠥ -ࠧ  ᪨
ன   ᪮ 䠩.   ᪮ 䠩  -
 뢠  ᨬ   ப,   ᫥-
⥫쭮 CR/LF,  ⮣   ᪨ ன    ⠥
⮫쪮 ப    ᨬ CR.  稭 ⮣  -
 "ᬮ ।"  ᪨ ன⢠, .. -
   ।,   ᨬ 㤥 ᫥  ᨬ-
 CR.




    짮⥫᪨ ࠩ /뢮
    --------------------------------------

       ਫ    ணࠬ  ॡ-
 ᮧ ᢮ ᮡ⢥ ࠩ஢  /뢮,  ..
ணࠬ,   ⢫   뢮   䨧-
᪮ ஢,  ..  ࠡ ।⢥  譨  -
ன⢠.   ਢ ᯨ᮪ ࠩ஢,   
 । ࡮-⥬  ᯮ ⠭묨  ࠩ-
ࠬ /뢮 (     㯭묨  ⢥
⠭ 楤  㭪権):

    function  ConSt: Boolean;
    function  ConIn: Char;
    procedure ConOut (Ch: Char);
    procedure LstOut (Ch: Char);
    procedure AuxOut (Ch: Char);
    function  AuxIn: Char;
    procedure UsrOut (Ch: Char);
    function  UsrIn: Char;

    ணࠬ ConSt 뢠 㭪樥 KEYPRESSED, ண-
ࠬ ConIn  ConOut ᯮ ன⢠ CON:  ,  TRM:  
KBD: ,  ணࠬ  LstOut  ᯮ  ன⢮ LST:  ,
ணࠬ AuxOut  AuxIn ᯮ ன⢮ AUX:  , ,
, ணࠬ  UsrOut   UsrIn ᯮ ன⢮
USR: .

     㬮砭   ࠩ ᯮ ᮮ⢥騥 窨
室 ⥬ BIOS 樮 ⥬ CP/M.    ண-
ࠬ     ⠭,  ᢮   -
  ६  ᠭ  楤   㭪-
樨 ࠩ:

    ६:       ন :

    ConStPtr          㭪樨   ConSt
    ConInPtr          㭪樨   ConIn
    ConOutPtr         楤 ConOut
    LstOutPtr         楤 LstOut
    AuxOutPtr         楤 AuxOut
    AuxInPtr          㭪樨   AuxIn
    UsrOutPtr         楤 UsrOut
    UsrInPtr          㭪樨   UsrIn

    । 짮⥫ 楤   㭪  ࠩ
 㤮⢮ ਢ  ॡ, .. ࠩ
ConSt   㭪樥 ⨯ BOOLEAN,  ࠩ ConIn  
 㭪樥 ⨯ CHAR  ..


    ⠭ 䠩
    -----------------

     ⢥ ୠ⨢ 祭 ⥪⮢  䠩  -
᪨ ன ࡮-᪠ । ᪮쪮 ⠭
⥪⮢ 䠩,  ⮢  ࠡ⪥,   㦥  祭
ᮮ⢥騥 ᪨ ன⢠.   ࠧ, ⯠
室  ⨨  ⨨ ⠪ 䠩,  ஬  ⮣,
ᯮ짮 ⠭  䠩 㬥蠥  ࠡ祩 ண-
ࠬ.  ਢ ᯨ᮪ ⠭ 䠩:

    Input  ࢨ 䠩 .  ⮬ 䠩   -
           祭   ன⢮  CON:  ,  ⠪  ன⢮ TRM:
           (쭥訥 ஡ .).
    Output ࢨ 䠩 뢮.  ⮬ 䠩 ⠪  
           祭  ன⢮ CON:  ,  ⠪    ன⢮
           TRM: .
    Con    祭 ᮫쭮 ன⢮ CON: .
    Trm    祭 ନ쭮 ன⢮ TRM: .
    Kbd    祭  KBD: .
    Lst    祭 ன⢮  LST: .
    Aux    祭 ᯮ⥫쭮 ன⢮ AUX: .
    Usr    祭 ன⢮ 짮⥫ USR: .

    ⨬,  ᯮ짮   䠩 楤 ASSIGN,
RESET, REWRITE, CLOSE  ⮫쪮 楫ᮮࠧ,    ࠧ-
蠥.

    ᫨  맮 楤 READ  㪠 䨪 䠩,
  楤 ᥣ 뢠 ப,     ⮬  砥,
᫨   ப    ᪮쪮 , 
  ⠭;  祬  楤    CTRL-Z,
⠪     㦤 稢 ப ⨥ 
RETURN. ⨥   RETURN  ᮯ஢ 宬,   
७ ।⠢ ப ࠭     -
 ࠢ騬 ᨬ CTRL-Z.  ⥫쭮,  ᫨  ப
  ᮤন  祭,  祬 ࠬ஢  ᯨ᪥ 
맮 楤 READ,   譨 ६ ⨯ CHAR -
  祭 CTRL-Z,  ६ ⨯ STRING  묨,  
᫮ ६ ⠭ 묨.

    ४⨢   B  ࠢ  ⮫쪮    ᠭ
᢮⢮ "ਭ㤨⥫쭮 ⥭".  㬮砭 ࠧ㬥-
 ﭨ {$B+} ⮩ ४⨢,   ⮬ ﭨ 
READ     䠩  ६  ᥣ  뢠
ப   ᮫.  ᫨   砫 ணࠬ (। ࠧ
ᠭ) 饭 ४⨢ {$B-},   㪮祭  READ
( 䠩  ६) 㤥 ࠡ ⠪,   ᫨  
㪠 ⠭ 䠩 INPUT, ..

    READ(X1,X2,..,Xn) ࠢ READ (INPUT,X1,X2,..,Xn)

      ⮬ 砥 ப  ⮫쪮 ⮣,    
ப ᢮.  ﭨ {$B-} ४⨢  B -
⢥ । -뢮  ⠭⭮  ᪠,  
ﭨ {$B+}, ࠧ㬥  㬮砭,    -
 ᮮ⢥ ⠭,       ࠢ
ﬨ .

    -⮡ࠦ    ࠭  :   ⮣
㦭   ⠭⭮ 䠩 KBD:

    READ (Kbd,Ch)

    ᪮ ⠭  䠩  INPUT    OUTPUT ᯮ
祭 ,  롨  㬮砭,   맮 -
楤  㭪樨   㪠 䨪 䠩.  ᫥-
饬 ᯨ᪥  ਢ ᮪饭 ᨨ 権  ⥪⮢묨
䠩    :

    Write(Ch)       Write(Output,Ch)
    Read(Ch)        Read(Input,Ch)
    WriteLn         WriteLn(Ooutput
    ReadLn          ReadLn(Input)
    Eof             Eof(Input)
    Eoln            Eoln(Input)

     ணࠬ  ᯮ짮 ⠭⭮-
 䠩 LST  ᯥ⪨  ਭ 䠩 PRODUCT.DTA (
䠩  ᮧ ணࠬ  ࠧ "ਬ 䠩" 
14).

    program ListProductFile;
    const
      MaxNumberOfProducts = 100;
    type
      ProductName = string[20];
      Product = record
                  Name: ProductName;
                  ItemNumber: Integer;
                  InStock: Real;
                  Supplier: Integer;
                end;
    var
      ProductFile: file of Product;
      ProductRec: Product;;
      i: Integer;

    begin
      Assign (ProductFile,'PRODUCT.DTA');
      Reset (ProductFile);
      for i:=1 to MaxNumberOfProducts do
        begin
          Read(ProductFile,ProductRec);
          with ProductRec do
            begin
              if Name<>'' then
                 Writeln(Lst,'Item: ',ItemNumber:5,'  ',
                         Name:20,'  From: ',Supplier:5,
                         ' Now in stock:  ',InStock:0:0);
            end;
        end;
      Close (ProductFile);
    end.
