[Lazarus-es] Load combobox

Fredy Gonzales fredyg1965 en gmail.com
Mar Jun 16 06:14:50 CEST 2009


Gracias,

Trabaja perfecto.

FG
----- Original Message ----- 
From: "Jesus Reyes" <jesusrmx en yahoo.com.mx>
To: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Sent: Monday, June 15, 2009 10:25 PM
Subject: Re: [Lazarus-es] Load combobox



>
> SetLength(aItems, DataModule1.lstempresa.RecordCount);
>
> nCont:=1;
> while Not DataModule1.lstempresa.EOF Do
> begin
>cboempresa.Items.Add(DataModule1.lstempresa.FieldByName('emp_razsoc').AsString);
>
> aItems[nCont]:=DataModule1.lstempresa.FieldByName('emp_id').AsString;


Suponiendo que emp_id es de tipo entero quizas puedas hacer algo como esto:

cboEmpresa.Items.AddObject(
  DataModule1.lstempresa.FieldByName('emp_razsoc').AsString,
  TObject(PtrInt(DataModule1.lstempresa.FieldByName('emp_id').AsInteger))
);

De tal manera que cuando uses OnChange u OnSelect del combo y necesites el 
valor del emp_id, puedes recuperarlo con:

Id := PtrInt(cboEmpresa.Items.Objects[cboEmpresa.ItemIndex]));

De esta forma y al costo del feo casting te ahorras algo de codigo y te 
evitas el manejo del array que como has comprobado puede llegar a causar 
confusion al tener que manter paralelamente sincronia entre los elementos.

Saludos.

Jesus Reyes A.



      ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo 
Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=mx

_______________________________________________
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