home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / file.pqs / file.pas
Encoding:
Pascal/Delphi Source File  |  1985-11-06  |  4.0 KB  |  135 lines

  1.  
  2. Program DiskFile;
  3.  
  4. {$U+}
  5.  
  6. TYPE
  7.    RECO  =  RECORD
  8.                NAME  :  STRING[12];
  9.                ITE1  :  STRING[12];
  10.                ITE2  :  STRING[12];
  11.                ITE3  :  STRING[12];
  12.                ITE4  :  STRING[12];
  13.                ITE5  :  STRING[12];
  14.             END;
  15.  
  16. VAR
  17.    N        : Integer;
  18.    I        : Integer;
  19.    VARI     : String[12];
  20.    VAR2     : String[12];
  21.    WIND     : File of Reco;
  22.    REC      : RECO;
  23.  
  24.  
  25. PROCEDURE BOX;
  26. BEGIN
  27. LowVideo;
  28. For N := (0) to (30) do BEGIN
  29.                         Gotoxy(40-N,16);  Write(chr(223));
  30.                         Gotoxy(40+N,23);  Write(chr(220));
  31.                         Gotoxy(40+N,16);  Write(chr(223));
  32.                         Gotoxy(40-N,23);  Write(chr(220));
  33.                         END;
  34. For N := (0) to (7) do BEGIN
  35.                        Gotoxy(10,16+N);   Write(chr(219));
  36.                        Gotoxy(70,16+N);   Write(chr(219));
  37.                        END;
  38. NormVideo;
  39. Window(12,17,68,22);
  40. ClrScr;
  41. END;
  42.  
  43.  
  44. PROCEDURE CREATE;
  45. BEGIN
  46. Write ('How many records will the file contain ?  ');  Readln(N);  ClrScr;
  47. Rewrite(Wind);
  48. For I := (1) to (N) DO
  49.                        With Rec DO BEGIN
  50.                                    Write('Enter the name  ');  Readln(Name);
  51.                                    Write('Item 1 is  ');  Readln(ITE1);
  52.                                    Write('Item 2 is  ');  Readln(ITE2);
  53.                                    Write('Item 3 is  ');  Readln(ITE3);
  54.                                    Write('Item 4 is  ');  Readln(ITE4);
  55.                                    Write('Item 5 is  ');  Readln(ITE5);
  56.                                    Write(Wind,Rec);
  57.                                    Clrscr;
  58.                                    END;
  59. END;
  60.  
  61.  
  62. PROCEDURE DISPLAY;
  63. BEGIN
  64. Reset(Wind);
  65. N := FileSize(Wind);
  66. For I := (0) to (N-1) DO
  67.                     With Rec DO BEGIN
  68.                                 Seek(Wind,I);
  69.                                 Read(Wind,Rec);
  70.                                 Writeln(Name,'                  Record number  ',I);
  71.                                 Writeln(Ite1);
  72.                                 Writeln(Ite2);
  73.                                 Writeln(Ite3);
  74.                                 Writeln(Ite4);
  75.                                 Write(Ite5);
  76.                                 Readln;
  77.                                 END;
  78. END;
  79.  
  80.  
  81. PROCEDURE UPDATE;
  82. BEGIN
  83. Reset(Wind);
  84. Write('Please enter the record number  ');  Readln(I);  ClrScr;
  85. Seek(Wind,I);
  86. Read(Wind,Rec);
  87. With Rec DO BEGIN
  88.             Write('Enter the name  ');  Readln(Name);
  89.             Write('Item 1 is  ');  Readln(ITE1);
  90.             Write('Item 2 is  ');  Readln(ITE2);
  91.             Write('Item 3 is  ');  Readln(ITE3);
  92.             Write('Item 4 is  ');  Readln(ITE4);
  93.             Write('Item 5 is  ');  Readln(ITE5);
  94.             Seek(Wind,I);
  95.             Write(Wind,Rec);
  96.             END;
  97. END;
  98.  
  99.  
  100. PROCEDURE APPEND;
  101. BEGIN
  102. Reset(Wind);
  103. With Rec DO BEGIN
  104.             Write('Enter the name  ');  Readln(Name);
  105.             Write('Item 1 is  ');  Readln(ITE1);
  106.             Write('Item 2 is  ');  Readln(ITE2);
  107.             Write('Item 3 is  ');  Readln(ITE3);
  108.             Write('Item 4 is  ');  Readln(ITE4);
  109.             Write('Item 5 is  ');  Readln(ITE5);
  110.             END;
  111. Seek(Wind,Filesize(Wind));
  112. Write(Wind,Rec);
  113. END;
  114.  
  115.  
  116.  
  117. BEGIN
  118. ClrScr;
  119. Writeln('Please identify your purpose  ');
  120. Write('     Create  Display  Update  Append  ');  Readln(Var2);
  121. For I := (1) to Length(Var2) do Var2[I] := UpCase(Var2[I]);
  122. Write('Please enter the name of the file  ');  Readln(Vari);  ClrScr;
  123. Box;
  124. Vari := Vari + '.slv';
  125. Assign(Wind,Vari);
  126. If (Var2 = 'CREATE') then Create
  127.  ELSE If (Var2 = 'DISPLAY') then Display
  128.   ELSE If (Var2 = 'UPDATE') then Update
  129.    ELSE If (Var2 = 'APPEND') then Append
  130.      Else BEGIN Write('. . . Sorry, invalid request !');  Readln;  END;
  131. ClrScr;
  132. Close(Wind);
  133. END.
  134.  
  135.