Как правильно объявить в модуле переменную, тип данных которой описан в основной программе? - Pascal
Формулировка задачи:
Как обратиться из модуля к записе, которая определена в программе?
Например, есть такой код основной программы:
И есть такой модуль, в котором используется тип данных, описанный в основной программе:
Выдаёт ошибку: неизвестное имя TSubsciber.
Пробовал разные варианты и ничего не помогло. Как правильно объявить в модуле переменную, тип данных которой описан в основной программе?
Листинг программы
- uses add_sub1;
- type
- TSubscriber = record
- public
- surname : string[20];
- tel : LongInt;
- end;
- var s : TSubscriber;
- begin
- s.surname := 'asdf';
- s.tel := 1234;
- ad_rec(s);
- end.
Листинг программы
- unit add_sub1;
- interface
- procedure ad_rec(new_s : TSubscriber);
- implementation
- procedure ad_rec(new_s : TSubscriber);
- var f : file of TSubscriber;
- begin
- end;
- end.
Решение задачи: «Как правильно объявить в модуле переменную, тип данных которой описан в основной программе?»
textual
Листинг программы
- unit add_sub1;
- interface
- uses my_record;
- procedure ad_rec(new_s : TSubscriber);
- implementation
- procedure ad_rec(new_s : TSubscriber);
- var s : TSubscriber;
- f : file of TSubscriber;
- begin
- assign(f,'type_file.dat');
- reset(f); // открытие уже существующего
- while not eof(f) do begin
- read(f,s);
- if(s.tel = new_s.tel) then write('Телефоны совпадают');
- end;
- write(f,new_s);
- close(f);
- end;
- end.
Объяснение кода листинга программы
- Создание переменной
new_s
типаTSubscriber
для хранения новой записи в процедуреad_rec(new_s : TSubscriber)
. - Объявление локальных переменных:
s
типаTSubscriber
для временного хранения записи из файла.f
типаfile of TSubscriber
для работы с файлом.
- Присвоение переменной
f
значения 'type_file.dat' с помощью процедуры assign(f,'type_file.dat'), что указывает на файл типаTSubscriber
. - Открытие файла для доступа к его содержимому с помощью процедуры reset(f).
- Цикл чтения записей из файла и проверки на совпадение номеров телефонов, если совпадение найдено, выводится сообщение
Телефоны совпадают
. - Запись новой записи
new_s
в файл с помощью процедуры write(f,new_s). - Закрытие файла с помощью процедуры close(f).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д