unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, Calendar, ExtCtrls, ComCtrls, Buttons, OleCtrls, isp3;
type
TForm1 =
class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Edit6: TEdit;
Button5: TButton;
Button4: TButton;
Calendar1: TCalendar;
Image1: TImage;
Label19: TLabel;
Edit4: TEdit;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Edit5: TEdit;
Edit7: TEdit;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
TMitglieder =
record //Record erstellen
vorname:
string[45];
nachname:
string[45];
geburtstag:
string[30];
mitgliedsnummer:
string[20];
StrasseNr:
string[90];
PLZOrt:
string[90];
Team:
string[45];
end;
var //Variable deklarieren
Form1: TForm1;
VD:
file of TMitglieder;
VDsatz:TMitglieder;
i : integer;
implementation
{$R *.DFM}
procedure TForm1.FormActivate(Sender: TObject);
//Beim öffnen des Formulars automatisch datei erstellen
begin
i := 0;
assignfile(VD,'
Mitglieder.dat');
if fileExists('
Mitglieder.dat')
then reset(VD)
else rewrite (VD);
Showmessage ('
In der Datenbank befinden sich ' + inttostr(filesize(VD))+ '
Datensätze');
end;
procedure TForm1.FormClose(Sender: TObject;
var Action: TCloseAction);
//Beim Schließen des Formulars die Datei mit schließen
begin
closefile(VD)
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
while not eof(VD)
do //speichern von Datensätzen, ohne überschreiben + autom. Mitgliedsnummer vergabe + verhindern von doppelten Nummern + sortierung
begin
i:= i+1;
seek(VD, i);
end;
begin
VDsatz.vorname := edit1.text;
VDsatz.nachname := edit2.text;
VDsatz.geburtstag := edit3.text;
VDsatz.mitgliedsnummer := inttostr(filesize(VD));
VDsatz.Team := edit4.text;
VDsatz.StrasseNr := edit5.text;
VDsatz.PLZOrt := edit7.text;
write(VD, VDsatz);
end;
Edit1.Text:='
';
Edit2.Text:='
';
Edit3.Text:='
';
Edit4.Text:='
';
Edit5.Text:='
';
Edit7.Text:='
';
end;
procedure TForm1.Button3Click(Sender: TObject);
//Nächsten Datensatz zeigen
begin
if eof(VD)
then
begin
seek (VD, filepos(VD)-1);
Showmessage('
Letzer Datensatz');
end
else seek (VD, filepos(VD));
begin
read(VD, VDsatz);
label10.caption:= Vdsatz.mitgliedsnummer;
label4.Caption:= VDsatz.vorname;
label5.Caption:= VDsatz.nachname;
label6.Caption:= VDsatz.geburtstag;
label21.caption:= VDsatz.Team;
label26.caption:= VDsatz.StrasseNr;
label27.caption:=VDsatz.PLZOrt;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
//vorherigen Datensatz zeigen
begin
if filepos(VD)= 1
then
begin
seek(VD, FilePos(VD)-1);
Showmessage('
Erster Datensatz');
end
else seek(VD, filepos(VD)-2);
begin
read(VD, VDsatz);
label10.caption:= VDsatz.mitgliedsnummer;
label4.Caption:= VDsatz.vorname;
label5.Caption:= VDsatz.nachname;
label6.Caption:= VDsatz.geburtstag;
label21.Caption:= VDsatz.Team;
label26.caption:= VDsatz.StrasseNr;
label27.caption:=VDsatz.PLZOrt;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
//schließen
begin
close;
end;
procedure TForm1.Button5Click(Sender: TObject);
//Suchen über Vorname
begin
i:=0;
seek (VD, 0);
repeat
read(VD,VDsatz);
if edit6.text = VDsatz.mitgliedsnummer
then
begin
label4.caption := VDsatz.vorname;
label5.caption := VDsatz.nachname;
label6.caption := VDsatz.geburtstag;
label10.caption := VDsatz.mitgliedsnummer;
label26.caption:= VDsatz.StrasseNr;
label27.caption:=VDsatz.PLZOrt;
label21.caption:= VDsatz.Team;
end;
until eof(VD);
end;
end.