SoloCodigo

Programación General => Visual FoxPro => Mensaje iniciado por: luisq en Viernes 16 de Mayo de 2008, 02:57

Título: Problema Con Un Formulario En Fox
Publicado por: luisq en Viernes 16 de Mayo de 2008, 02:57
hola a todos en el foro...tengo un pequeño problema con un formulario. pasa que tengo que hacer que cuando ponga un a frase este mecuente cuantas vocales tiene esa frase, y no he podido hacerlo! sera que por favor me pueden ayudar con este problemita.....muchas gracias por la ayudan que me puedan prestar
Título: Re: Problema Con Un Formulario En Fox
Publicado por: emuller en Viernes 16 de Mayo de 2008, 17:49
No se en que parte tenés el problema, si no lográs que cuentes la vocales (no te funciona el algoritmo) o es otra cosa.
Si es el algoritmo esto funciona:
Código: Text
  1. LOCAL cadena, cantidadVocales, ctemp
  2. && THISFORM.text es el campo de texto que tiene la cadena a la que se le quiere contar las vocales
  3. cadena = ALLTRIM(THISFORM.text.Value)
  4. cantidadVocales = 0
  5.  
  6. FOR i = 1 TO LEN(cadena) STEP 1
  7.   ctemp = UPPER(SUBSTRC(cadena,i,1))
  8.   IF ctemp=='A' OR  ctemp=='E' OR ctemp=='I' OR ctemp=='O' OR ctemp=='U' THEN
  9.     cantidadVocales = cantidadVocales + 1
  10.   ENDIF
  11. ENDFOR
  12.  
  13. MESSAGEBOX("Cantidad de vocales: "+ALLTRIM(STR(cantidadVocales)))
  14.  

Por supuesto, el messagebox es sólo para ver el resultado y seguramente no lo necesites. El resultado queda en la variable "cantidadVocales"
Título: Re: Problema Con Un Formulario En Fox
Publicado por: luisq en Sábado 17 de Mayo de 2008, 06:32
Cita de: "emuller"
No se en que parte tenés el problema, si no lográs que cuentes la vocales (no te funciona el algoritmo) o es otra cosa.
Si es el algoritmo esto funciona:
Código: Text
  1. LOCAL cadena, cantidadVocales, ctemp
  2. && THISFORM.text es el campo de texto que tiene la cadena a la que se le quiere contar las vocales
  3. cadena = ALLTRIM(THISFORM.text.Value)
  4. cantidadVocales = 0
  5.  
  6. FOR i = 1 TO LEN(cadena) STEP 1
  7.   ctemp = UPPER(SUBSTRC(cadena,i,1))
  8.   IF ctemp=='A' OR  ctemp=='E' OR ctemp=='I' OR ctemp=='O' OR ctemp=='U' THEN
  9.     cantidadVocales = cantidadVocales + 1
  10.   ENDIF
  11. ENDFOR
  12.  
  13. MESSAGEBOX("Cantidad de vocales: "+ALLTRIM(STR(cantidadVocales)))
  14.  

Por supuesto, el messagebox es sólo para ver el resultado y seguramente no lo necesites. El resultado queda en la variable "cantidadVocales"
muchas gracias por la ayuda amigo me ha sido de mucha utilidad. thx