Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2006
WilloW WilloW is offline
Registrado
 
Registrado: sep 2006
Posts: 5
Poder: 0
WilloW Va por buen camino
Uso del listbox....

Holas que tal tengo una pregunta (disculpen si no me expreso bien), la cosa es asi tengo 2 listbox, 2 gauges y 2 botones. En el listbox1 añado 2 items uno llamado Gauge 100%(en la posicion 0 del itemindex) y otro llamado Gauge 10%(en la posicion 1 del itemindex). En uno de los botones pongo esto
Código Delphi [-]
If listbox1.itemindex = 0 then
               begin
                      listbox2.items.add('Gauge 100%');
               end
               else
                     listbox2.items.add('Gauge 10%');
               end;
En el otro pongo lo siguiente
Código Delphi [-]
If listbox2.itemindex = 0 then
   begin
          gauge1.progress:=100;
   end;
If listbox2.itemindex = 1 then
   begin
          gauge2.progress:=100;
   end;
La pregunta es la siguiente: como veran el 1º boton lo que hace es agregarle un item al listbox bla bla bla... eso es lo que menos me interesa, ahora el segundo boton lo que hace es ver si el itemindex seleccionado es el 0 el progress del gauge1 pasa a ser 100% y si el itemindex es 1 el progress del gauge2 pasa a ser 100%,ahora cual es mi problema se preguntaran? Mi problema es que quiero hacer es lo siguiente quiero que el programa respete un orden que se le ponga en el listbox, porque si en el itemindex 0 del listbox2 agrego el item Gauge 10% lo 1º que se ejecutara es esto
Código Delphi [-]
If listbox2.itemindex = 0 then
   begin
          gauge1.progress:=100;
   end;
Por si no me entienden lo explico de la siguiente manera (por las dudas xD): yo lo que quiero que el programa haga es que respete un orden que el usuario le ponga al listbox por ej que si el usuario quiere que 1º se ponga el gauge2 a 10% se ponga y no que se ponga el gauge1 a 100%.

Gracias y Salu2

PD: disculpen si no me exprese bien cualquier cosa pregunten que se lo intento explicar mejor ^^
Responder Con Cita
  #2  
Antiguo 13-09-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Puedes probar con esto:

Código Delphi [-]
// Agregar datos a los listbox:
ListBox1.AddItem('Gauge 10%', TObject(10));
ListBox1.AddItem('Gauge 100%', TObject(100));

// Obtener el valor para el gauge:
Gauge1.Progress := Integer(ListBox1.Items.Objects[0])


Saludos...
Responder Con Cita
  #3  
Antiguo 13-09-2006
WilloW WilloW is offline
Registrado
 
Registrado: sep 2006
Posts: 5
Poder: 0
WilloW Va por buen camino
No entiendo que es lo que hace eso??
Responder Con Cita
  #4  
Antiguo 14-09-2006
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Lo q hace el codigo puesto por maeyanes es añadir los items con un "objeto asociado", q contiene un valor "Integer" (entero).

Asi pues al hacer click encima de uno de los items del ListBox1 (por ejemplo) puedes obtener su valor y asignarselo al Gauge.

Código Delphi [-]
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Gauge1.Progress := Integer(ListBox1.Items.Objects[ListBox1.ItemIndex]);
end;

Pero de todos modos no entiendo muy bien q es lo q quieres hacer, hehe, si puedes explicarlo de otra forma, te podria ayudar mas hehe.

Saludos.
Responder Con Cita
  #5  
Antiguo 14-09-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Primero que nada, una pequeña disculpa por lo poco parco de mi mensaje anterior. Ya iba de salida del trabajo así que solo puse como lo podrías hacer pensando que te ayudaría de esa forma.

Como bien menciona xEsk, el método AddItem del TListBox te permite agregar un elemento a la lista con un objeto asociado, al pedir como segundo parámetro un TObject hacemos un casting para que acepte el tipo Integer:

Código Delphi [-]
ListBox1.AddItem('Gauge 100%', TObject(100));

Ya teniendo los elementos en el listbox con un objeto asociado, al momento de obtener estos valores, usamos la propiedad Items, que contiene un arreglo con los objetos asociados a los elementos. Los valores de este arreglo se obtienen así:

Código Delphi [-]
  Gauge1.Progress := Integer(ListBox1.Items.Objects[ListBox.ItemIndex]); // Se hace un casting a Integer ya que este es el tipo de datos original.

Con todo esto te ahorras tener un if para comprobar el ItemIndex de cada elemento y también resuelves tu problema de que no importe en que orden metes los porcentajes al listbox.



Saludos...
Responder Con Cita
  #6  
Antiguo 14-09-2006
WilloW WilloW is offline
Registrado
 
Registrado: sep 2006
Posts: 5
Poder: 0
WilloW Va por buen camino
Muchas gracias ahora lo voy a probar a ver si me sirve con lo que estoy haciendo ya que lo del guage era solo un ejemplo cualquier cosa aviso. Salu2!!
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
listbox DM2005 Varios 1 15-09-2006 03:14:53
ListBox Tala OOP 3 21-06-2006 16:31:46
Uso de ListBox Luli Varios 3 14-04-2005 19:26:30
2 Listbox y BD .... elbilla Varios 5 04-11-2004 11:06:12
ListBox neon OOP 2 09-08-2004 11:15:27


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


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