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

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

Листинг 8.1. Добавление записей в файл.

unit аррrес_;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs, StdCTRLs, ExtCTRLs;
type
TForm1 = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel;
Edit1: TEdit; // спортсмен
ComboBox1: TComboBox; // страна
ComboBox2: TComboBox; // вид спорта
RadioGroup1: TRadioGroup; // медаль
Buttonl: TButton; // кнопка Добавить
Labels: TLabel;
Label4: TLabel;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction)
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations } public
{ Public declarations } end;
// тип медали
TKind = (GOLD, SILVER, BRONZE);
// запись файла
TMedal= record
country: string [20]; // страна
sport: string [20]; // вид спорта
person: string[40]; // спортсмен
kind: TKind; // медаль
end;
var
Form1: TForm1;
f: file of TMedal; // файл записей – база данных
implementation
{$R *.DFM}
// активизация формы
procedure TForm1.FormActivate(Sender: TObject);
var
resp: word; // ответ пользователя
begin
AssignFile(f, 'a:\medals.db');
{$I-}
Reset (f); // открыть файл
Seek(f, FileSize(f)); // указатель записи в конец файла
{$I!+}
if lOResult = 0
then buttonl.enabled: = TRUE // теперь кнопка Добавить доступна
else begin
resp: = MessageDlg('Файл базы данных не найден.'
+ 'Создать новую БД?', mtlnformation,[mbYes,mbNo],0);
if resp = mrYes then begin {$I-}
rewrite(f); {$!+}
if lOResult = 0
then buttonl.enabled: = TRUE
else ShowMessage('Ошибка создания файла БД.');
end;
end;
end;
// щелчок на кнопке Добавить
procedure TForml.Button1Click(Sender: TObject);
var
medal: TMedal;
begin
with medal do begin
country: = ComboBox1.Text;
sport: = ComboBox2.Text;
person: = Edit1.Text;
case RadioGroup1.Itemlndex of
0: kind: = GOLD;
1: kind: = SILVER;
2: kind: = BRONZE;
end;
end;
write(f,medal); // записать содержимое полей записи в файл
end;
// завершение работы программы
procedure TForm1.FormClose(Sender: TObject;
var
Action: TCloseAction);
begin
CloseFile(f); // закрыть файл
end;
end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.