Иллюстрированный самоучитель по Delphi 7 для начинающих

Ввод и вывод записей в файл. Вывод записи в файл.

В представленной программе процедура TForm1.FormActivate открывает файл базы данных для добавления. Здесь следует обратить внимание на то, как это реализовано. Процедуру AppendFile, которая открывает файл для добавления в конец, использовать нельзя, т. к. файл не является текстовым. Поэтому файл сначала открывается процедурой Rewrite в режиме перезаписи, а затем процедура Seek устанавливает указатель чтения/записи в конец файла. Параметром процедуры seek является функция Fiiesize, значение которой равно размеру файла (в байтах).

Процедура TForm1.Button1Click, которая запускается нажатием кнопки Добавить (Button1), выполняет непосредственное добавление записи в файл. Поля country и sport добавляемой записи заполняются из свойства Text комбинированных списков Страна (comboBox1) и Вид спорта (ComboBox2).

Поле person формируемой записи заполняется из поля ввода Спортсмен (компонент Edit1), а содержимое поля medal определяется выбранной кнопкой компонента RadioGroup1.

Процедура TForm1.FormClose закрывает файл базы данных поскольку тип TMedal используется двумя процедурами(TForm1.FormActivate и TForm1.Button1Сlick), то его описание помещено в раздел type модуля формы. Объявление файловой переменной f по этой же причине помещено в раздел объявления переменных модуля формы.

В приведенном варианте программы предполагается, что списки стран и названий видов спорта формируются при помощи редактора списка строк во время разработки формы. Вместе с тем, список можно сформировать во время разработки программы. Для этого надо к свойству items применить метод Add. Например, список стран может быть сформирован при помощи следующих инструкций (их нужно поместить в процедуру Tform1.FormActivate):

Form1.ComboBox1.Item.Add('Россия');
Form1.ComboBox1.Item.Add('Австрия');
Form1.ComboBox1.Item.Add('Германия');
Form1.ComboBox1.Item.Add('Франция');
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.