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

    Пример программы

    Следующая программа ведет простую базу данных. При каждом ее запуске на экране появляется диалоговое окно (рис. 7.5), в поля которого пользователь может ввести дату и температуру воздуха.

    Иллюстрированный самоучитель по Delphi 7 для начинающих › Файлы › Пример программы
    Рис. 7.5. Диалоговое окно программы База данных "Погода"

    Дата вводится в поле Edit1, температура – в поле Edit2. Текст программы приведен в листинге 7.3.

    Листинг 7.3. Простая база данных (запись в файл).

    unit pogoda_;
    interface
    uses
    Windows, Messages, SysUtils, Variants, Classes,
    Graphics, Controls, Forms, Dialogs, StdCTRLs;
    type
    TForm1 = class(TForm)
    Edit1: TEdit; // дата
    Edit2: TEdit; // температура
    Button1: TButton; // кнопка Добавить
    Label1: TLabe1;
    Label2: TLabe1;
    procedure FormActivate(Sender: TObject);
    procedure ButtonlClick(Sender: TObject);
    procedure FormClose(Sender: TObject;
    var Action: TCloseAction); private
    { Private declarations } public
    { Public declarations } end;
    var
    Form1: TForm1;
    implementation
    {$R *.dfm}
    const
    DBNAME = 'a:\pogoda .db';
    var
    db: TextFile; // файл – база данных
    procedure TForm1.FormActivate(Sender: TObject);
    begin
    AssignFile(db, DBNAME);. {$I-}
    Append(db); if IOResult = 0 then
    begin
    Edit1.Text: = DateToStr(Date); // получить текущую дату
    Edit2.SetFocus; // курсор в поле Edit2
    end
    else begin
    Rewrite(db); if IOResult <> 0 then begin
    // сделать недоступными поля ввода // и командную кнопку
    Edit1.Enabled: = False; Edit2.Enabled: = False;
    Buttonl.Enabled: = False; ShowMessage('Ошибка создания '+DBNAME);
    end;
    end;
    end;
    // щелчок на кнопке Добавить
    procedure TForml.Button1Click(Sender: TObject);
    begin
    if (Length(edit1.text)=0) or (Length(edit2.text)=0)
    then ShowMessage('Ошибка ввода данных.'
    +#13+'Bce поля должны быть заполнены.')
    else writeln(db, editl.text,' ',edit2.text);
    end;
    // Событие OnClose возникает при закрытии формы
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    CloseFile(db); // закрыть файл БД
    end;
    end.
    
    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.