Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: rapbyone en 11 Febrero 2016, 17:02 pm



Título: Comparar checkbox con varios elementos
Publicado por: rapbyone en 11 Febrero 2016, 17:02 pm
Estimados, tengo un checkbox y necesito compararlo con 51 otros checkbox para saber si en alguno de ellos se repite el valor y en caso de que se repita, marcar el checkbox, tengo el siguiente código:

Código
  1. If Check1.Caption = Check52.Caption Or Check1.Caption = Check53.Caption Or Check1.Caption = Checkxx.Caption.......  Then
  2. Check1.Value = 1
  3. End If
  4.  

El tema es que es algo tedioso hacerlo uno por uno, existe alguna forma de optimizar el código para revisar todos los checkbox si necesidad de señalarlos uno por uno.

algo así como señalar el rango
If Check1.Caption = Check52.Caption al Check102.Caption Then
Check1.Value = 1
End If

gracias amigos  :)


Título: Re: Comparar checkbox con varios elementos
Publicado por: fary en 11 Febrero 2016, 17:34 pm
Creando un array de controles.

Le pones de nombre del control el mismo en todos los CheckBox y el VB6 te va a preguntar si quieres crear un array de controles, le dices que.

Te va a crear esto:

(http://s2.subirimagenes.com/imagen/previo/thump_9517610check.png)

Entonces tu los puedes manejar así:

Código
  1. For i = 1 To NumeroCheckBox
  2.        If Check1(0).Caption = Check1(i).Caption Then
  3.            'accion
  4.        End If
  5. Next i

saludos.


Título: Re: Comparar checkbox con varios elementos
Publicado por: XresH en 11 Febrero 2016, 19:24 pm
Hola, la opcion del colega fary es la mas rapida, accesible, factible ademas de estar muy bien explicada. Aunque he pensado que quiza si modificas todos los checkbox (dsconozco tu proyecto) tal vez debas cambiar el nombre en muchos lados(forms, modulos, controles de usuario, entre otros), se hace no es drama pero tal vez no quieras eso, si este es el caso, podes realizar una funcion que ejecute una comparacion de una variaable booleana (la del checkbox a comparar) y luego pasarle el array a la funcion para que a traves de un for haga la comparacion.
Claro esta que tenes que poner todos los nombres, en una sola ocacion, o sea al momento de comparar. El tema es que si es un proyecto grande, cambiar todos los nombres en todos los formas que esten relacionados es algo como dices, tedioso.

Espero me haya explicado correctamente.

Saludos gente.


Título: Re: Comparar checkbox con varios elementos
Publicado por: rapbyone en 12 Febrero 2016, 17:38 pm
Gracias amigos vamos a intentarlo  ;-)


Título: Re: Comparar checkbox con varios elementos
Publicado por: fary en 12 Febrero 2016, 18:50 pm
De nadas  :P