unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tperson =
record
Name:
string;
id:integer;
end;
Tschlange =
class
private
next,max:integer;
schlange :
array [1..10]
of tperson;
public
function einfuegen(x:tperson):boolean;
constructor create;
end;
TForm1 =
class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FSchlange : Tschlange;
public
{ Public declarations }
end;
var
Form1: TForm1;
myschlange:Tschlange;
myrec : Tperson;
implementation
{$R *.dfm}
constructor tschlange.create;
begin
next :=10;
max := 10;
end;
function tschlange.einfuegen(x: tperson):boolean;
var i:integer;
begin
//hinter dem Array kann man nichts mehr einfügen
Result := Next >0;
if Result
then
begin
//Daten an aktuelle Array-Position schreiben
schlange[Next].
Name := x.
Name;
schlange[Next].Id := x.id;
//Position abziehen
dec(Next);
end
else // wenn next = 0 ist
begin
for i:=9
downto 1
do
schlange[i+1]:=schlange[i];
showmessage('
Fehler');
// Test , ob was gemacht wird , wenn next =0 ist
end;
end;
procedure recordirgendwas;
begin
myschlange.einfuegen(myrec);
myrec.
Name := form1.edit1.text;
myrec.id := strtoint(form1.edit2.text);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
recordirgendwas;
showmessage(inttostr(myrec.id));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Fschlange := Tschlange.create;
end;
end.