elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RETO] uCaseCorrect. Corrector de Mayusculas!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] uCaseCorrect. Corrector de Mayusculas!  (Leído 17,739 veces)
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
[RETO] uCaseCorrect. Corrector de Mayusculas!
« en: 16 Febrero 2011, 13:08 pm »

HOLA!!!

Este reto consiste en poner mayusculas a las letras que estan delante de un punto , punto y aparte , nueva linea , signo de exclamacion o signo de interrogacion (abiertos o cerrados).

Estructura:
Código
  1. uCaseCorrect(Txt as String) as String

La funcion debe corregir las mayusculas de la cadena poniendo mayusculas despues de los puntos y en cuanto a los ¡! y ¿?  miren esto : http://goo.gl/z14ab

:¬¬ FROG :¬¬

Creo que con eso lo habran entendido...

GRACIAS POR LEER!!!


« Última modificación: 16 Febrero 2011, 16:44 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] uCaseCorrect(Txt as String) as String ______Corrector de Mayusculas.
« Respuesta #1 en: 16 Febrero 2011, 13:13 pm »

Que bonito! :D
Me apunto! :)
Igual quedaría más divertido metiendo más cosas, como por ejemplo despues de las comas... :P

DoEvents! :P


« Última modificación: 16 Febrero 2011, 13:33 pm por Mr. Frog © » En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] uCaseCorrect(Txt as String) as String ______Corrector de Mayusculas.
« Respuesta #2 en: 16 Febrero 2011, 13:39 pm »

HOLA!!!

Como despues de las comas? XD

Que yo sepa despues de las comas se escribe igual.

Ya se le agregamos los otros signos de puntuacion como ¿? y ¡! Que luego hay que escribir mayusculas.

GRACIAS POR LEER!!!
« Última modificación: 16 Febrero 2011, 13:42 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] uCaseCorrect(Txt as String) as String ______Corrector de Mayusculas.
« Respuesta #3 en: 16 Febrero 2011, 16:04 pm »

Pero...
Mira esto : http://goo.gl/z14ab

DoEvents! :P
En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] uCaseCorrect(Txt as String) as String ______Corrector de Mayusculas.
« Respuesta #4 en: 16 Febrero 2011, 16:09 pm »

HOLA!!!

Actualizado el RETO!

Agregadas variables booleanas para seleccionar si queres poner mayusculas despues de puntos, signos de interrogacion o exclamacion.


GRACIAS POR LEER!!!
« Última modificación: 16 Febrero 2011, 18:00 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: [RETO] uCaseCorrect(Txt as String) as String ______Corrector de Mayusculas.
« Respuesta #5 en: 16 Febrero 2011, 16:18 pm »

Pero Frog, en el coso q pasaste es porq dice un Nombre xD, voy a ver si puedo hacer este reto aunquesea xD
En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] uCaseCorrect. Corrector de Mayusculas!
« Respuesta #6 en: 16 Febrero 2011, 17:55 pm »

HOLA!!!

Al fin!

Termine la funcion, estoy feliz con que sea funcional XD no se como me va a ir con la velocidad, seguro es lenta :P

Código
  1. Private Function uCaseCorrect7913(Txt As String) As String
  2. Dim X         As Long
  3. Dim Y         As Long
  4. Dim Aux()     As String
  5. Dim MED       As Long
  6. Dim Ubi()     As Long
  7. Dim Susp      As Long
  8. Dim SIGNO(2)  As String
  9.  
  10. SIGNO(0) = ".": SIGNO(1) = "?": SIGNO(2) = "!"   'TOMADO DE XXX-ZERO-XXX
  11.  
  12. Txt = "." & Txt & "a"
  13. ReDim Sus(Int(Len(Txt) / 3))
  14. ReDim Ubi(Len(Txt) + 5)
  15.    '".?¡"
  16.    For X = 0 To 2
  17.        Do
  18.            Y = Y + 1
  19.            Ubi(Y) = InStr(Ubi(Y - 1) + 1, Txt, SIGNO(X))
  20.        Loop While Ubi(Y) <> 0
  21.    Next
  22.    'COMPROBAR "..."
  23.    Do
  24.        Susp = InStr(Susp + 1, Txt, "...")
  25.        If Susp <> 0 Then
  26.            For X = 1 To Y
  27.                If Ubi(X) = Susp + 2 Then Ubi(X) = 0
  28.            Next
  29.        End If
  30.    Loop While Susp <> 0
  31.    'PONER MAYUSCULAS A LA PUNTUACION
  32.    ReDim Preserve Ubi(Y)
  33.    For X = 1 To Y
  34.        If Ubi(X) > 0 Then
  35.            MED = Ubi(X)
  36.            Do
  37.                MED = MED + 1
  38.            Loop While Not (((Asc(Mid$(Txt, MED, 1)) > 64) And Asc(Mid$(Txt, MED, 1)) < 91) Or ((Asc(Mid$(Txt, MED, 1)) > 96) And Asc(Mid$(Txt, MED, 1)) < 123)) And Not (Mid$(Txt, MED, 1) = "," Or Mid$(Txt, MED, 1) = ";" Or Mid$(Txt, MED, 1) = ".")
  39.            Mid$(Txt, MED, 1) = UCase$(Mid$(Txt, MED, 1))
  40.        End If
  41.    Next
  42.    'vbNewLine--------vbNewLine
  43.    Aux = Split(Txt, vbNewLine)
  44.    For X = 0 To UBound(Aux)
  45.        MED = 0
  46.        If X <> 0 Then
  47.            If Right$(Aux(X - 1), 1) = "." Or Right$(Aux(X - 1), 1) = "?" Or Right$(Aux(X - 1), 1) = "!" Then
  48.                Do
  49.                    MED = MED + 1
  50.                Loop While Not (((Asc(Mid$(Aux(X), MED, 1)) > 64) And Asc(Mid$(Aux(X), MED, 1)) < 91) Or ((Asc(Mid$(Aux(X), MED, 1)) > 96) And Asc(Mid$(Aux(X), MED, 1)) < 123))
  51.                Mid$(Aux(X), MED, 1) = UCase$(Mid$(Aux(X), MED, 1))
  52.            End If
  53.        End If
  54.    Next
  55.    For X = 0 To UBound(Aux)
  56.        uCaseCorrect7913 = uCaseCorrect7913 & Aux(X) & vbNewLine
  57.    Next
  58.    uCaseCorrect7913 = Mid$(uCaseCorrect7913, 2, Len(uCaseCorrect7913) - 4)
  59. End Function
  60.  

