unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    Label3: TLabel;

    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

 TDatBase = packed record
    Name  : String[30]; // login
    Pass  : String[30]; // haslo
  end;

 const DatName = 'data.dbt';  // w tym pliku przechowywane będą dane

var
  Form2: TForm2;

implementation

{$R *.dfm}


procedure TForm2.Button1Click(Sender: TObject);

  var
  DatBase : file of TDatBase;  // plik typowany
  DB : TDatBase;
  FSize : Integer;
begin
  AssignFile(DatBase, DatName);
  if not FileExists(DatName) then // jeżeli plik nie istnieje...
    ReWrite(DatBase){ stworz go } else ReSet(DatBase); // w przeciwnym wypadku - otwórz

  FSize := FileSize(DatBase); // odczytaj rozmiar pliku
  if FSize > 0 then  // jeżeli cos już w nim jest zapisane...
    Seek(DatBase, FSize); // przesuń na sam koniec

 { przypisz wszystkie dane z komponentów do rekordu  }
  DB.Name := Edit1.Text;
  DB.Pass := MaskEdit1.Text;
  if MaskEdit1.Text <> MaskEdit2.Text
  then Application.MessageBox('Wprowadz takie samo haslo w obu polach','Blad',mb_ok);
  Write(DatBase, DB); // zapisz rekord do pliku
  CloseFile(DatBase); // zamknij
end;

end.
