Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Llenar un ComboBox en delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=46342)

arespremium 29-07-2007 20:19:11

Llenar un ComboBox en delphi 7
 
Hola estoy empezando con delphi, lo encuentro super bueno.
quiero hacer un ejercicio basico, pero aun no resulta.

Que el ComboBox1 tenga tres opciones, al seleccionar una opcion al darle al Button1 este muestre el mensaje en el Label1 del ComboBox1

Ejemplo:
ComboBox1: (tiene tres opciones a elegir)
opcion 1
opcion 2
opcion 3

Al darle en el botton1 mostrara en el label1, si es opcion 1 o opcion 2 o opcion 3

me entienden?


Button1
ComboBox1
Label1

Ver imagen

dec 29-07-2007 20:21:47

Hola,

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := ComboBox1.Text;
end;

Es decir, la propiedad "Text" del "ComboBox" alberga el texto del elemento seleccionado en este.

roman 29-07-2007 20:24:22

En el evento OnClick del botón pones:

Código Delphi [-]
{
  Te aseguras de que haya un elemento seleccionado.

  ItemIndex es el índice del elemento seleccionado. Si es -1
  es que no hay ninguno seleccionado.
}
if ComboBox1.ItemIndex <> -1 then
  Label1.Caption := ComboBox1.Items[ComboBox1.ItemIndex];

// Saludos

roman 29-07-2007 20:27:54

Cita:

Empezado por dec
Es decir, la propiedad "Text" del "ComboBox" alberga el texto del elemento seleccionado en este.

No exactamente. Text almacena el texto del cuadro de edición del combo. Pero este texto puede no corresponder a ninguno de los elementos del combo.

// Saludos

dec 29-07-2007 20:29:08

Hola,

Llevas razón Román.

MaMu 29-07-2007 23:27:08

Yo agregaria,

Código Delphi [-]
 
ComboBox1.ItemIndex:=0;

Y el procedimiento de Roman, lo pondria en el evento OnChange, para que apenas se muestra el form, ya se este mostranto, puesto a que si esperamos al evento OnClic del ComboBox, se estaria mostranto el texto del Label como "Label1" etc.

Digo esto, para que tengas un tip mas, porque lo anterior esta perfecto.

Saludos

maru1981 30-07-2007 04:48:45

como llamar una tabla a un combobox?
 
hola amigos saben tengo un problema no tengo ni la mas minima idea de como visualizar los datos de una tabla a un combobox1 alguien podria darme un tip
y si tengo mas de 2 campos sera que es posible verlos al mismo tiempo en mi tabla

gracias por su ayuda de antemano..:D

Caral 30-07-2007 04:57:51

Hola
Asi:
Código Delphi [-]
ADoQuery1.SQL.Text := 'Select nive_sall From TuTabla ';
ADoQuery1.Active := True;
While not ADoQuery1.Eof do
begin
Combobox1.Items.Add(ADoQuery1.Fields[0].Text);
ADoQuery1.Next;
Como ves se selecciona el campo, la tabla y se ingresa el dato en el combobox.
Si quieres adherir mas de un campo:
Código Delphi [-]
ADoQuery1.SQL.Text := 'Select nive_sall, salario_sal From TuTabla ';
ADoQuery1.Active := True;
While not ADoQuery1.Eof do
begin
Combobox1.Items.Add(ADoQuery1.Fields[0].Text +'   '+ ADoQuery1.Fields[1].Text);
ADoQuery1.Next;
Saludos

maru1981 30-07-2007 05:20:40

no se por que no se visualiza mira en la propiedad del adoquery SQL string... codeeditor

Código:

ADoQuery1.SQL.Text := 'Select nive_sall From salario';
ADoQuery1.Active := True;
While not ADoQuery1.Eof do
begin
Combobox1.Items.Add(ADoQuery1.Fields[0].Text);
ADoQuery1.Next;
end;

no me manda error y si tengo datos en mi tabla o era en el

Código:

TForm21.ComboBox1Change(Sender: TObject);
que lo tenia que hacer, ya tengo mi ADOconecction

saludos por cierto me da curiosidad tu la foto de nick eres tu o tu hija?

Roymer 30-07-2007 05:45:41

No le resulta más simple cargar la lista del SQL o tabla aun DBComboBox?

Caral 30-07-2007 16:21:23

Hola
No lo pongas en el editor String del adoquery, colocalo en un evento, puede ser en el evento OnCreate del form, asi:
Código Delphi [-]
procedure TForm33.FormCreate(Sender: TObject);
begin
  ADoQuery1.SQL.Text := 'Select nive_sall From salario';
  ADoQuery1.Active := True;
  While not ADoQuery1.Eof do
  begin
  Combobox1.Items.Add(ADoQuery1.Fields[0].Text);
  ADoQuery1.Next;
end;
end;
Asegurate en darle doble click al adoquery, add y colocar el campo en la pantallita, aveces da inconvenientes si el campo no esta ahí.
Saludos

maru1981 30-07-2007 22:56:38

asunto solucionado.
 
:rolleyes::p Gracias caral ya pude hacerlo gracias por tu ayuda y a todos que bueno que existan espacios como este...

arespremium 04-08-2007 01:23:41

entonces seria asi?
ya que si le pongo 1 en "<> -0 then" no me aparece la opcion 1.


if ComboBox1.ItemIndex <> -0 then
combobox1.items.add('opcion 1');
combobox1.items.add('opcion 2');
combobox1.items.add('opcion 3');
Label1.Caption := ComboBox1.Items[ComboBox1.ItemIndex];
end;

maru1981 05-08-2007 01:03:04

otra duda con el combobox!!
 
hola chicos ya me enseñaron a llenar un combobox quisiera saber si puedo hacer lo siguiente:

tengo mi tabla se llama salario y el salario se basa segun el nivel que tenga el trabajador
nivel 18 salario $100p
ya se como obtener mis datos en el combobox de mi tabla pero ahi solo visualizo el nivel ahora quiero que al elegir el nivel me traiga en un edit el sario que le corresponde.

espero haberme explicado saludos desde mexico.:D

eduarcol 05-08-2007 01:59:16

Selecciona un TDBLookupCombobox, y le relacionas en la propiedad ListSource y ListField el dataset que contiene la tabla de salarios, de esta manera siempre que se seleccione unelemento de la lista te aseguras que el registro que corresponda a este se seleccione


La franja horaria es GMT +2. Ahora son las 15:40:11.

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