procedure TStack.Push(a: string);
var P:PNode;
begin
new(P);
P.Next := head;
head := P;
P.Info := a;
Stsize := Stsize + 1;
end;
procedure TStack.Pop (var a: string);
var P: PNode;
begin
if not Empty then
begin
P := FNode;
FNode := P.Next;
a := P.Info;
dispose(P);
end;
end;
{кнопка вставить}
procedure TForm1.Button1Click(Sender: TObject);
var
ch: string;
i: integer;
begin
{Stack := TStack.Create;}
i := 1;
ch := Memo2.Lines [0];
Stack.Push(ch);
{stack.Pop(head); }
inc(i);
end;
{кнопка список}
procedure TForm1.Button2Click(Sender: TObject);
var
P: Pnode;
begin
Memo1.Clear;
New(P);
P := head;
while P <> nil do
begin
Memo1.Lines.Add(P.Info);
P := P.Next;
end;
dispose(p);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
P: PNode;
begin
stolbik:='';
p := head;
Randomize;
for n:= 1 to 10 do
begin
new (p);
p.Info:= IntToStr(Random(15));
stolbik := '';
p.Next := head;
head := p;
stolbik := stolbik + p.Info + #13;
p := p.Next;
end;
end;