
- •С оздание редактора для работ с типизированными файлами
- •Создание структуры меню.
- •Создание заглушек обработчиков событий.
- •Добавление глобальных переменных, представляющих текущее состояние процесса обработки данных.
- •Объявление типов данных
- •Создание обработчиков событий.
- •Задания для самостоятельного выполнения Общее для всех заданий
УПР 6. ЗАПИСИ+ТИПИЗИР.ФАЙЛЫ + StringGrid+Menu + 25 ЗАДАНИЙ
С оздание редактора для работ с типизированными файлами
Создание макета формы.
Разместите на форме меню, таблицу, значки диалогов.
Создание структуры меню.
Создайте точно такое же меню, как в предыдущем задании
Создание заглушек обработчиков событий.
Добавление глобальных переменных, представляющих текущее состояние процесса обработки данных.
Переменная S:string должна представлять спецификацию файла, обрабатываемого в текущий момент. Её пустое значение будет обозначать, что данные таблицы StringGrid1 еще не сохранены в файле.
П
procedure TForm1.FormCreate(Sender: TObject);
begin
//Обработчик события СОЗДАНИЯ ФОРМЫ
//При создании формы считать,
//что таблица не модифицирована,
TabModified:=false;
//разрешить редактировать текст в ячейках
Form1.StringGrid1.Options:=Form1.StringGrid1.Options
+[goEditing];
//УСТАНОВКА ШИРИНЫ СТОЛБЦОВ, ВЫВОД ЗАГОЛОВКОВ СТОЛБЦОВ и
//ШИРИНЫ ОКНА ПОД ТАБЛИЦУ ДЛЯ ДАННЫХ ИЗ ФАЙЛА (см. тип tz, ftz)
TabForFile;//своей процедурой
//Пока S='', редактируемый текст не сохранен в файле
S:='';//а в дальнейшем S может представлять
//спецификацию файла.
end;//procedure TForm1.FormCreate(Sender: TObject)
Рис. 2. Обработчик события создания формы
еременная TabModified: Boolean будет использоваться как признак, получающий значение true при всяком изменении содержимого таблицы, и значение false для пустой таблицы, при сохранении таблицы или при загрузке в таблицу данных из файла.
Объявление типов данных
данные, представляющие информацию о студентах разных групп: порядковый номер в списке, имя группы, фамилия и три оценки. Переменные, представляющие эту информацию, будут иметь тип
tz=record No:byte; Gr:string[8]; FIO:string[12];
o1,o2,o3:2..5 end; (лучше оценки объявить как массив o:array[1..3] of 2..5;)
Соответственно типизированные файлы
tfz=file of tz;
Разместите объявление этих типов в части реализации.
procedure TabForFile;
var i:integer;
begin
//УСТАНОВКА ПАРАМЕТРОВ ОСНОВНОЙ ТАБЛИЦЫ ДЛЯ
//ДАННЫХ ИЗ ФАЙЛА ГРУПП (см. тип tz, ftz)
//УСТАНОВКА ЧИСЛА СТРОК И СТОЛБЦОВ
Form1.StringGrid1.ColCount:=6;
//число строк задать по максимально
//возможному числу студентов в группах
Form1.StringGrid1.RowCount:=2;
//УСТАНОВКА ШИРИНЫ СТОЛБЦОВ
Form1.StringGrid1.ColWidths[0]:=20;
Form1.StringGrid1.ColWidths[1]:=60;
Form1.StringGrid1.ColWidths[2]:=120;
Form1.StringGrid1.ColWidths[3]:=60;
Form1.StringGrid1.ColWidths[4]:=60;
Form1.StringGrid1.ColWidths[5]:=60;
//ВЫВОД ЗАГОЛОВКОВ СТОЛБЦОВ
Form1.StringGrid1.Cells[0,0]:=' №';
Form1.StringGrid1.Cells[1,0]:=' ГРУППА';
Form1.StringGrid1.Cells[2,0]:=' ФАМИЛИЯ';
Form1.StringGrid1.Cells[3,0]:='о1';
Form1.StringGrid1.Cells[4,0]:='о2';
Form1.StringGrid1.Cells[5,0]:='о3';
//ЗАДАНИЕ ШИРИНЫ ОКНА ТАБЛИЦЫ
Form1.StringGrid1.Width:=0;
for i:=0 to 5 do
Form1.StringGrid1.Width:=Form1.StringGrid1.Width
+Form1.StringGrid1.ColWidths[i];
end;//procedure TabForFile;
Рис. 3. Процедура установки параметров таблицы