Ver Mensaje Individual
  #3  
Antiguo 25-02-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Como te sugiere iMia, los combos cumplen muy bién la tarea que buscas.
Código Delphi [-]
...
implementation

// cargar nombre y código de perfil
procedure LoadComboBox(DS: TDataSet; CB: TComboBox);
begin
  DS.DisableControls;
  try
    DS.First;
    CB.Clear;
    while not DS.Eof do
    begin
      CB.AddItem(DS.FieldByName('NOMBRE_PERFIL').AsString,
        TObject(DS.FieldByName('CODIGO_PERFIL').AsInteger));
      DS.Next;
    end;
    DS.First;
  finally
    DS.EnableControls;
  end;
end;

// devuelve el código de perfil actual
function GetProfileCode(CB: TComboBox): Integer;
begin
  Result := Integer(CB.Items.Objects[CB.ItemIndex]);
end;

 { Ejemplo de uso }
procedure TForm1.FormCreate(Sender: TObject);
begin
  Tu_DataSet.Open;
  LoadComboBox(Tu_DataSet, ComboBox1);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
var
  cb: TComboBox;
  code: Integer;
begin
  cb   := TComboBox(Sender);
  code := GetProfileCode(CB);
  ShowMessage(Format('%s: %d',[cb.Items[cb.ItemIndex], code]));
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 25-02-2016 a las 11:19:47.
Responder Con Cita