Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   formulario que devuelve record (https://www.clubdelphi.com/foros/showthread.php?t=95689)

oscarac 12-05-2022 05:33:34

formulario que devuelve record
 
buenas noches... tengo una inquietud...

como devolver un record desde un formulario

si fuera una funcion, seria facil, solo invoco a la funcion y listo

_rx esta declarado como record

Código Delphi [-]
_rx := vc(_Cuenta);
dato1 := _rx.variable1;
dato2 := _rx.variable2;
..
..


function vc(_cuenta : string);
result.variable1 := 'valor';
result.variable2 := 'otro valor';

tengo un formulario donde necesito devolver un registro, pero no esta en ninguna funcion... no se si me he dejado entender


pienso que podria pasarlo como parametro al formulario y devolverlo (como ??)

alguna otra idea?

Neftali [Germán.Estévez] 12-05-2022 09:27:24

Tal vez no he entendido bien la pregunta, pero puedes usar una propiedad del Tipo del "record".
Como si fuera de cualquier otro tipo.

Código Delphi [-]
type
  TRegistro = record
    Valor1:string;
    Valor2:string;
  end;

  TForm5 = class(TForm)
     ...
  private
    FRegistro: TRegistro;
  public
    property Registro:TRegistro read FRegistro write FRegistro;
  end;

Y trabajar con ella como con cualquier otra.

oscarac 12-05-2022 20:34:26

si, lo sé, la pregunta es como devuelvo ese récord desde ub formulario... sin usar funciones

movorack 12-05-2022 21:28:53

Hola oscarac. Lamantablemente, tampoco he logrado comprender la solución que buscas o el problema en sí.

En la respuesta de Neftalí se muestra como puedes exponer un record en un objeto de formulario.

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 546841)
Código Delphi [-]
type
  TRegistro = record
    Valor1:string;
    Valor2:string;
  end;

  TForm5 = class(TForm)
     ...
  private
    FRegistro: TRegistro;
  public
    property Registro:TRegistro read FRegistro write FRegistro;
  end;

Una vez expuesta esta propiedad puedes usarla en otro formulario.

Código Delphi [-]
procedure FrmMain.AbrirRegistro(Sender: TObject);
begin
  Form5.Registro.Valor1 := 1;

  if Form5.ShowModal = mrOk then
    ShowMessage(IntToStr(Form5.Registro.Valor2));  
end;

oscarac 13-05-2022 06:25:54

Cita:

Empezado por movorack (Mensaje 546855)
Hola oscarac. Lamantablemente, tampoco he logrado comprender la solución que buscas o el problema en sí.

En la respuesta de Neftalí se muestra como puedes exponer un record en un objeto de formulario.



Una vez expuesta esta propiedad puedes usarla en otro formulario.

Código Delphi [-]
procedure FrmMain.AbrirRegistro(Sender: TObject);
begin
  Form5.Registro.Valor1 := 1;

  if Form5.ShowModal = mrOk then
    ShowMessage(IntToStr(Form5.Registro.Valor2));  
end;

me funciona bien.... muchas gracias


La franja horaria es GMT +2. Ahora son las 07:53:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi