Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema con operadores logicos AND, OR

Estas en el tema de Problema con operadores logicos AND, OR en el foro de Visual Basic clásico en Foros del Web. Bueno resulta que ya termine mi programa, pero esto ultimo me esta liando, este es el codigo: Código: If (a.Text = "V" Or a.Text = ...
  #1 (permalink)  
Antiguo 28/09/2009, 03:52
 
Fecha de Ingreso: septiembre-2004
Mensajes: 7
Antigüedad: 19 años, 7 meses
Puntos: 0
Problema con operadores logicos AND, OR

Bueno resulta que ya termine mi programa, pero esto ultimo me esta liando, este es el codigo:

Código:
If (a.Text = "V" Or a.Text = "F") And (b.Text = "F" Or b.Text = "V") And (c.Text = "F" Or c.Text = "V") And (d.Text = "F" Or d.Text = "V") And (e.Text = "F" Or e.Text = "V") And (f.Text = "F" Or f.Text = "V") And (g.Text = "F" Or g.Text = "V") And (h.Text = "F" Or h.Text = "V") And (i.Text = "F" Or i.Text = "V") And (j.Text = "F" Or j.Text = "V") And (k.Text = "F" Or k.Text = "V") And (l.Text = "F" Or l.Text = "V") And (m.Text = "F" Or m.Text = "V") Then
Call orden

End If
Hay que llenar 14 letras con valores V o F, entonces quiero que si todos los campos estan llenos ya sea por V's o F's se cumpla la oracion y llame a la funcion ORDEN.

Si le quito los parentesis funciona en algunos casos y me fallan otras partes del programa, no se quizas estoy manejando mal los operadores, aunque en el resto del programa los he utilizado asi y no me dan fallas.

El programa completo esta aqui por si es necesario:

4shared.com/file/135964341/2929e4e3/PROG.html

Agradezco su ayuda de antemano por su ayuda.
  #2 (permalink)  
Antiguo 28/09/2009, 05:17
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Problema con operadores logicos AND, OR

Si lo pones así lo verás con más comodidad.

If (a.Text = "F" Or a.Text = "V") _
And (b.Text = "F" Or b.Text = "V") _
And (c.Text = "F" Or c.Text = "V") _
And (d.Text = "F" Or d.Text = "V") _
And (e.Text = "F" Or e.Text = "V") _
And (f.Text = "F" Or f.Text = "V") _
And (g.Text = "F" Or g.Text = "V") _
And (h.Text = "F" Or h.Text = "V") _
And (i.Text = "F" Or i.Text = "V") _
And (j.Text = "F" Or j.Text = "V") _
And (k.Text = "F" Or k.Text = "V") _
And (l.Text = "F" Or l.Text = "V") _
And (m.Text = "F" Or m.Text = "V") Then Call orden

La línea me parece coherente.
El error podría venir de que algún textbox contenga la letra en minúsculas o con algún espacio añadido.

Prueba a incluir esto delante:

a.text=ucase$(trim$(a.text))
b.text=ucase$(trim$(b.text))
c.text=ucase$(trim$(c.text))
d.text=ucase$(trim$(d.text))
e.text=ucase$(trim$(e.text))
f.text=ucase$(trim$(f.text))
g.text=ucase$(trim$(g.text))
h.text=ucase$(trim$(h.text))
i.text=ucase$(trim$(i.text))
j.text=ucase$(trim$(j.text))
k.text=ucase$(trim$(k.text))
l.text=ucase$(trim$(l.text))
m.text=ucase$(trim$(m.text))

Suerte
  #3 (permalink)  
Antiguo 28/09/2009, 10:42
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Mensaje Respuesta: Problema con operadores logicos AND, OR

Es mas facil que crees una matris de textbox osea:
a(0).text
a(1).text

Usas un for y recorres todo y haces algo asi

Código vb:
Ver original
  1. Dim Fallo As Boolean
  2. For X = 0 to ELULTIMOTEXTBOX
  3.      If a(x) <> "F" AND a(x) <> "V" Then
  4.           Fallo = True
  5.      End If
  6. Next X
  7.  
  8. If Fallo = False Then
  9.      Call Order
  10. End If
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.