Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2017
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Hola de neuvo.

Siguiendo el consejo de ecfisa y variando un poco la salida de datos, he conseguido que en el combobox pueda seleccionar el campo Epoca (texto) y ver en un edit el campo Epoca_Num (numero).

Código Delphi [-]
procedure TF_Sel_Epoca.FormCreate(Sender: TObject);
begin
        Selec1.Open;
        while not Selec1.Eof do
        begin
                ComboBox1.AddItem(Selec1EPOCA.AsString, TObject(Selec1EPOCA_NUM.AsInteger));
                Selec1.Next;
        end;
        Selec1.Close;

        Selec2.Open;
        while not Selec2.Eof do
        begin
                ComboBox2.AddItem(Selec2EPOCA.AsString, TObject(Selec2EPOCA_NUM.AsInteger));
                Selec2.Next;
        end;
        Selec2.Close;
end;

Código Delphi [-]
procedure TF_Sel_Epoca.ComboBox1Click(Sender: TObject);
var
        cb: TComboBox;
        num: Integer;
        epo: string;
begin
        cb  := TComboBox(Sender);      // SelecEPOCA
        epo := cb.Items[cb.ItemIndex]; // SelecEPOCA_NUM
        num := Integer(cb.Items.Objects[cb.ItemIndex]);
        Edit1.Text:=IntToStr(num);
end;

He probado a variar los parametros para que el combobox mostrara el campo Epoca_num y el edit el campo Epoca sin resultado satisfactorio.

Es posible hacerlo?

Gracias

La opcion de duilioisola no he podido probarla ya que no consigo declarar el procedure o lo declaro mal o en sitio erroneo.

Josep
Responder Con Cita
  #2  
Antiguo 28-11-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 Josep.

No alcanzo a interpretar la situación, ¿ Los datasets Selec1 y Selec2 hacen referencia a la misma tabla ?

Por que si lo que necesitas es lo que indicabas en tu primer mensaje:
Cita:
Empezado por jafera Ver Mensaje
Hay algun método que me muestre al lado del combobox el valor del campo Epoca con el valor que le corresponde de la consulta cuando le de click en el combo box?
basta con que, por ejemplo, situes un Label al lado del ComboBox y el siguiente código:
Código Delphi [-]
procedure TF_Sel_Epoca.FormCreate(Sender: TObject);
begin
  Selec.Open;
  while not Selec.Eof do
  begin
    ComboBox1.AddItem(SelecEPOCA.AsString, TObject(SelecEPOCA_NUM.AsInteger));
    Selec.Next;
  end;
  Selec.Close;
end;

procedure TF_Sel_Epoca.ComboBox1Click(Sender: TObject);
var
  cb: TComboBox;
begin
  cb := TComboBox(Sender);
  Label1.Caption := IntToStr( Integer(cb.Items.Objects[cb.ItemIndex]) );
end;
Así el valor EPOCA se muestra al lado del ComboBox (en el Label)

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 28-11-2017
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Gracias Ecfisa

Igual no me acabo de explicar yo correctamente.
Lo que me gustaria es que en el Combo se cargara el campo numerico Epoca_Num (Int) y en un edit o label se mostrara el valor de Epoca (Text).
Actualmente la carga es al revés en el combo va Epoca (text) y en el edit Epoca_Num (Int)

Saludos

Josep
Responder Con Cita
  #4  
Antiguo 28-11-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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.

Ahora si entendí, un modo de hacerlo puede ser este:

Código Delphi [-]
...
implementation

var
  TS: TStringList;

procedure TF_Sel_Epoca.FormCreate(Sender: TObject);
begin
  TS := TStringList.Create;
  Selec.Open;
  while not Selec.Eof do
  begin
    TS.Add(SelecEPOCA.AsString);
    ComboBox1.Items.Add(SelecEPOCA_NUM.AsString);
    Selec.Next;
  end;
  Selec.Close;
  ComboBox1.ItemIndex := -1;
end;

procedure TF_Sel_Epoca.ComboBox1Click(Sender: TObject);
var
  cb: TComboBox;
begin
  cb := TComboBox(Sender);
  Label1.Caption := TS[cb.ItemIndex]
end;

...

procedure TF_Sel_Epoca.FormDestroy(Sender: TObject);
begin
  TS.Free;
end;

end.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 29-11-2017
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Gracias por la respuesta Daniel.

Ha funcionado perfecto, es exactamente lo que queria conseguir.
En vez de pasar el valor a la label lo paso al edit y queda mas estetico.....

Saludo y repito, gracias.

Josep
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Campo clave y campo valor en un ComboBox santiago14 Varios 12 06-11-2013 15:14:55
Consultar un dato asociado a un max(campo) Gaim2205 SQL 2 04-08-2008 15:08:19
Filtrar un campo en un ComboBox zeta2 Varios 12 02-07-2008 11:17:41
Lookup y campo asociado Vlady OOP 3 06-02-2008 21:29:13
DBCheckBox asociado a un campo Memo gluglu Varios 3 01-10-2004 10:02:22


La franja horaria es GMT +2. Ahora son las 18:54:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi