• Domingo 22 de Diciembre de 2024, 14:55

Autor Tema:  Matriz De Controles Y Tags  (Leído 1275 veces)

MAESTROMANU

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Matriz De Controles Y Tags
« en: Domingo 27 de Febrero de 2005, 19:01 »
0
Hola, tengo en un form 3 casillas de verificacion que se llaman


Check1(0) y en el tag he puesto 8
Check1(1) y en el tag he puesto 9
Check1(2) y en el tag he puesto 10,

Ahora, tengo un boton que se llama 'CmdAlterna01', con el caption 'Todos los usuarios

Al pulsar este boton, quisisera que segun el caption de este boton se activaran o desactivaran los check's, sabiendo que al pulsar el boton 'CmdAlterna01', cambio el caption de este por 'Usuario actual' y al reves.

'Todos los usuarios'   ----> click ----> 'Usuario Actual'
'Usuario Actual'         ----> click ----> 'Todos los usuarios'

y el valor del tag 8 determina que este debe estar activo para 'Todos los usuarios', pero no debe estar activo para el 'usuario actual'
el valor 9 determina que este debe estar activo para 'Usuario actual', pero no puede estar activo para 'Todos los usuarios'
y el valor 10 determina que este debe estar activo tanto para 'Usuario actual"como para 'Todos los usuarios'

Adjunto el codigo que tengo puesto, pero el problema que tengo es que el check1(0) si lo modifica como debiera, pero los demas no.

Código: Text
  1.  
  2. Private Sub CmdAlterna01_Click()
  3.     If CmdHardware.Caption = "Usuario Actual" Then
  4.         CmdHardware.Caption = "Todos los usuarios"
  5.             Select Case Check1(Index).Tag
  6.                 Case 8
  7.                     Check1(Index).Enabled = True
  8.                 Case 9
  9.                     Check1(Index).Enabled = False
  10.                 Case 10
  11.                     Check1(Index).Enabled = True
  12.             End Select
  13.     ElseIf CmdHardware.Caption = "Todos los usuarios" Then
  14.         CmdHardware.Caption = "Usuario actual"
  15.             Select Case Check1(Index).Tag
  16.                 Case 8
  17.                     Check1(Index).Enabled = False
  18.                 Case 9
  19.                     Check1(Index).Enabled = True
  20.                 Case 10
  21.                     Check1(Index).Enabled = True
  22.             End Select
  23.     End If
  24.    
  25. End Sub
  26.  
  27.  
MANUEL LOPEZ ALVAREZ
PROGRAMADOR DE APLICACIONES
ESPAÑA, SEVILLA, MORON DE LA FRONTERA

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Matriz De Controles Y Tags
« Respuesta #1 en: Lunes 28 de Febrero de 2005, 14:59 »
0
Hola maestro.

Tu código debería ser algo así, optimizaciones aparte:
Código: Text
  1.  
  2. Private Sub CmdAlterna01_Click()
  3.     Dim iIdx As Integer
  4.     If cmdHardware.Caption = "Usuario Actual" Then
  5.         cmdHardware.Caption = "Todos los usuarios"
  6.         For iIdx = 0 To 2
  7.             Select Case Check1(iIdx).Tag
  8.                Case 8
  9.                    Check1(iIdx).Enabled = True
  10.                Case 9
  11.                    Check1(iIdx).Enabled = False
  12.                Case 10
  13.                    Check1(iIdx).Enabled = True
  14.             End Select
  15.         Next iIdx
  16.     ElseIf cmdHardware.Caption = "Todos los usuarios" Then
  17.         cmdHardware.Caption = "Usuario Actual"
  18.         For iIdx = 0 To 2
  19.             Select Case Check1(iIdx).Tag
  20.                 Case 8
  21.                     Check1(iIdx).Enabled = False
  22.                 Case 9
  23.                     Check1(iIdx).Enabled = True
  24.                 Case 10
  25.                     Check1(iIdx).Enabled = True
  26.             End Select
  27.         Next iIdx
  28.    End If
  29. End Sub
  30.  
  31.  

Estabas usando la variable 'index', que no sé dónde la tendrías declarada, supongo que con valor 0, por lo que sólo te funcionaba con un check.

Chao.

MAESTROMANU

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Matriz De Controles Y Tags
« Respuesta #2 en: Lunes 28 de Febrero de 2005, 15:21 »
0
Muchas gracias brroz.
MANUEL LOPEZ ALVAREZ
PROGRAMADOR DE APLICACIONES
ESPAÑA, SEVILLA, MORON DE LA FRONTERA