Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: FranciskoAsdf en 31 Marzo 2014, 17:44 pm



Título: [VB6.0] Duda con como hacer una comprobacion
Publicado por: FranciskoAsdf en 31 Marzo 2014, 17:44 pm
Hola, buenas , :DD


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

Tengo este codigo

Código
  1. 'codigo anterior
  2. respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
  3. ' demas codigo
  4.  

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 :

Código:
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.


Título: Re: [VB6.0] Duda con como hacer una comprobacion
Publicado por: MCKSys Argentina en 31 Marzo 2014, 18:49 pm
Una idea:

Código
  1. respuestas = " 51 52 53 54 70 71 72"
  2. respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
  3. if instr(respuestas, " " + respuesta, 1) = 0 then
  4.    'No es una respuesta valida
  5. else
  6.    'Si es una respuesta valida
  7. end if
  8.  

Saludos!


Título: Re: [VB6.0] Duda con como hacer una comprobacion
Publicado por: Mad Antrax en 31 Marzo 2014, 19:24 pm
Otra idea:

Código
  1. respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
  2.  
  3. Select Case respuesta
  4.    Case 51
  5.        'Aquí tu acción por responder 51
  6.    Case 52
  7.        'Aquí tu acción por responder 52
  8.    Case 53
  9.        'Aquí tu acción por responder 53
  10.    Case 54
  11.        'Aquí tu acción por responder 54
  12.    Case 70
  13.        'Aquí tu acción por responder 70
  14.    Case 71
  15.        'Aquí tu acción por responder 71
  16.    Case 72
  17.        'Aquí tu acción por responder 72
  18.    Case Else
  19.        'Has fallado, melón
  20. End Select
  21.  


Título: Re: [VB6.0] Duda con como hacer una comprobacion
Publicado por: FranciskoAsdf en 31 Marzo 2014, 22:08 pm
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
  1.      FiltroMotivoMerma = "51 52 53 61 70 72"
  2.      If Combo2.Text = "ABARROTES" Then
  3.         MotivoMerma = InputBox("Ingrese Motivo Merma", "Mermas")
  4.         If InStr(FiltroMotivoMerma, " " + MotivoMerma, 1) = 0 Then
  5.            respuesta = MsgBox("asdf", "asdf")
  6.                Else
  7.                    MotivoMerma = FiltroMotivoMerma
  8.        End If
  9.      End If
  10.  

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


Título: Re: [VB6.0] Duda con como hacer una comprobacion
Publicado por: noele1995 en 7 Abril 2014, 00:19 am
Pues con un simple while...

Código
  1. Dim error As Boolean = true
  2. While error
  3.    respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
  4.    error = false
  5.    Select Case respuesta
  6.        Case 51
  7.            '...
  8.        Case 52
  9.            '...
  10.        Case 53
  11.            '...
  12.        Case 54
  13.            '...
  14.        Case 70
  15.            '...
  16.        Case 71
  17.            '...
  18.        Case 72
  19.            '...
  20.        Case Else
  21.            error = true
  22.    End Select
  23. End While

Saludos


Título: Re: [VB6.0] Duda con como hacer una comprobacion
Publicado por: 79137913 en 7 Abril 2014, 13:42 pm
HOLA!!!

Noele... uso de variable sin sentido:
"error"
Código
  1.    Do
  2.       respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
  3.       Select Case respuesta
  4.           Case 51
  5.               '...
  6.           Case 52
  7.               '...
  8.           Case 53
  9.               '...
  10.           Case 54
  11.               '...
  12.           Case 70
  13.               '...
  14.           Case 71
  15.               '...
  16.           Case 72
  17.               '...
  18.           Case Else
  19.               Exit Loop
  20.       End Select
  21.    Loop

GRACIAS POR LEER!!!


Título: Re: [VB6.0] Duda con como hacer una comprobacion
Publicado por: FranciskoAsdf en 8 Abril 2014, 16:22 pm
Gracias por responder!!.

Ahora si funciona como queria :D!!!

Gracias de nuevo!! :D