unit Datei1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  TDaten = record
    Zahl : Integer;
    Text : String[40];
  end;

  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Daten: TDaten;
  Datei: File of TDaten;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  try
    try
      AssignFile (Datei, 'Test.dat');
      Reset (Datei);
      Read (Datei, Daten);
      Edit1.Text := IntToStr(Daten.Zahl);
      Edit2.Text := Daten.Text;
      Panel1.Caption := 'Datei geöffnet';
    except
      Panel1.Caption := 'Dateifehler';
    end;
  finally
    CloseFile (Datei);
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  try
    try
      AssignFile (Datei, 'Test.dat');
      Rewrite (Datei);
      Daten.Zahl := StrToInt(Edit1.Text);
      Daten.Text := Edit2.Text;
      Write (Datei, Daten);
      Panel1.Caption := 'Datei gespeichert';
    except
      Panel1.Caption := 'Dateifehler';
    end;
  finally
    Update;
    CloseFile (Datei);
    Sleep (1000);
  end;
end;

end.
