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-02-2007
Avatar de darkphantom
darkphantom darkphantom is offline
Miembro
 
Registrado: may 2006
Ubicación: Villahermosa, Tabasco, México
Posts: 22
Poder: 0
darkphantom Va por buen camino
Question Dudas con un CheckList...

veamos tengo estas dudas:

1. como controlo los items seleccionados? necesito seleccionar 4 de una lista.... si los "selecciono" si se, pero al deseleccionar????

2. le puedo poner "iconitos" dentro?? he visto hacerlo en un LiSTBOX por eso pregunto.

3. komo obtengo los items completos ?? por ejemplo le pongo al item "cuadrado" y me envia "uadrado".

por el momento estas son mis dudas......alguien me ayuda?
se los agradeceria mucho.
__________________
The night is my kingdom and when the night start...i'm just become in your GOD
Responder Con Cita
  #2  
Antiguo 28-02-2007
Avatar de joHn je@N
joHn je@N joHn je@N is offline
Miembro
 
Registrado: jun 2005
Ubicación: Toluca, Mexico
Posts: 44
Poder: 0
joHn je@N Va por buen camino
veamos

Espero te ayude. Nunca he usado ese componente(soy novato pero, con ganas de ayudar). Y logre esto:

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject); 
begin    
ckbox.AddItem('item ' + IntToStr(ckbox.Count + 1), self);    
Label1.Caption := 'Has agregado ' + 'item ' + IntToStr(ckbox.Count); 
end;  

procedure TForm1.ckboxClickCheck(Sender: TObject); 
begin    
if ckbox.Checked [ckbox.ItemIndex] then       
Label1.Caption := 'Seleccionado: ' + ckbox.Items.Strings [ckbox.ItemIndex]    
else       
Label1.Caption := 'Deseleccionado: ' + ckbox.Items.Strings [ckbox.ItemIndex]; 
end;

SALUDOS!!!

Última edición por dec fecha: 28-02-2007 a las 09:44:58.
Responder Con Cita
  #3  
Antiguo 28-02-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Cita:
Empezado por darkphantom
1. como controlo los items seleccionados? necesito seleccionar 4 de una lista.... si los "selecciono" si se, pero al deseleccionar????

2. le puedo poner "iconitos" dentro?? he visto hacerlo en un LiSTBOX por eso pregunto.

3. komo obtengo los items completos ?? por ejemplo le pongo al item "cuadrado" y me envia "uadrado".
1) ¿Lo puedes explicar? No entiendo nada. ¿Deseas controlar cuando se ha deseleccionado un item?

2) En un CheckList creo que no, pero puedes usar el TreeView de la pestaña Win32 que te permite establecer jerarquias y poner iconos y hacer multiselects, pero ahora que miro creo que no tiene el Check para marcar un item.

3) Tampoco lo entiendo, algo debes hacer para que te borre el primer carácter. ¿Puedes poner esa parte de código?

Saludos
Responder Con Cita
  #4  
Antiguo 28-02-2007
Avatar de darkphantom
darkphantom darkphantom is offline
Miembro
 
Registrado: may 2006
Ubicación: Villahermosa, Tabasco, México
Posts: 22
Poder: 0
darkphantom Va por buen camino
en cuanto a joHn je@N. voy a probar el codigo a ver ke sale y te aviso hermano, yo no soy experto, pero si he usado, y ahorita la verdad akabo de temrinar un proyecto y no me da mucho la cabeza para pensar , te agradezko el codigo y si no va, buscare la idea ke das para adaptarla,
gracias.

en cuanto a lo de bicho:

1. si, deseo controlarlo, porke kiero tener 4 items seleccionadas MAXIMO, y si selecciono 4 si puedo controlarlo, pero si el usuario des-selecciona 1, pierdo el control de los 4.

2. he usado en los LISTBOX junto a un IMAGELIST el ponerles dibujitos (iconitos) pero kiero ver si con el checklist se puede.

3.pues para obtenerlo solo hago :

Código Delphi [-]
dato:=checklist.itemindex;
stringgrid1.cell[0,i]:=checklist1.items.valuefromindex[dato];
__________________
The night is my kingdom and when the night start...i'm just become in your GOD
Responder Con Cita
  #5  
