home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1998 February / PCOnline_02_1998.iso / filesbbs / dos / t_fonpwd.arj / PHONEPWD.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-12-06  |  1.3 KB  |  57 lines

  1.  
  2. {$I PHONE.PAS}
  3.  
  4. Var
  5.   PhoneFile : File;
  6.   Pt        : PhoneRec;
  7.   Entry     : Word;
  8.   Err       : Word;
  9.  
  10. Procedure FatalError(s:string);
  11. Begin
  12.   WriteLn(s+#10#10);
  13.   Halt;
  14. End;
  15.  
  16.  
  17. Begin
  18.  
  19.   WriteLn(#13#10'Terminate 3 -> Phonebook Password Insert -> FREEWARE by Bo Bendtsen'#10);
  20.  
  21.   If Paramcount<>3 Then
  22.   Begin
  23.     WriteLn('Syntax : Phonebook Entry Password');
  24.     WriteLn('Example: TERMINAT.FON 4 SECRET');
  25.     Halt;
  26.   End;
  27.  
  28.   Assign(PhoneFile,Paramstr(1));
  29.  
  30.   {$I-} Reset(PhoneFile,1); {$I+}
  31.   If IOResult<>0 Then FatalError('Error opening '+Paramstr(1));
  32.  
  33.   {$I-} BlockRead(PhoneFile,PHead,Sizeof(PHead)); {$I+}
  34.   If IOResult<>0 Then FatalError('Error in start of phonebook');
  35.  
  36.   Val(Paramstr(2),Entry,Err);
  37.   If Entry>PHead.Num Then FatalError('Entry number out of range');
  38.  
  39.   {$I-} Seek(PhoneFile,Entry*Sizeof(Pt)+Sizeof(Phead)); {$I+}
  40.   If IOResult<>0 Then FatalError('Error reading phonebook');
  41.  
  42.   {$I-} BlockRead(PhoneFile,Pt,Sizeof(Pt)); {$I+}
  43.   If IOResult<>0 Then FatalError('Error in phonebook');
  44.  
  45.   Pt.Password:=Copy(Paramstr(3),1,Sizeof(Pt.Password)-1);
  46.  
  47.   {$I-} Seek(PhoneFile,Entry*Sizeof(Pt)+Sizeof(Phead)); {$I+}
  48.   {$I-} BlockWrite(PhoneFile,Pt,Sizeof(Pt)); {$I+}
  49.   If IOResult<>0 Then FatalError('Error writing to phonebook');
  50.  
  51.   Close(PhoneFile);
  52.  
  53.   WriteLn('Password inserted for: '+Pt.Name);
  54.  
  55. End.
  56.  
  57.