Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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 Impadron.

No me queda muy en claro lo que buscas hacer, según esto:
Cita:
Necesito saber que Item el usuario seleccionó para agregarlo al DBEdit
Podria ser:
Código:
void __fastcall TForm1::CheckListBox1Click(TObject *Sender)
{
 if(CheckListBox1->Checked[CheckListBox1->ItemIndex])
   DBEdit1->Text = DBEdit1->Text +
    CheckListBox1->Items->Strings[CheckListBox1->ItemIndex];
}
Pero según esto:
Cita:
realizar un ciclo desde el primer item hasta el ultimo y se verifique cuales están seleccionado y los agregue al DBEdit
Sería como te comentaron arriba:
Código:
  for(int i=0; i < CheckListBox1->Count; i++)
   if(CheckListBox1->Checked[i])
     DBEdit1->Text = DBEdit1->Text + CheckListBox1->Items->Strings[i];
  /* Limpiar la selección una vez agregados */
  for(int i=0; i < CheckListBox1->Count; i++)
    CheckListBox1->Checked[i] = false;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 30-11-2011
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 688
Poder: 21
olbeup Va camino a la fama
Código Delphi [-]
  for(int i=0; i < CheckListBox1->Count -1; i++)
   if(CheckListBox1->Checked[i])
     DBEdit1->Text = DBEdit1->Text + CheckListBox1->Items->Strings[i];
  /* Limpiar la selección una vez agregados */
  for(int i=0; i < CheckListBox1->Count -1; i++)
    CheckListBox1->Checked[i] = false;

ecfisa, le he añadido el -1 porque sino cuando esté en el último dará un error de fuera de rango.

Es alucinante C++, me encantaría aprender otro lenguaje aparte de Delphi, pero el tiempo, juega en contra, al final lo aprenderé.

Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.

Última edición por olbeup fecha: 30-11-2011 a las 22:43:36.
Responder Con Cita
  #3  
Antiguo 30-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Cita:
ecfisa, le he añadido el -1 porque sino cuando esté en el último dará un error de fuera de rango.
Así sería si estuviesemos tratando con un for de Pascal, pero en C/C++ el for tiene un comportamiento algo diferente:
Código:
 
 for(int i=0; i < CheckListBox1->Count; i++)
El valor de i nunca va a llegar a ser CheckListBox1->Count ya que el ciclo finaliza antes de que sea igual, en este caso lo hace exáctamente cuando i es igual a CheckListBox1->Count -1 (el incremento de i es de 1).

Si agregamos el -1:
Código:
  for(int i=0; i < CheckListBox1->Count - 1; i++)
Estaríamos recorriendo n -2 items del CheckListBox (quedaría el último sin evaluar).

Cita:
Es alucinante C++, me encantaría aprender otro lenguaje aparte de Delphi, pero el tiempo, juega en contra, al final lo aprenderé.
De acuerdo con vos

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 30-11-2011 a las 23:10:50.
Responder Con Cita
  #4  
Antiguo 01-12-2011
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 688
Poder: 21
olbeup Va camino a la fama
Perdona mi ignorancia en el lenguaje C++, pensaba que era lo mismo.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #5  
Antiguo 01-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Hombre... que no hay nada que perdonar

Espero que muy pronto te den los tiempos para empezar con él.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 01-12-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 18
lmpadron Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola Impadron.
Cita:
No me queda muy en claro lo que buscas hacer (...)
Lo que busco hacer es lo siguiente, en el CheckListBox1 cargo los valores de una tabla y el usuario puede seleccionarlos todos uno o varios, una ves seleccionados los guardo en un campo de otra tabla para agregarlos como valores a un Combobox.

Cita:
Pero según esto:

Sería como te comentaron arriba:
Código:
  for(int i=0; i < CheckListBox1->Count; i++)
   if(CheckListBox1->Checked[i])
     DBEdit1->Text = DBEdit1->Text + CheckListBox1->Items->Strings[i];
  /* Limpiar la selección una vez agregados */
  for(int i=0; i < CheckListBox1->Count; i++)
    CheckListBox1->Checked[i] = false;
El código funciona perfecto (me da pena no haber llegado a esa solución por mi mismo

pero con el segundo FOR la idea no era que limpiara el CheckListBox sino los valores que se guardaron en el DBEdit o sea que cada ves que se cambia el CheckListBox si se selecciona un valor pues este sea agregado (como hace el primer FOR) o que sea quitado del DBEDIT.
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #7  
Antiguo 01-12-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 18
lmpadron Va por buen camino
O sea concretamente seria como determinar si el item esta Checked o no para saber si agregamos ese campo o lo quitamos de los que ya están y la forma de quitarlo (q eso no me queda muy claro).

Cita:
Empezado por olbeup Ver Mensaje
Es alucinante C++
Cita:
Empezado por ecfisa Ver Mensaje
De acuerdo con vos
De paso Gracias a ambos por ayudarme y obviamente coincido jajajajaja, espero yo también poder aprender en elgún momento algo de c++ !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________

Última edición por lmpadron fecha: 01-12-2011 a las 16:04:22.
Responder Con Cita
  #8  
Antiguo 01-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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 Impadrón.

Cita:
pero con el segundo FOR la idea no era que limpiara el CheckListBox sino los valores que se guardaron en el DBEdit
Entonces creo que bastaría con:
Código:
 for(int i=0; i < CheckListBox1->Count; i++)
   if(CheckListBox1->Checked[i])
     DBEdit1->Text = DBEdit1->Text + CheckListBox1->Items->Strings[i];
  /* 
   Operaciones necesarias con DBEdit1 
   ...
  */
  DBEdit1->Text = "";
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 01-12-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 18
lmpadron Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola Impadrón.

Entonces creo que bastaría con:
Código:
(...)
  DBEdit1->Text = "";
Pues si, tenias razón (como siempre !!! jajaja) solo con una pequeña modificación y funciona perfecto

Código:
      DBEdit1->Text = "";
      for(int i=0; i < CheckListBox1->Count; i++)
      {
       if(CheckListBox1->Checked[i])
       {
        DBEdit1->Text = DBEdit1->Text + "-" + CheckListBox1->Items->Strings[i];
       }
      }
De esta forma limpio el DBEdit primeramente luego recorro con el ciclo cada item del CheckListBox y si esta seleccionado es agregado al DBEdit. De esta forma si al dar click se deselecciona un Item se remueve este del DBEdit

Saludos y gracias por su ayuda
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________

Última edición por lmpadron fecha: 01-12-2011 a las 16:14:55.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
ComboBox ítem que está seleccionado belen Varios 7 05-09-2016 18:44:11
Detectar el item seleccionado en RadioButton santiago14 Varios 1 23-02-2010 16:37:11
Ocultar item en CheckListBox dgcn OOP 4 26-07-2008 00:07:15
cómo saber en una listview el item que está visible (no seleccionado) en cada momento igc C++ Builder 1 16-02-2007 18:25:52
Como mando item seleccionado Ricardo Alfredo HTML, Javascript y otros 3 11-01-2007 01:05:11


La franja horaria es GMT +2. Ahora son las 14:32:48.


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