Eso no compilará jamás en Delphi porque Delphi es OO.
Ese programa está hecho para Pascal, programación procedural.
Otra cosa, este procedimiento
Código Delphi
[-]
procedure Desempilar(Var Pila ; x:char);
begin
if PilaVacia(P)
then
showmessage('la pila esta vacia')
else
begin
x:=P[tope];
tope:=tope-1;
end;
end;
no te va a devolver nada porque el parámetro
x está pasado por valor y no por referencia. Tendrías que pasarlo por referencia (
var) para que te devuelva algo (o mejor, hacer una función).
Si es otro el problema, avisá y miro lo demás.