Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
230401_MU_-_Osnovy_algoritmizatsii_i_programmir...docx
Скачиваний:
12
Добавлен:
01.07.2025
Размер:
1.02 Mб
Скачать
  1. Запрограммируйте команду Файл => Выход главной формы.

  2. Сохраните работу и запустите проект на выполнение.

Убедитесь в правильности работы закладок, комбинированного списка, наличия возможности редактировать поля таблицы и пе­ремещаться по ним с помощью полосы прокручивания. Вызовите окно «О программе» и закройте его клавишейОк. Закончите ра­боту командой Файл => Выход.

17. Опишите глобальные переменные и типы данных програм- мы: тип записи телефонного справочника (info), файл запи- сей (F), переменную типа info (г) и целую переменную коли- чества записей (N).

Для этого перед разделом реализации implementationдобавьте такие команды:

info = record {Типзаписи} familia, imja : string[20]; adres : string[100]; tel : string[15]; end;

{Эта строка уже есть в заготовке модуля}

varPagesDlg : TPagesDlg;

F : file of info; {Файлзаписей}

г :info; {Одна запись}

N :integer; {Количество записей}

18. Добавьте на форму два объекта - стандартные диалоги Windows для открытия и сохранения файлов.

Кнопки Ш (OpenDialog) иВ(SaveDialog) находятся на заклад­ке Dialogs панели компонентов Delphi. На рис. 16 и 17 эти объек­ты расположены в правом верхнем углу формы.

19. Запрограммируйте процедуры открытия и сохранения фай- лов телефонного справочника (команды главного меню «Прочитать из файла» и «Записать в файл»).

procedureTPagesDlg.N3Click(Sender: Tobject); {Здесь N3 - номер ко­манды «Прочитать из файла», у Вас может быть другой номер)

vari : integer;

begin

{Выполнениестандартногодиалога «Ореп file»} if OpenDialogl.Execute then begin

{F — названиевыбранногодиалогомфайла (свойство FileName объекта OpenDialogl)} AssignFile(F, OpenDialogl .FileName); Reset(F);

N := 0; {Читаем с начала файла} {Считываем все записи из файла) whilenoteof(F) dobegin

{В переменную г считываем текущую запись) Read(F, г);

{Фамилия — в первый столбец таблицы)

StringGridl.Cells[0, N+l] := r.familia;

{Имя - во второй столбец таблицы)

StringGridl.Cellsfl, N+l] := r.imja;

{Адрес - в третий столбец таблицы)

StringGridl.Cells[2, N+l] := r.adres;

{Телефон - в четвертый столбец таблицы)

StringGridl.Cells[3, N+l] := г. tel;

N := N + 1; {Увеличиваем общее число записей N)

end;

CloseFile(F); {Закрываем файл) {Описанная ниже процедура заполняет поля редактирования второй страницы формы.)

NewEdit(ComboBoxl); {Описанная ниже процедура заполняет комбинированный список второй страницы формы)

NewComboBox; endend;

procedureTpagesDlg.N4Click(Sender: TObject); {Здесь N4 - номер ко­манды «Записать в файл», у Вас может быть другой номер)

vari : integer;

begin

if SaveDialogl.Execute then begin

AssignFile(F, SaveDialogl .FileName); Rewrite(F); i := 1;

while StringGridl.Cells[3, i] <> " do begin

r.familia := StringGridl.Cells[0, i];

r.imja := StringGridl.Cells[l, i];

r.adres := StringGridl.Cells[2, i];

r.tel := StringGridl.Cells[3, i];

Write(F, r); i := i + 1;

end; CloseFile(F); end end;

20. Напишите процедуру создания формы.

В окне инспектора объектов активизируйте объект PagesDlg (окно формы с многостраничным блокнотом) и дважды щелкните в строке OnCreate (МоментСоздания) закладки Events этого объ­екта. Сформируйте процедуру создания главной формы програм­мы:

procedureTpagesDlg.FormCreate(Sender: TObject); begin

{Заполняем заголовок таблицы) StringGridl.cellsfO, 0] := 'Фамилия'; StringGridl.cells[l, 0] := 'Имя'; StringGridl.cells[2, 0] := 'Адрес'; StringGridl.cells[3, 0] := 'Телефон'; {Создаем пустую строку в комбинированном списке) ComboBox 1.Items.Add(«);

{Активизируем эту строку на случай создания нового справочника} ComboBox 1. Itemlndex:=0; end;