GRACIAS POR LEER!!!
« Última modificación: 18 Febrero 2011, 14:42 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: [RETO] uCaseCorrect. Corrector de Mayusculas!
« Respuesta #7 en: 16 Febrero 2011, 18:39 pm »

Bueno yo dejo la mia, como siempre 0 profesional xD pero bue.. talvez es la forma mas facil y eso es bueno no se.

EDITADOOO: Me dedico a otra cosa mejor mientras.. xD
« Última modificación: 16 Febrero 2011, 18:44 pm por XXX-ZERO-XXX » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [RETO] uCaseCorrect. Corrector de Mayusculas!
« Respuesta #8 en: 16 Febrero 2011, 18:54 pm »

@79137913

Error:

Cadenas:

* "miguel, ¡cuanto me alegro de que hayas llamado!"
** Debe retornar: "Miguel, ¡cuánto me alegro de que hayas llamado!"

Dulces Lunas!¡.
« Última modificación: 16 Febrero 2011, 18:59 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: [RETO] uCaseCorrect. Corrector de Mayusculas!
« Respuesta #9 en: 16 Febrero 2011, 19:00 pm »

Me faltan mas cosas pero voy dejando aca, desp voy modificando este post:

Código
  1. Option Explicit
  2.  
  3. Function uCaseCorrect(txt As String) As String
  4.  
  5. Dim sFrase As String, sText As String
  6. Dim pos As Long, i As Long, k As Long
  7. Dim signo(4) As String
  8. signo(0) = "¡": signo(2) = "."
  9. signo(1) = "¿": signo(3) = "!": signo(4) = "?"
  10.  
  11. sText = UCase$(Left$(txt, 1))
  12. sFrase = sText & Mid$(txt, 2)
  13. uCaseCorrect = sFrase
  14.  
  15. For i = 0 To 4
  16. If InStr(1, sFrase, signo(i)) <> 0 Then
  17. k = 1
  18. Do
  19. pos = InStr(k, sFrase, signo(i))
  20. While Mid$(sFrase, pos + 1, 1) = " "
  21. pos = pos + 1
  22. Wend
  23. sText = UCase$(Mid$(sFrase, pos + 1, 1)) & Mid$(sFrase, pos + 2)
  24. sFrase = Left$(sFrase, pos) & sText
  25. k = k + 1
  26. Loop While InStr(k, sFrase, signo(i)) <> 0
  27. End If
  28. Next i
  29.  
  30. uCaseCorrect = sFrase
  31.  
  32. End Function
  33.  
  34. Private Sub Form_Load()
  35.  
  36. Debug.Print uCaseCorrect("¡hola! ¿como andas? espero que bien che!!!   Que pases bien entonces. chau. bye!")
  37.  
  38. End Sub
  39.  

Salida:

Citar
¡Hola! ¿Como andas? Espero que bien che!!!   Que pases bien entonces. Chau. Bye!
« Última modificación: 16 Febrero 2011, 19:49 pm por XXX-ZERO-XXX » En línea

Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Corrector ortografico « 1 2 3 »
Sugerencias y dudas sobre el Foro
d(-_-)b 23 15,096 Último mensaje 9 Diciembre 2007, 20:21 pm
por Ragnarok
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines