Hallo ich bins mal wieder. hier mein neuseste problem.
Delphi-Quellcode:
type
TForm1 =
class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Label2: TLabel;
Button3: TButton;
Memo1: TMemo;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
// hier wirds wichtig...
type tstapel=record
Stack:
ARRAY[0..256000]
of longint;
top:integer;
End;
var
Form1: TForm1;
s: tstapel;
e:integer;
implementation
procedure ErzSt(
var s:tstapel);
begin
s.top:=0
End;
procedure StEl(
var s:tstapel;e:Integer);
Begin
Inc(s.top);
s.Stack[s.top]:=e;
end;
Procedure StLeer(
var s:tstapel;e:integer);
begin
Dec(s.top);
e:=(s.Stack[s.top])
end;
{$R *.dfm}
procedure TForm1.Button3Click(Sender: TObject);
begin
ErzSt(s);
begin
s.top:=0
End;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
e:=StrToInt(edit1.text);
StEl(s,e)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
StLeer(s,e);
memo1.Lines.Add(IntToStr(e));
end;
end.
Das problem ist jetzt: wenn ich etwas vom stapel herunter nehmen will, dann sehebekomme ich als ergebniss immer wieder nur die zuletzt eingestackte zahl...
Button1= Stacken
Button2= Destacken
Button3= Stapel erzeugen
Danke im Vorraus
Ara