Ver Mensaje Individual
  #3  
Antiguo 25-04-2006
Avatar de alekandro
alekandro alekandro is offline
Registrado
 
Registrado: abr 2006
Posts: 3
Reputación: 0
alekandro Va por buen camino
Unhappy Debe ser otra cosa

Gracias Delphius por la ayuda, pero me sigue diciendo las mismas cosas.
El problema me parece que viene por otro lado. Te muestro el procedimiento que lo llama es asi:

Código Delphi [-]
 procedure comienzo;
  var
   pila:tpila;
   i:integer;
   palabra:string;
 begin
   i:=0;
   palabra:=form1.Edit1.Text;
   pila.crear;
   while (not pila.llena) and (form1.Edit1.Text[i+1]<>'') do
    begin
      i:=i+1;
      pila.poner(palabra[i]);
    end;
 end;
Cuando lo compilo me dice:
[Warning] Main.pas(38): Variable 'pila' might not have been initialialized.

Asi me quedo la unit de pilas, luego de los consejos que me diste. Quizas estoy haciendo algo mal aqui:
Código Delphi [-]
  unit Pilas;
   interface
    const max=10;
    type
     tdato=char;
    type
     tpila=class
       public
       // variables públicas
       cima:0..max;
       elem:array[1..max]of tdato;
       // procedimientos y funciones
       function vacia:boolean;
       function llena:boolean;
       procedure crear;
       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;
  procedure tpila.crear;
   begin
    cima:=0;
   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.

Si lo ejecuto linea a linea, cuando entra en el pila.crear cuando le va a asignar a cima 0, es cuando ocurre la catastrofe, jajaj

Delphius de verdad, gracias por tu ayuda.

Última edición por alekandro fecha: 25-04-2006 a las 15:44:09.
Responder Con Cita