Ver la Versión Completa : formulario que devuelve record
oscarac
12-05-2022, 05:33:34
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
_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.
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.
;546841']
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.
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
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.
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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.