[Lazarus-es] devolver valor de un form
JoshyFun
joshyfun en gmail.com
Dom Jun 14 16:28:22 CEST 2009
Hello Paola,
Sunday, June 14, 2009, 2:35:14 PM, you wrote:
>>Por el estilo de código da la sensación de que has pasado mucho tiempo
>>con Visual Basic :)
PB> no!!! sólo hace ya bastantes años tuve que
PB> mantener un sistema heredado horriblemente mal programado!!
:)
>>El "descubrimiento" automático de métodos al
[...]
PB> sólo he seguido los consejos de Carlos, y es lo
PB> que me ha salido!! intenté usar el concepto de
PB> propiedades, tal como tb se explica en "la biblia de delphi 7".
PB> Ahora, cómo resolverías tu esto??
PB> Agradezco cualquier sugerencia
Creas un form que busque el cliente, por el método que creas
conveniente, vamos que cuando pulses el botón "OK" o "Aceptar" del
form el código de cliente esté en algún sitio. Ahora vas a ese form y
en el apartado de "Public" añades:
public
Property IDCliente: integer read GetIDCliente();
Pulsas Shift+Ctrl+C para que te autocomplete el código y te creará una
function del tipo:
-----------------
function frmBuscaCliente.GetIDCliente(): Integer;
begin
end;
-----------------
Dentro de esta función pones algo así:
Result:=StrToInt(Text1.Text);
o
Result:=StrToInt(Label1.caption);
o
Result:=Dataset.FieldByName('CLIENTID').asInteger;
O lo que haga falta para que el "Result" sea el valor del ClientID.
En el formulario principal, desde el que vas a llamar al buscador de
clientes:
Uses ..., frmBuscaCliente;
[......]
procedure Loquesea();
var
BuscaCliente: TfrmBuscaCliente;
ElCodigoDeCliente: Integer;
begin
[...]
ElCodigoDeCliente:=-1; //Valor inválido.
try
BuscaCliente:=TfrmBuscaCliente.Create(Self);
if BuscaCliente.ShowModal<>mrCancel then begin
ElCodigoDeCliente:=BuscaCliente.IDCliente;
end else begin
//Se ha cancelado la búsqueda
Exit; //Por ejemplo.
end;
finally
FreeAndNIL(BuscaCliente); //Libera el formulario.
end;
[...]
end;
Yo haría algo así...
--
Best regards,
JoshyFun
More information about the Lazarus-es
mailing list