Programación General > Visual Basic 6.0 e inferiores

 Select Case Dudas De Uso

<< < (2/2)

Mollense:
Hola abelsql3000, a ver si te confundo un poco mas  :P


--- Citar ---dicen que la sentencia select case puede hacer varios caso de verdad, otros dicen que solo hace uno y sale del select case
--- Fin de la cita ---
Tal vez lo que quisieron decirte es que en algunos lenguajes (No en VB) es posible estructurar el código de un select para que se ejecuten varios casos consecutivos a partir del primero que cumpla con la condición. Uno de los lenguajes que permite esto en C que va a procesar todos los casos hasta encontrar la sentencia break.

Ej:

--- Código: Text ---switch(n){  case 1:    //Codigo 1  case 2:    //Codigo 2  break;  case 3:    //Codigo 3  case 4:    //Codigo 4  case 5:    //Codigo 5  break;} 
En caso de que n valga 1 se va a ejecutar el bloque de código 1 y 2
En caso de que n valga 2 se va a ejecutar el bloque de código 2
En caso de que n valga 3 se va a ejecutar el bloque de código 3, 4 y 5

Espero que se entienda

Saludos  :comp:

abelsql3000:
En fin, no sucede con el switch de Borland C, es por eso la unica solucion mas practica es esta.

Private Sub Check1_Click(Index As Integer)
Static suma
suma = 0
If Check1(0).Value Then suma = suma + 10
If Check1(1).Value Then suma = suma + 20
If Check1(2).Value Then suma = suma + 30
If Check1(3).Value Then suma = suma + 40
Print Str(suma)
End Sub

Es lo que deseaba, a menos codigo mas facil la existencia.

ArKaNtOs:
no quiero parecer ostentoso pero de hecho teóricamente mi código es mas corto y es mas rápido (debido al uso de varios if, Claro que no se nota), además tu código tiene un error, ya que no se debe validar en el evento click del check sino sumaria de mas ;) ese código cabria mejor en un botón o en algún otro elemento y ya no se caería en la necesidad de hacer uso de una matriz de elementos ;)

Epa:
Buenas.

Mi aporte  :D


--- Código: Text --- Private Sub Check1_Click(Index As Integer)  Static suma  Dim a As Byte  suma = 0  For a = 1 To 4    If Check1(a - 1).Value Then suma = suma + (10 * a)  Next  Print Str(suma)End Sub  Saludos

ArKaNtOs:

--- Cita de: "Epa" --- Buenas.

Mi aporte  :D


--- Código: Text --- Private Sub Check1_Click(Index As Integer)  Static suma  Dim a As Byte  suma = 0  For a = 1 To 4    If Check1(a - 1).Value Then suma = suma + (10 * a)  Next  Print Str(suma)End Sub  Saludos
--- Fin de la cita ---
no crees que son muchas iteraciones ya que cada vez que hacen click en el check este evalúa todos los demás y si presiona otro vuelve ha hacer lo mismo?

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa