Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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 (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.
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 (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!
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 (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
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 (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
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 (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
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 (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!!!
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