Lo que Delphius te dijo es:
Código Delphi
[-]
unit Pilas;
interface
const max=10;
type
tdato=char;
type
tpila=class
public
cima:0..max;
elem:array[1..max]of tdato;
function vacia:boolean;
function llena:boolean;
Constructor Create;
Destructor Destroy;
procedure poner (var ele:tdato);
procedure sacar (var ele:tdato);
end;
implementation
function tpila.vacia:boolean;
begin
vacia:=(cima=0);
end;
function tpila.Llena:boolean;
begin
llena:=(cima=max);
end;
Constructor tpila.Create;
begin
inherited; cima:=0;
end;
Destructor Tpila.Destroy;
begin
inherited;
end;
procedure tpila.poner(var ele:tdato);
begin
cima:=cima+1;
elem[cima]:=ele;
end;
procedure tpila.sacar(var ele:tdato);
var
i:integer;
begin
for i:=1 to cima-1 do
elem[i]:=elem[i+1];
cima:=cima-1
end;
end.
Y la forma de usarlo:
Código Delphi
[-]
procedure comienzo;
var
pila:tpila;
i:integer;
palabra:string;
begin
i:=0;
palabra:=form1.Edit1.Text;
pila := Tpila.create; while (not pila.llena) and (form1.Edit1.Text[i+1]<>'') do
begin
i:=i+1;
pila.poner(palabra[i]);
end;
end;
Eso sin ver los fallos internos que pueda tener la pila, que no lo he mirado
Saludos