unit zeugnis;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 =
class(TForm)
ButtonSpeichern: TButton;
ButtonAuslesen: TButton;
ButtonBeenden: TButton;
EditSNr: TEdit;
EditName: TEdit;
EditVorname: TEdit;
EditGebDat: TEdit;
EditGebOrt: TEdit;
EditOrt: TEdit;
EditKlasse: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
ButtonClear: TButton;
EditDatensatzNr: TEdit;
Label10: TLabel;
ButtonSchuelerDaten: TButton;
Label11: TLabel;
ButtonEintragSpeichern: TButton;
procedure ButtonBeendenClick(Sender: TObject);
procedure ButtonSpeichernClick(Sender: TObject);
procedure ButtonAuslesenClick(Sender: TObject);
procedure ButtonClearClick(Sender: TObject);
procedure ButtonSchuelerDatenClick(Sender: TObject);
procedure ButtonEintragSpeichernClick(Sender: TObject);
end;
tSNr =
string[5];
tName =
string[20];
tVorname =
string[15];
tGebDat =
string[10];
tGebOrt =
string[15];
tOrt =
string[15];
tKlasse =
string[4];
tSchueler =
record
Nr :tSNr;
//Schuelernummer bzw. Datensatznummer
Name :tName;
//Schuelername
Vorname :tVorname;
//Schuelervorname
Geburtsort :tGebOrt;
//Geburtsort
GebDat :tGebDat;
//Geburtsdatum
Ort :tOrt;
//Wohnort
Klasse :tKlasse;
//Klasse
end;
const Datenpfad='
Schueler.dta';
var
Form1: TForm1;
Datensatz:
array[1..99999]
of tSchueler;
//Array für Schuelerdatensätze
num: integer;
//Datensatznummer
f:
file of tSchueler;
implementation
{$R *.dfm}
procedure Kontrolle;
//Prozedur zum Test, ob einige der bekannten IO-Fehler gefunden werden
begin
case IOResult
of
2:
begin showmessage ('
Datei nicht vorhanden.' +#13+ '
Datei wird angelegt');
rewrite(f);
closeFile(f);
end;
3: showmessage ('
Ungueltiger Dateiname/Pfad');
5: showmessage ('
Dateizugriff verweigert.');
21: showmessage ('
Laufwerk nicht bereit!');
end;
end;
procedure TForm1.ButtonSpeichernClick(Sender: TObject);
//Datenbank abspeichern
var i:integer;
begin
Assignfile (f,Datenpfad);
{$I-} reset (f);
{$T+}
Kontrolle;
if IOResult=0
then
begin
for i:=1
to 99999
do write (f, Datensatz[i]);
closefile (f);
end;
end;
procedure TForm1.ButtonAuslesenClick(Sender: TObject);
//Datenbank laden
var i:integer;
begin
Assignfile (f,Datenpfad);
Kontrolle;
if IOResult=0
then
begin
for i:=1
to 99999
do read (f, Datensatz[i]);
closefile (f);
end;
end;
procedure TForm1.ButtonEintragSpeichernClick(Sender: TObject);
//Schüler-Eintrag speichern
var fehler: boolean;
//Wird true gesetzt, wenn ein Eingabefeld leer ist
begin
fehler:=false;
num:=1;
if length(EditSNr.Text)=0
then fehler:=true
else
begin
num:=StrToInt(EditSNr.Text);
if length(EditSNr.Text)<>0
then Datensatz[num].Nr:= EditSNr.Text
else fehler:=true;
if length(EditName.Text)<>0
then Datensatz[num].
Name:= EditName.Text
else fehler:=true;
if length(EditVorname.Text)<>0
then Datensatz[num].Vorname:= EditVorname.Text
else fehler:=true;
if length(EditGebOrt.Text)<>0
then Datensatz[num].Geburtsort:= EditGebOrt.Text
else fehler:=true;
if length(EditGebDat.Text)<>0
then Datensatz[num].GebDat:= EditGebDat.Text
else fehler:=true;
if length(EditOrt.Text)<>0
then Datensatz[num].Ort:= EditOrt.Text
else fehler:=true;
if length(EditKlasse.Text)<>0
then Datensatz[num].Klasse:= EditKlasse.Text
else fehler:=true;
end;
if fehler=true
then showmessage('
Bitte füllen Sie alle Felder aus!')
else
begin
showmessage('
Eintrag erfolgreich gespeichert');
end;
end;
procedure TForm1.ButtonClearClick(Sender: TObject);
//Felder leeren
begin
EditSNr.Text:='
';
EditName.Text:='
';
EditVorname.Text:='
';
EditGebOrt.Text:='
';
EditGebDat.Text:='
';
EditOrt.Text:='
';
EditKlasse.Text:='
';
end;
procedure TForm1.ButtonSchuelerDatenClick(Sender: TObject);
//Daten zu einem Schüler anzeigen
var i: integer;
//Datensatznummer
begin
i:=StrToInt(EditDatensatzNr.Text);
if (length(EditDatensatzNr.Text)<>0)
and (length(EditDatensatzNr.Text)<=5)
then
begin
EditSNr.Text:=Datensatz[i].Nr;
EditName.Text:=Datensatz[i].
Name;
EditVorname.Text:=Datensatz[i].Vorname;
EditGebOrt.Text:=Datensatz[i].GeburtsOrt;
EditGebDat.Text:=Datensatz[i].GebDat;
EditOrt.Text:=Datensatz[i].Ort;
EditKlasse.Text:=Datensatz[i].Klasse;
end
else showmessage('
Bitte eine gültige Datensatz-Nummer eintragen');
end;
procedure TForm1.ButtonBeendenClick(Sender: TObject);
//Programm beenden
begin
close;
end;
end.