Antiguo 28-02-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Cita:
Empezado por darkphantom
1. si, deseo controlarlo, porke kiero tener 4 items seleccionadas MAXIMO, y si selecciono 4 si puedo controlarlo, pero si el usuario des-selecciona 1, pierdo el control de los 4.

2. he usado en los LISTBOX junto a un IMAGELIST el ponerles dibujitos (iconitos) pero kiero ver si con el checklist se puede.

3.pues para obtenerlo solo hago :
stringgrid1.cell[0,i]:=checklist1.items.valuefromindex[dato];
Vamos a ver:

1) No tienes que perder el control de eso. El checkListBox tiene la propiedad Selected a la que le indicas el indice que quieres saber si está seleccionado y te devuelve true o false
2) No veo nada al respecto
3) No se de donde sacas ValueFromIndex. Debería bastarte con esto:

Código Delphi [-]
stringgrid1.cell[0,i]:=checklist1.items.strings[dato];

A todo ésto. ¿que versión de Delphi estás usando? Es que no encuentro la propiedad ValueFromIndex y hablas de CheckList en lugar de CheckListBox

Saludos
Responder Con Cita
  #6  
Antiguo 28-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
darkphantom no tengas miedo a explicar desde un principio lo que quieres hacer, porque aqui no se cobra por palabras, hombre.

hablas de un CheckListBox, pero no es lo mismo seleccionar que marcar, se permiten ambas cosas.

"seleccionar" es hacer clic en un elemento de lista y que quede con fondo azul (seleccionado)

"marcar" es poner la marca de verificación a su casilla correspondiente.

¿qué quieres, seleccionar o marcar?

Por otra parte, cuando obtienes "uadrado" es porque accedes incorrectamente a los items.

No uses las propiedades Values, Sections, ValueFromIndex, etc, ya que eso pertenece al TStrings, y está pensado para archivos ini donde guardas un par de valores al estilo:

Nombre=Pepe

Nombre es lo que se llama "llave" (key) y Pepe es lo que se llama el valor (Value), de tal forma que ambos estan emparejados. Cuando accedes con la propiedad Values, internamente delphi cree que tiene el símbolo igual "=" a su izquierda, por eso te devuelve una letra menos.

Para rescatar un valor, usa esto:
Código Delphi [-]
with Checklistbox do
 if itemindex <> -1 then
    ShowMessage(items[itemindex]);


Por eso, lo mismo de antes, explica qué quieres hacer. Además en principio, se resuelve una duda por cada hilo; si empezamos a hablar de 3 temas distintos en un mismo hilo se puede formar la gorda .



Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 28-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Para las otras 2 preguntas... vamos por parte:
- Si quieres dibujar iconitos... vete tú mismo a dibujar el control, que no, que no estoy de mal humor, es que tienes que poner su propiedad Style a owner-Draw y usar técnicas de pintado para colocar los iconos y el texto que quieras tú mismo. Busca en el foro que para un Listbox es lo mismo que un checklistbox.

Para seleccionar 4 nada más... bueno, cuando:
- seleccionas haz un bucle mirando la propiedad Selected[i] si está a true, y cuentas si hay 4 o no
- Si quieres 4 marcados nada más, usa un bucle mirando la propiedad Checked[i]

Incluso tienes la propiedad Items[i].ItemEnabled que lo puedes poner a falso o true, es decir... si el usuario ha hecho 4 selecciones o marcas, inhabilitas (poner en gris) el resto de elementos para obligarle a desmarcar o deseleccionar un item antes de activar otro.

Para saber cuando a deseleccionado un item es igual que cuando selecciona, haz un bucle recorriendo todos los elementos y preguntando si está selecionado o no.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 01-03-2007
Avatar de darkphantom
darkphantom darkphantom is offline
Miembro
 
Registrado: may 2006
Ubicación: Villahermosa, Tabasco, México
Posts: 22
Poder: 0
darkphantom Va por buen camino
bueno antes ke nada, muchas gracias a todos, y perdon por la falta de informacion o la mala explicacion, es ke me he hecho bolas yo mismo y no sabia komo explicar.

y comenzando,
1.- si, tienen razon es MARCAR o CHEKEAR o no se, en lugar de seleccionar.......

