Yo tengo un procedimiento que me rellena los items de un ComboBox.
Items es una lista a la que puedes agregar un texto y un puntero mediante AddObject(Texto, Puntero);
El truco está en utilizar el valor del puntero y entenderlo como un entero en el que guardas valores numéricos (Normalmente le ID del elemento).
Código Delphi
[-]
procedure TDMMain.RellenaEpoca(Lista: TStrings);
var
Epoca : string;
NroEpoca : integer;
begin
Lista.Clear;
Selec.Close;
Selec.Open;
Selec.Last;
Selec.First;
While not Selec.Eof do
begin
Epoca := 'Epoca ' + IntToStr(SelecEPOCA_NUM.Value)
NroEpoca := SelecEPOCA_NUM.Value;
Lista.AddObject(Epoca, Pointer(NroEpoca));
Selec.Next;
end;
end;
Luego lo utilizo así:
Código Delphi
[-]
procedure TForm.FormCreate(Sender: TObject);
begin
RellenaEpoca(ComboEpoca.Itmes);
ComboEpoca.ItemIndex := 0;
end;
procedure TForm.ButtonClick(Sender: TObject);
var
Epoca : string;
NroEpoca : integer;
begin
Epoca := ComboEpoca.Text;
NroEpoca := integer(ComboEpoca.Items.Objects[ComboEpoca.ItemIndex]);
Edit1.Text := 'Epoca seleccionada ' + IntToStr(Epoca);
Edit2.Text := 'Nro de Epoca seleccionada ' + IntToStr(NroEpoca);
end;