Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mt-l6.doc
Скачиваний:
0
Добавлен:
18.01.2020
Размер:
320 Кб
Скачать

7

УПР 6. ЗАПИСИ+ТИПИЗИР.ФАЙЛЫ + StringGrid+Menu + 25 ЗАДАНИЙ

С оздание редактора для работ с типизированными файлами

  1. Создание макета формы.

    1. Разместите на форме меню, таблицу, значки диалогов.

  2. Создание структуры меню.

Создайте точно такое же меню, как в предыдущем задании

  1. Создание заглушек обработчиков событий.

  2. Добавление глобальных переменных, представляющих текущее состояние процесса обработки данных.

    1. Переменная S:string должна представлять спецификацию файла, обрабатываемого в текущий момент. Её пустое значение будет обозначать, что данные таблицы StringGrid1 еще не сохранены в файле.

    2. П

      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 для пустой таблицы, при сохранении таблицы или при загрузке в таблицу данных из файла.

  3. Объявление типов данных

    1. данные, представляющие информацию о студентах разных групп: порядковый номер в списке, имя группы, фамилия и три оценки. Переменные, представляющие эту информацию, будут иметь тип

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. Процедура установки параметров таблицы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]