2.- en cuestion de las preguntas variadas, pues komo eran del mismo componente por eso krei ke un solo tema estaba bien, sorry.........

3.- lepe, no te preocupes si suenas a mal humor, pero tienes razon, eso se hace en la otra opcion, y krei ke era diferente.

tratare de ver todas estas opciones y les komento ke paso, si pude resolver el problema o no, gracias y perdon por las molestias. y por cierto, solo puse CHECKLIST porke no hay otro componente con nombre parecido.....por eso no puse CHECKLISTBOX, pero korrijo, es un CHECKLISTBOX, y uso Delphi 7.
__________________
The night is my kingdom and when the night start...i'm just become in your GOD
Responder Con Cita
  #9  
Antiguo 01-03-2007
Avatar de joHn je@N
joHn je@N joHn je@N is offline
Miembro
 
Registrado: jun 2005
Ubicación: Toluca, Mexico
Posts: 44
Poder: 0
joHn je@N Va por buen camino
Unhappy ???bueno

Creo que estan haciendo una tormenta en un vaso de agua. jejejeje
Porque no veo la complicación.(sera que a lo mejor no he entendido bien) pero, lo mas simple que se me ocurre es una variable que vaya de 1 a 4 y veceversa dependiendo el caso en el que se seleccione (check = true, Inc(variable)) o deseleccione (check = false, Dec(variable)). y para ver cuantos tienes seleccionados pues
puedes ver el valor de la variable o con un ciclo como ya lo han dicho antes.

Código Delphi [-]
var seleccionados : Byte;//privada o publica segun el caso y le pones valor de 0 en donde se necesite
//insertas un TBitBtn, un Label y un CheckListBox

procedure TForm1.BitBtn1Click(Sender: TObject);
begin  //en este codigo se le agregan los items que desees al CheckListBox con nombre ckbox
ckbox.AddItem('item ' + IntToStr(ckbox.Count + 1), self);
Label1.Caption := 'Has agregado ' + 'item ' + IntToStr(ckbox.Count);
end;

procedure TForm1.ckboxClickCheck(Sender: TObject);
begin
if ckbox.Checked [ckbox.ItemIndex] then       ///aqui te dice cual seleccionas y cual no
begin
   if seleccionados < 4 then
     Inc (seleccionados)
   else
     ckbox.Checked [ckbox.ItemIndex] := False;
   Label1.Caption := 'Seleccionado: ' + ckbox.Items.Strings [ckbox.ItemIndex];
end
else
begin
   Dec (seleccionados);
   Label1.Caption := 'Deseleccionado: ' + ckbox.Items.Strings [ckbox.ItemIndex];
end;
end;

Checa bien los códigos. creo que ahi esta la respuesta que buscas.

SALUDOS

Última edición por joHn je@N fecha: 01-03-2007 a las 09:07:06.
Responder Con Cita
  #10  
Antiguo 01-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por joHn je@N
Creo que estan haciendo una tormenta en un vaso de agua. jejejeje
Porque no veo la complicación.
No, si complicación no tiene ninguna, pero sin saber si es marcar, seleccionar o inhabilitar items es dificil contestar, además cada una de las cosas tiene su solución. Sabiendo de antemano lo que quiere hacer es fácil dar la solución .


Saludos de buen rollo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 02-03-2007
Avatar de joHn je@N
joHn je@N joHn je@N is offline
Miembro
 
Registrado: jun 2005
Ubicación: Toluca, Mexico
Posts: 44
Poder: 0
joHn je@N Va por buen camino
Asi es

Totalmente de acuerdo.
No hay más que decir. Para hacer algo, necesitas saber que es!!!.

SALUDOS
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
dudas con TStrings aranel OOP 5 18-10-2005 21:49:47
dudas delamisma Varios 1 15-02-2005 23:15:47
Dudas con el sql acrophet Conexión con bases de datos 6 07-10-2003 16:29:54
Dudas de SQL Rubiel SQL 2 09-06-2003 16:16:50
Dudas de SQL Rubiel Conexión con bases de datos 3 09-06-2003 15:53:41


La franja horaria es GMT +2. Ahora son las 17:03:59.


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