[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