Einzelnen Beitrag anzeigen

Arathok

Registriert seit: 29. Mai 2008
Ort: Saalfeld
13 Beiträge
 
#1

Stack-Problem kann nur ein Element Stapeln!

  Alt 6. Nov 2008, 08:32
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
  Mit Zitat antworten Zitat