Ver Mensaje Individual
  #1  
Antiguo 01-12-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Reputación: 16
lmpadron Va por buen camino
cambiar Chequed de Item determinado en CheckListBox

Hola amigos

Recientemente tube una dificultad y la pregunté aquí pero como indica nuestra guía de estilo ... solo una pregunta por hilo ... les relaciono mi siguiente pregunta en este hilo !!!

En el hilo anterior me explicaron como obtener el valor del Item seleccionado en un CheckListBox ... gracias !!!

Esto me permite saber que selecciona el usuario y asi guardarlo en un DBEdit, bien ahora el problema es el siguiente, cuando el usuario no esta insertando datos en la BD, o sea, cuando esta moviendose en la base de datos (ADOQuery1AfterScroll) quisiera que se visualizara en el CheckListBox cuando los campos estan seleccionado. Como este componente no es de tipo DB entonces lo que se me ocurre es atrapar los valores que estan en la BD en algun otro componente o variable (en este caso para tratar de hacerlo use un Combobox)

Código:
ComboBox1->Items->Clear();
ComboBox1->Items->Delimiter = '-';
ComboBox1->Items->DelimitedText = ADOQuery1->FieldByName("norma")->Text;
de esta menera en los Item del Combobox tengo los valores que fueron seleccionados por el usuario y almacenados en la base de datos, ahora lo que quiero hacer es comprobar cuales son de los que estoy listando en el CheckListBox para después ponerlos en Chequed

Este es el código que uso, aqui hago un ciclo pasando por el CheckListBox y al pasar por cada uno de sus Items paso con otro ciclo por todos los Items del ComboBox y con una condición compruebo (o al menos trato jejeje de comprobar) si son iguales iguales, para en caso de serlo entonces chequearlo.

Por supuesto no funciona !!!

Código:
                for(int i = 0; i < CheckListBox1->Count; i++)
                {
                  for(int o = 0; o < ComboBox1->Items->Count; o++)
                  {
                    if (ComboBox1->Items[o].Text == CheckListBox1->Items->Strings[i])
                      CheckListBox1->Checked[i] == true;
                  }
                }
Sin embargo me da un error terrible

Código:
---------------------------
Debugger Exception Notification
---------------------------
Project VB.exe raised exception class EAccessViolation with message 'Access violation at address 00000000. Read of address 00000000'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------
En particular esto sucede en la instrucción IF.

Mis preguntas en concreto son... como puedo hacer que los Items que tengo en el Combo se seleccionen en el CheckListBox y si puedo usar algún otro tipo de variable para no poner un combo

Gracias de antemano
__________________
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 23:17:11.
Responder Con Cita