Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторні делфі.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

Лабораторна робота №15 Робота з файлами записів. Об’єкти: таблиця рядків StringGrid, комбінований список ComboBox, редаговані поля Edit. Створення діалогових вікон – запису у файл і відкриття файлу

15.1 Мета роботи:

Ознайомитися з новими компонентами – OpenDialog, SaveDialog. Навчитись опрацьовувати файлові величини.

15.2 Теоретичні відомості

Стандартні діалогові вікна Windows можуть запрограмовуватись в середовищі Delphi. На закладці Dialog палітри компонентів Delphi розміщений ряд невізуальних компонент Windows, серед яких компоненти OpenDialog (відкриття файла) i SaveDialog (Збереження файла). Найважливішим методом цих компонент є функція – Execution (дослівно: “виконання”).У момент виклику цієї функції – наприклад SaveDialog1.Execution – з’являтиметься діалогове вікно – SaveDialog, в якому з потрібним користувачу іменем записується створений ним файл. До інших властивостей цих компонент можна віднести - Title – Заголовок діалогового вікна.

15.3 Хід роботи

15.3.1 Завантажити середовище Дельфі.

15.3.2 Вставити у форму об’єки: Memo (Головне меню), StringGrid (Таблиця рядків).

15.3.3 Надати властивостям StringGrid таких значень щоб в ній містилось два стовпці по 5 рядків. Верхній рядок – фіксований.(ColCount=2, RowCount=5, FixCol=0, FixRow= 1).

15.3.4 Створити підписи на верхньому рядку таблиці – “назва верстату” і “Марка верстату”.“ Для цього в інспекторі об’єктів на закладці Events вибирають подію onCreate і зправа від неї двічі клацають лівою клавішою мишки. Відкривається процедура:

procedure TForm1.FormCreate(Sender: TObject);

ЇЇ слід заповнити в такий спосіб:

begin

StringGrid1.Cells[0,0]:='назва верстату’;

StringGrid1.Cells[1,0]:='марка верстату';

end;

15.3.5 Опрацювати майбутній файл – в який входитимуть назви верстатів і їх марки. Для цього можна створити нову змінну типу record (записи) до якої власне і входитимуть назва і марка конкретного верстату. Для цього перед розділом implemantation оголошують новий тип наприклад – rec, що саме i відноситься до типу record:

rec=record

name, marca:string[10];

end;

15.3.6 Задекларувати глобальні змінні – файл з переліком верстатів, кількість яких – n. Тобто після опису типів описують глобальні змінні:

var

Form1: TForm1;

F:file of rec; { файл з переліком верстатів}

verst:rec; {запис верстату}

n:integer; {кількість верстатів у списку-(файлі)}

15.3.7 Створити процедуру запису у файл – назв верстатів (змінна name) і їх марок(змінна Marca). Для цього використовують одну із кнопок головного меню, наперед надавши її властивості Caption відповідного значення (наприклад “ Зберегти”). Процедура може мати такий вигляд:

procedure TForm1.N4Click(Sender: TObject);{N4 може бути іншим}

var

i:integer;

begin

SaveDialog1.Title:='записати у файл'; {зміна підпису на діалоговому вікні}

if SaveDialog1.Execute then {запуск стандартного діалогового вікнаSaveDialog на виконання}

begin

AssignFile(F,SaveDialog1.FileName); {тут F – назва файлу, }

Rewrite(F);{}

I:=1;

while StringGrid1.Cells[1,i]<>'' do {у файл переписуються всі дані про верстати, аж поки у стовпчику”марка” буде порожня клітинка}

begin

verst.name:=StringGrid1.Cells[0,i]; {вказана назва верстату}

verst.marca:=StringGrid1.Cells[1,i];

Write(F,verst);

i:=i+1;

end;

CloseFile(F);

end;

end;

15.3.8 Аналогічним чином створюють можливість відкрити файл. Процедура може мати такий вигляд:

procedure TForm1.N5Click(Sender: TObject);

begin

OpenDialog1.Title:=’відкрити файл’;

if OpenDialog1.Execute then

begin

AssignFile(F,OpenDialog1.FileName);

Reset(F);

n:=1;

while not eof(F) do

begin

Read(F,verst);

StringGrid1.Cells[0,n]:=verst.name;

StringGrid1.Cells[1,n]:=verst.marca;

n:=n+1;

end;

end;

end;

15.3.9 Запустити програму командою Run.