Ver Mensaje Individual
  #5  
Antiguo 20-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Segun lo que entiendo y que me corrija ioco OUT indica que las variables traspasan el procedimiento.
Para que este procedimiento funcione se tiene que tratar casi como una funcion.
Hay que declarar el procedimiento completo, donde estan los otros asi:
Código Delphi [-]
    procedure suma1;
    procedure suma2(num1,num2,sumado: String; OUT x: String; OUT b: Boolean);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);

Colocas las variables globales:
Código Delphi [-]
var
  Form1: TForm1;
  x: String;
  b: boolean;
implementation

Luego haces el procedimiento de ioco, asi:
Código Delphi [-]
Procedure TForm1.suma2(num1,num2,sumado: String; OUT x: String; OUT b: Boolean);
begin
  If StrToFloat(num1)+StrToFloat(num2)=StrToFloat(sumado) then
    begin
      x:= sumado;
      b:= true;
    end
  else
    b:= false;
end;
Y luego lo llamas asi:
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
begin
   suma2(Edit2.Text,edit3.Text,edit1.Text,x,b);
  If b = True then
  Showmessage('El resultado es ' + x);
end;
Como ves, en vez de que sea el procedimiento el que contenga los datos, es al llamarlo que se los indicas.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 20-04-2010 a las 21:44:21.
Responder Con Cita