Ver Mensaje Individual
  #13  
Antiguo 06-11-2013
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 santiago14.

Según interpreto de tu mensaje #11:
Código Delphi [-]
indice:=obtener_ItemIndex_segun_codigo('ES001', cbxTipoSolicitud.Items);
El campo código es de tipo string.

Si es así, a diferencia de un valor entero, no es posible hacerlo en forma directa mediante el método AddItem (o AddObject), tendrías que hacer algo como:
Código Delphi [-]
...
implementation

type
  TClase = Class
    Codigo: string;
  end;

var
  Cl : TClase;

function GetIndexObjFromStr(LB: TComboBox; const Value:string): Integer;
var
  i: Integer;
begin
  Result := -1;
  for i:= 0 to LB.Items.Count-1 do
    if Value = TClase(LB.Items.Objects[i]).Codigo then
      Result := i;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  while not IBQuery.Eof do
  begin
    Cl := TClase.Create;
    Cl.Codigo := IBQuery.FieldByName('COD_CLIENTE').AsString;
    ComboBox1.AddItem(IBQuery.FieldByName('NOMBRE_CLIENTE').AsString,
      TObject(Cl));
    IBQuery.Next;
  end;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  with ComboBox1 do
    ShowMessage(Format('%s %s',[Items[ItemIndex],
      TClase(Items.Objects[ItemIndex]).Codigo]));
end;


{ Obtener el índice a partir de la cadena almacenada 
   en la propiedad vectorial Objects }
procedure TForm1.Button1Click(Sender: TObject);
begin
  ComboBox1.ItemIndex := GetIndexObjFromStr(ComboBox1, 'ES001');
end;
...

Saludos
__________________
Daniel Didriksen

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