home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / t / ter70.zip / PASCAL._XE / LSTPHONE.PAS < prev    next >
Pascal/Delphi Source File  |  1992-09-26  |  1KB  |  48 lines

  1. Program ListPhoneBook;
  2.  
  3. { A small Terminate utility to show how to use the phonebook }
  4. {       Structures are Copyrighted by Bo Bendtsen 1992       }
  5.  
  6. {$I PHONE.34}
  7.  
  8. Var
  9.   PhoneFile : File;
  10.   x         : Word;
  11.  
  12. Procedure FatalError(s:string);
  13. Begin
  14.   WriteLn('Fatal: '+s+#10#10);
  15.   Halt;
  16. End;
  17.  
  18. Begin
  19.  
  20.   FillChar(PHead34,Sizeof(PHead34),0);
  21.   Assign(PhoneFile,'TERMINAT.FON');
  22.   {$I-} Reset(PhoneFile,1); {$I+}
  23.   If IOResult=0 Then
  24.   Begin
  25.  
  26.     { Read the header in the phone file }
  27.     {$I-} BlockRead(PhoneFile,PHead34,Sizeof(PHead34)); {$I+}
  28.     If IOResult<>0 Then FatalError('Error in start of phonebook');
  29.  
  30.     { Read all records into structure }
  31.     For x:=1 to PHead34.Num Do
  32.     Begin
  33.       New(Ph34[x]); { Reserve memory }
  34.       {$I-} BlockRead(PhoneFile,Ph34[x]^.P,Sizeof(Ph34[x]^.P)); {$I+}
  35.       If IOResult<>0 Then FatalError('Error in phonebook, maybe wrong version');
  36.     End;
  37.  
  38.     Close(PhoneFile);
  39.   End;
  40.  
  41.   { Write all phonenumbers on screen }
  42.   For x:=1 to PHead34.Num Do WriteLn(Ph34[x]^.P.Name);
  43.  
  44.   { Free memory before exiting }
  45.   For x:=1 to PHead34.Num Do Dispose(Ph34[x]);
  46.  
  47. End.
  48.