Inicio > Visual FoxPro > victoramf > Victor me salto un error

Victor me salto un error

Experto:
Usuario:
Fecha: 06/05/2008
Valoración: (5,00 sobre 5) Categoría: Visual FoxPro
06/05/2008
fugazzetta, usuario preguntando en Visual FoxPro
Usuario
el que me diste vos lo pase asi
a=2007
b=6
c=30
d= "Valida"
e= "Invalida"
If a > 1900 And a < 3000 And b > 0 And b <= 12
If c <= 28 Or (c = 29 And b = 2 And ( a % 4 ) = 0) Or ;
(c = 31 And AllTrim( b ) $ "1.3.5.7.8.10.12") Or ;
(c = 30 And AllTrim( b ) $ "4.6.9.11")
?d
Else
?e
EndIf
EndIf
puse d y e como variable sino no sabia que era cMess valida y cMess Invalida
pero bue, venia bien hasta que probe con dias 30 y 31
me tira este error
Program error
Function argument value, type, or count is invalid
esto solo pasa si pongo dias 30 o 31, lo demas anda barbaro,
y otra cosa en ves de poner la funion alltrim, no se podria usar inlist
muchisimas gracias
06/05/2008
fugazzetta, experto respondiendo en Visual FoxPro
Experto
Las funciones InList y AllTrim son distintas, no se puede sustituir.
Probado:
a=2007
b=6
c=30
d= "Valida"
e= "Invalida"
If a > 1900 And a < 3000 And b > 0 And b <= 12
     If c <= 28 Or (c = 29 And b = 2 And ( a % 4 ) = 0) Or ;
       (c = 31 And AllTrim( Str( b ) ) $ "1.3.5.7.8.10.12") Or ;
       (c = 30 And AllTrim( Str( b ) ) $ "4.6.9.11")
          ?d
     Else
          ?e
     EndIf
EndIf
06/05/2008
fugazzetta, usuario preguntando en Visual FoxPro
Usuario
Ahora si anda barbaro, victor vos me podrias decir que es lo que hace esa funcion AllTrim
por que yo busque y me dice que deja un lugar tanto a la derecha como a la izq, y la verdad no entiendo, y para que es el STR que agregaste y el signo $ muchisimas gracias
06/05/2008
fugazzetta, experto respondiendo en Visual FoxPro
Experto
Alltrim quita los espacios
Str convierte los números en caracteres
$ es el "atajo" de una función de búsqueda de caracteres
06/05/2008
fugazzetta, usuario preguntando en Visual FoxPro
Usuario
c = 31 And AllTrim( Str( b ) ) $ "1.3.5.7.8.10.12") Or
tonces en este renglon como funciona alltrim, donde quitas los espacios, por que no entiendo =)
06/05/2008
fugazzetta, experto respondiendo en Visual FoxPro
Experto
Convierto b en caracter [Str()] y elimino los espacios [AllTrim()] antes de compararla [$] con la cadena "1.3.5.7.8.10.12"
06/05/2008
fugazzetta, usuario preguntando en Visual FoxPro
Usuario
Vitro  tu eres profesor de VFP, por que la verdad estaria encantado de ser alumno tuyo, si das clase dime donde por fa
abrazos y mil gracias
no lo cierro por si te tengo que preguntar algo mas
 
06/05/2008
fugazzetta, experto respondiendo en Visual FoxPro
Experto
¿No sería mejor que en caso de duda abrieras una nueva pregunta?

El número de preguntas sin cerrar que podemos tener es limitado, por lo que si no tienes otra duda en la que consideres que puedo serte de utilidad, favor de cerrar esta pregunta para que pueda seguir respondiendo otras inquietudes.
06/05/2008
fugazzetta, usuario preguntando en Visual FoxPro
Usuario
ok Victor Muchisimas gracias y cualquier duda nos estamos viendo nuevamente, abrazos
Enlaces patrocinados