Visual Basic.NET - Función que pone acentos

   
Vista:

Función que pone acentos

Publicado por Carlos (77 intervenciones) el 24/05/2008 22:45:26
Hola, estoy desarrollando una función que, dada una sílaba, la devuelve acentuada.

La función es esta:

Private Function acentua(ByVal x As String) As String
Dim vocal As String = "aeiouAEIOU", vocalA As String = "áéíóúÁÉÍÓÚ", texto As String
texto = ""
For L As Integer = 1 To vocal.Length
texto = Replace(x, Mid(vocal, L, 1), Mid(vocalA, L, 1))
Next
Return texto
End Function

NOTA: antes de llamar a esta función, compruebo con otra función que no haya más de una vocal.

El problema es que no me devueve la sílaba acentuada y no sé por qué.

Saludos,
Carlos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Función que pone acentos

Publicado por Jim Miñano (44 intervenciones) el 11/06/2008 02:54:44
Hola man, disculpa si me gusta leer las preguntas antiguas por decirlo de algun modo, aunq espero qua ya tengas solucionado el problema te explico lo que esta pasando.

si te das cuenta segun tu logica aplicada tu variable x siempre tendra el valor de la palabra sin acentuar y es por eso que texto siempre sera la palabra sin acentuar a no ser que x sea una palabra q termine en vocal.

solución:

texto = x
For L As Integer = 1 To vocal.Length
texto = Replace(texto, Mid(vocal, L, 1), Mid(vocalA, L, 1))
Next
Return texto

saludos

www.solucionesperu.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar