[VB6.0] Duda con como hacer una comprobacion

Iniciado por FranciskoAsdf, 31 Marzo 2014, 17:44 PM

0 Miembros y 1 Visitante están viendo este tema.

FranciskoAsdf

Hola, buenas , :DD


Tengo una duda sobre como implementar una comprobacion sobre un inputbox.

Tengo este codigo

Código (VB) [Seleccionar]

'codigo anterior
respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
' demas codigo


El tema es que solo hay 6 tipos de merma, entonces mi idea es hacer una comprobacion sobre SI NO escribe ninguno de los motivos permitidos aparezca un error o advertencia. PERO el tema es que no se como hacerlo.. o sea pense con IF's, pero creo que es muy engorroso hacer un if por cada motivo, porque el programa tendria que comprobar muchas veces cada vez que se ingrese y eso lo haria lento.

Es por eso que vengo a solicitar ayuda a ver si me pueden guiar sobre como hacerlo. Pense que podia ser con WHILE, pero no se como usar WHILE con variables.

Eso, porfavor si alguien me puede ayudar se lo agradeceria mucho.

Los motivos son en este formato :


51
52
53
54
70
71
72


O sea eso seria lo que el usario debiera ingresar y si no, bueno pues que de el error xD.

Saludos y gracias de ante mano.
Asdf debería ser algún tipo de función.

MCKSys Argentina

Una idea:

Código (vb) [Seleccionar]

respuestas = " 51 52 53 54 70 71 72"
respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
if instr(respuestas, " " + respuesta, 1) = 0 then
    'No es una respuesta valida
else
    'Si es una respuesta valida
end if


Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Mad Antrax

Otra idea:

Código (vb) [Seleccionar]

respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")

Select Case respuesta
    Case 51
        'Aquí tu acción por responder 51
    Case 52
        'Aquí tu acción por responder 52
    Case 53
        'Aquí tu acción por responder 53
    Case 54
        'Aquí tu acción por responder 54
    Case 70
        'Aquí tu acción por responder 70
    Case 71
        'Aquí tu acción por responder 71
    Case 72
        'Aquí tu acción por responder 72
    Case Else
        'Has fallado, melón
End Select
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

FranciskoAsdf

#3
Hola, probé el primero, pero me sale "Error en tiempo de ejecución: No coinciden los tipos", probé cambiando el tipo de variable a; INTEGER, LONG, STRING, pero me sale el mismo error :/.

Código (vb) [Seleccionar]

      FiltroMotivoMerma = "51 52 53 61 70 72"
      If Combo2.Text = "ABARROTES" Then
         MotivoMerma = InputBox("Ingrese Motivo Merma", "Mermas")
         If InStr(FiltroMotivoMerma, " " + MotivoMerma, 1) = 0 Then
            respuesta = MsgBox("asdf", "asdf")
                Else
                    MotivoMerma = FiltroMotivoMerma
        End If
      End If


Y el segundo código igual lo probé, pero a pesar de que funciona, después de darme el error "pasa" a lo que sigue del código y la idea es que se repita el InputBox hasta que el usuario ingrese lo que corresponde.

A ver si me pueden echar una mano por favor :D!!

Saludos y gracias de ante mano :D
Asdf debería ser algún tipo de función.

noele1995

Pues con un simple while...

Código (vb) [Seleccionar]
Dim error As Boolean = true
While error
    respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
    error = false
    Select Case respuesta
        Case 51
            '...
        Case 52
            '...
        Case 53
            '...
        Case 54
            '...
        Case 70
            '...
        Case 71
            '...
        Case 72
            '...
        Case Else
            error = true
    End Select
End While


Saludos

79137913

HOLA!!!

Noele... uso de variable sin sentido:
"error"
Código (vb) [Seleccionar]
   Do
      respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
      Select Case respuesta
          Case 51
              '...
          Case 52
              '...
          Case 53
              '...
          Case 54
              '...
          Case 70
              '...
          Case 71
              '...
          Case 72
              '...
          Case Else
              Exit Loop
      End Select
   Loop


GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

FranciskoAsdf

Gracias por responder!!.

Ahora si funciona como queria :D!!!

Gracias de nuevo!! :D
Asdf debería ser algún tipo de función.