Else begin
resp:=MessageDlg('Файл базы данных не найден.'
+ 'Создать новую БД?', mtlnformation,[mbYes,mbNo],0);
if resp = mrYes then begin{$I-}
rewrite(f); {$!+}
iflOResult = 0
then buttonl.enabled:=TRUE
elseShowMessage('Ошибка создания файла БД.');
End;
End;
End;
// щелчок на кнопке Добавить
procedureTForml.Button1Click(Sender: TObject);
var
medal: TMedal;
Begin
with medal do begin
country := ComboBox1.Text;
sport := ComboBox2.Text;
person := Edit1.Text;
caseRadioGroup1.Itemlndex of
0: kind := GOLD;
1: kind := SILVER;
2: kind := BRONZE;
End;
End;
write(f,medal); // записать содержимое полей записи в файл
End;
// завершение работы программы
procedureTForm1.FormClose(Sender: TObject;
Var
Action: TCloseAction);
Begin
CloseFile(f); // закрыть файл
End;
End.
В представленной программе процедура TForm1.FormActivate открывает файл базы данных для добавления. Здесь следует обратить внимание на то, как это реализовано. Процедуру AppendFile, которая открывает файл для добавления в конец, использовать нельзя, т. к. файл не является текстовым. Поэтому файл сначала открывается процедурой Rewrite в режиме перезаписи, а затем процедура Seek устанавливает указатель чтения/записи в конец файла. Параметром процедуры seek является функция Fiiesize, значение которой равно размеру файла (в байтах).
Процедура TForm1.Button1Click, которая запускается нажатием кнопки Добавить(Buttoni), выполняет непосредственное добавление записи в файл. Поля country и sport добавляемой записи заполняются из свойства Text комбинированных списков Страна(comboBoxi) и Вид спорта (ComboBox2).
Поле person формируемой записи заполняется из поля ввода Спортсмен(компонент Editi), а содержимое поля medal определяется выбранной кнопкой компонентаRadioGroupl.
Процедура 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('Франция');
Дата добавления: 2014-12-01; просмотров: 952;