[Lazarus-es] Uso de par?metros opcionales o polimorfismo.
Ismael L. Donis Garc?a
ismael en citricos.co.cu
Mie Dic 23 21:55:52 CET 2009
Lo que me explicas de dejar por el medio es igual a Visual Basic.
Por lo que veo hay que pasarle valores a los opcionales. Cual sería el valor
para los TStrings
Por ejemplo:
procedure ejecrsbuscar(sqlstr: string; blnopen: boolean; blnwrite: boolean;
LParam: TStrings = a que; LValor: TStrings = a que);
Mira que dentro puse = a que
Aunque como bien dije antes ya lo tengo con polimorfismo. pero bueno es otra
cosa más a conocer.
Lo tengo ahora de la siguiente forma:
procedure Tfrmlogin.ejecrsbuscar();
begin
try try
if trabuscar.Active then trabuscar.Commit;
except on e:exception do
trabuscar.Rollback;
end;
finally
trabuscar.EndTransaction;
end;
rsbuscar.Close;
rsbuscar.SQL.Clear;
end;
procedure Tfrmlogin.ejecrsbuscar(sqlstr: string; blnopen: boolean;
blnwrite: boolean; LParam: TStrings; LValor: TStrings);
var
i: Integer;
begin
ejecrsbuscar();
if blnopen then
begin
rsbuscar.ReadOnly := blnwrite;
rsbuscar.SQL.Text := sqlstr;
for i := 0 to List1.Count - 1 do begin
rsbuscar.Params.ParamByName(LParam[i]).AsString:=LValor[i];
end;
trabuscar.StartTransaction;
rsbuscar.Open;
end;
end;
Saludos Reiterados
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original -----
De: "JoshyFun" <joshyfun en gmail.com>
Para: "Spanish version of Lazarus List"
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: miércoles, 23 de diciembre de 2009 12:44
Asunto: Re: [Lazarus-es]Uso de parámetros opcionales o polimorfismo.
Hello Ismael,
Wednesday, December 23, 2009, 7:14:25 PM, you wrote:
ILDG> Me decidí por el uso de TStringList o mejor dicho: TStrings
ILDG> var
ILDG> Lista: TStrings;
ILDG> begin
ILDG> Lista := TStringList.Create;
Si vas a crear un TStringList declara un TStringList, si vas a crear
un TStrings declara un TStrings.
ILDG> Ahora la pregunta en si:
ILDG> En lazarus existen los parámetros opcionales o es obligado usar
polimorfismo?
Procedure Test(Obligatorio: String; Optional1: Boolean=false; Opcional2:
integer=0);
Puedes hacer:
Test('Hola');
Test('Hola',true);
Test('Hola',true,0);
Pero no:
Test('Hola',,0);
No puedes omitir parámetros "en medio".
--
Best regards,
JoshyFun
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
More information about the Lazarus-es
mailing list