Prueba:
Código
Private Sub Form_Load() Dim c1 As Class1 Const s1 As String = "¿hola como estás? , esto es sólo una prueba Miguel... y además : ¡funciona genial! amo a las ranas!." Set c1 = New Class1 Debug.Print c1.CorrectUCase(s1) Debug.Print uCaseCorrect7913(s1) Set c1 = Nothing End sub
Retorno:
Código:
¿Hola como estás? , esto es sólo una prueba Miguel... y además : ¡funciona genial! Amo a las ranas!.
¿Hola como estás? , esto es sólo una prueba Miguel... y además : ¡funciona genial! Amo a las ranas!.A
Cambiando esta linea el 3 por un 4 me da resultado correcto:
Código
uCaseCorrect7913 = Mid$(uCaseCorrect7913, 2, Len(uCaseCorrect7913) - 4)
Test:
Código
'Compilado quitando comprobación de límites de arrays Option Explicit Private Sub Form_Load() Dim t As New CTiming Dim c1 As Class1 Dim X As Long Dim s As String Set c1 = New Class1 AutoRedraw = True s = Text1.Text '// Mismo contenido que en el anterior test t.Reset For X = 1 To 1000 uCaseCorrect7913 s Next Me.Print "uCaseCorrect7913", t.sElapsed DoEvents t.Reset For X = 1 To 1000 c1.CorrectUCase s Next Me.Print "cFrogUCase.cls", t.sElapsed Set c1 = Nothing End Sub
Resultado:
DoEvents!