Sv Community El Salvador
Soporte y Tecnología => Programación => FOX => Mensaje iniciado por: gilanrodas en septiembre 18, 2009, 05:05:13 pm
-
He intentado usando algo como esto:
If text1.value="" <código>else <código>endif
Cuando hago esto y busco en una tabla me resulta que todos los registros del campo al que me refiero son iguales a "", retornándome .T. ¿Cómo hago para saber si un textbox tiene caracteres que no sean espacios para compararlo con los registros de una tabla?
-
Yo de FOX no se nada solamente en visual pero veo q mas o menos se parecen ya probaste con algo similiar a esto :
If Empty( This.Value )
MessageBox( "Se debe ingresar un dato" )
Return 0
Else
Return .T.
EndIf
-
Yo de FOX no se nada solamente en visual pero veo q mas o menos se parecen ya probaste con algo similiar a esto :
If Empty( This.Value )
MessageBox( "Se debe ingresar un dato" )
Return 0
Else
Return .T.
EndIf
Sí, pero resulta lo mismo que las comillas, o no sé si yo lo estoy aplicando mal. Es que lo que quiero es:
Si el cuadro de texto no tiene caracteres que no sean espacios, entonces
Mensaje: "Por favor ingrese un dato. No válido"
Si no
Seleccionar tabla x
Buscar la frase del cuadro de texto en el campo rx
Si la frase existe, entonces
Mensaje: "Ya existe"
Si no
Insertar la frase en la tabla
Finaliza condición Si
Finaliza la búsqueda
Finaliza condición
Jejeje, algo así es lo que quiero hacer.
-
Con el ALLTRIM quita los espacios en blanco
var1=alltrim(thisform.text1.value)
var1=alltrim(this.value)
-
Con el ALLTRIM quita los espacios en blanco
var1=alltrim(thisform.text1.value)
var1=alltrim(this.value)
Ok, pero eso es para quitar los espacios en blanco a los lados de una cadena de texto, pero lo que quiero es determinar si un textbox tiene o no tiene algo escrito en él que no sean espacios, y que no sea IF text.value="" porque no me funciona, ya que me asocia a que un campo con datos en determinado registro es igual a "", así que la condición se cumple aunque yo sepa que el textbox está vacío y el registro en ese campo no lo está. Dicho de otra forma, si el campo de texto está a cero por así decirlo (no tiene nada escrito) o contiene puros espacios, quiero una función, si existe, que me devuelva .T. o .F. y si tiene algo que no sean sólo espacios que me retorne lo contrario.
-
Y si evaluas el texbos no por "" sino por el lench o el largo de los caracteres algo asi.
IF texbox.lench=0 thense
el tex si esta vacio y haras esto
Else
el tex no esta vacio y pediras vaciarlo
End IF
Bueno te lo pongo asi porq en fox auun no mucho :phew:
-
la opcion alltrim es tu solucion, claro tambien tendrias que usar el if empty antes mencionado.
quedaria algo asi.
if empty(alltrim(thisform.textboX.value))
*condicion si esta vacio el texbox
else
*condiciones si el texbox tiene datos
endif
ahora tu comentario: Ok, pero eso es para quitar los espacios en blanco a los lados de una cadena de texto, pero lo que quiero es determinar si un textbox tiene o no tiene algo escrito en él que no sean espacios, y que no sea IF text.value="" porque no me funciona, ya que me asocia a que un campo con datos en determinado registro es igual a "", así que la condición se cumple aunque yo sepa que el textbox está vacío y el registro en ese campo no lo está. Dicho de otra forma, si el campo de texto está a cero por así decirlo (no tiene nada escrito) o contiene puros espacios, quiero una función, si existe, que me devuelva .T. o .F. y si tiene algo que no sean sólo espacios que me retorne lo contrario.
con esto que decis no comprendes entonces lo que la función hace.
1. quita los espacios a la izquierda y derecha de un caracter cualquiera.
2. por lo dicho en el numeral 1, si en un texbox tenes muchos espacios y ningun otro caracter, entonces quitaria todos los espacios y al evaluar el textbox resultaria que esta vacio.
3. si tenes mas dudas exponelas para que las aclaremos :drinks:
-
Con lo q expone Kike te queda mas q resuelto tu problema si lo q buscas es ver si el text esta vacio.
Y otra forma de hacer como conocimiento general es chequear el len
if len(alltrim(thisform.textboX.value)) = 0
*condicion si esta vacio el texbox
else
*condiciones si el texbox tiene datos
endif
Pero si lo q quieres evaluar es la tabla entonces en vez del text evalua el campo.