Добавление записи в файлDelphi , Синтаксис , Записи и МножестваДобавление записи в файлunit apprec_; 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; // медаль Button1: TButton; // кнопка Добавить Label5: TLabel; Label4: TLabel; procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button1Click(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 IOResult = 0 then button1.enabled := TRUE // теперь кнопка Добавить доступна else begin resp := MessageDlg('Файл базы данных не найден.' + 'Создать новую БД?', mtInformation, [mbYes, mbNo], 0); if resp = mrYes then begin {$I-} rewrite(f); {$I+} if IOResult = 0 then button1.enabled := TRUE else ShowMessage('Ошибка создания файла БД.'); end; end; end; // щелчок на кнопке Добавить procedure TForm1.Button1Click(Sender: TObject); var medal: TMedal; begin with medal do begin country := ComboBox1.Text; sport := ComboBox2.Text; person := Edit1.Text; case RadioGroup1.ItemIndex 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.Скачать весь проект Перевод контента на русский язык: Этот проект Delphi добавляет записи в файловую базу данных, когда пользователь кликает кнопку "Добавить" на форме. Вот разбивка кода: Form1 Форма имеет несколько компонентов: три лейбла, два комбо-бокса, один текстовый редактор, одна группа радио-кнопок и одна кнопка. Комбо-боксы позволяют пользователю выбрать страну и спорт, а текстовый редактор позволяет ввести имя атлета. Группа радио-кнопок имеет три опции для медалей (золото, серебро, бронза). Кнопка используется для добавления новой записи в базу данных. TMedal Это тип записи, представляющий собой одиночную запись в базе данных. Он имеет четыре поля:
FormActivate Процедура вызывается, когда форма становится активной. Она проверяет, существует ли файл и открывает его в режиме чтения-записи. Если файл не существует, она спрашивает пользователя создать новый. Button1Click
Процедура вызывается, когда пользователь кликает кнопку "Добавить". Она читает значения из комбо-боксов, текстового редактора и группы радио-кнопок, создает новую запись FormClose Процедура вызывается, когда форма закрывается. Она закрывает файл. Предложения по улучшению 1. Обработка ошибок: код не обрабатывает ошибки должным образом. Например, если файл не может быть открыт или записан, программа будет завершаться аномально. 2. Валидация данных: код предполагает, что пользователь вводит корректные данные. Может быть полезно добавить проверки для обеспечения корректности ввода (например, проверка выбранного значения в комбо-боксе). 3. Формат файла: формат файла не указан, что может сделать чтение или изменение данных позднее сложным. 4. Управление базой данных: если база данных растет, может быть полезно использовать более robust систему управления базами данных, такие как реляционная система управления базами данных (RDBMS) вместо простого текстового файла. Вот пример улучшения обработки ошибок:
В этом коде используется блок В статье описывается добавление записи в файл, используя Turbo Pascal. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Записи и Множества ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |