Ошибка с записью в типизированный файл - Free Pascal

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

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

В строчках под номером 21, 25, 29 при кампиляции кода, выдает ошибку о несовместимости типов. Если, окажется, что ошибку не исправить, то будьте добры, подскажите, как с консоли записать что-либо в типизированный файл.
Program PhoneBook;
Uses
  Crt;
Const
  FName='PhoneBook.txt';
Type
  TPhoneBook=Record
    Name:String;
    SurName:String;
    Number:LongInt;
  end;
Var
  Rab:TPhoneBook;
  F:File of TPhoneBook ;
  Ch:Char;
 
  Procedure InPut;
    begin
      Write('Vvedite Imja: ');
      ReadLn(Rab.Name);
      Write(F,Rab.Name);
     {____________________________}
      Write('Vvedite Familiju: ');
      ReadLn(Rab.SurName);
      Write(F,Rab.SurName);
     {____________________________}
      Write('Vvedite Nomer: ');
      ReadLn(Rab.Number);
      Write(F,Rab.Number);
    end;
 
  Procedure OutPut;
    var
      UName,SUName:String;
    begin
      Write('Vvedite Imja: ');
      ReadLn(UName);
     {_________________________}
      Write('Vvedite Familiju: ');
      ReadLn(SUName);
      While Not EoF(F) do
        begin
          Read(F,Rab);
          If (Rab.Name=Uname) and (Rab.SurName=SUName) then
            WriteLn(Rab.Number);
        end;
    end;
 
Begin
  ClrScr;
  Assign(F,FName);
  Reset(F);
  WriteLn('Jeta programa PhoneBook.');
  WriteLn('Vvoditj nomer i imja: Press "D"');
  WriteLn('Prosmotr nomera po imeni: Press "V"');
  WriteLn('Vixod iz programmi: Press "Q"');
  ReadLn(Ch);
  While (Ch<>'Q') do
    begin
      If Ch='D' then
        InPut// Procedurka, vvoda imeni i nomera telefona
      Else
        OutPut;// Procedurka, vivoda nomera po imeni
      WriteLn('4to delajem dal6e["D"=vvod,"V"=vivod,"Q"=vixod]:');
      ReadLn(Ch);
    end;
  WriteLn('Vsego dobrogo!');
  Close(F);
  ReadKey;
End.

Решение задачи: «Ошибка с записью в типизированный файл»

textual
Листинг программы
ReadLn(Rab.Name);
ReadLn(Rab.SurName);
ReadLn(Rab.Number);
Write(F,Rab);

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

  1. Программа запрашивает и сохраняет в переменных имя, фамилию и номер пациента.
  2. Затем программа пытается записать данные о пациенте в типизированный файл с именем Rab.
  3. Если файл не существует, программа создает его.
  4. Если файл существует, программа открывает его для записи.
  5. Затем программа записывает данные о пациенте в файл.
  6. После успешной записи программа закрывает файл.
  7. Если возникла ошибка при записи в файл, программа выводит сообщение об ошибке и прекращает выполнение.

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

11   голосов , оценка 4.364 из 5