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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  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,836 veces)
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



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

Ya está corregido el mío también... :)



Prueba:
Código
  1. Private Sub Form_Load()
  2. Dim c1  As Class1
  3. Const s1 As String = "¿hola como estás? , esto es sólo una prueba Miguel... y además : ¡funciona genial!  amo a las ranas!."
  4.  
  5.    Set c1 = New Class1
  6.    Debug.Print c1.CorrectUCase(s1)
  7.    Debug.Print uCaseCorrect7913(s1)
  8.    Set c1 = Nothing
  9. 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
  1. uCaseCorrect7913 = Mid$(uCaseCorrect7913, 2, Len(uCaseCorrect7913) - 4)



Test:
Código
  1. 'Compilado quitando comprobación de límites de arrays
  2.  
  3. Option Explicit
  4.  
  5. Private Sub Form_Load()
  6. Dim t   As New CTiming
  7. Dim c1  As Class1
  8. Dim X   As Long
  9. Dim s   As String
  10.  
  11.    Set c1 = New Class1
  12.  
  13.    AutoRedraw = True
  14.  
  15.    s = Text1.Text '// Mismo contenido que en el anterior test
  16.  
  17.    t.Reset
  18.    For X = 1 To 1000
  19.        uCaseCorrect7913 s
  20.    Next
  21.    Me.Print "uCaseCorrect7913", t.sElapsed
  22.  
  23.    DoEvents
  24.  
  25.    t.Reset
  26.    For X = 1 To 1000
  27.        c1.CorrectUCase s
  28.    Next
  29.    Me.Print "cFrogUCase.cls", t.sElapsed
  30.  
  31.    Set c1 = Nothing
  32. End Sub

Resultado:


DoEvents! :P


« Última modificación: 18 Febrero 2011, 14:57 pm por Mr.Frog™ » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [RETO] uCaseCorrect. Corrector de Mayusculas!
« Respuesta #31 en: 19 Febrero 2011, 07:31 am »

yo no se ustedes pero si quieren algo al 100% mejor publicamos Varias cadenas en TODAS las sircustancias para que mas de uno ya tenga a la mano dichas cadenas y haga pruebas y ls compruebe con una ya que este perfecta, es decir meterle puntos comas al grede pero que sean coherentes y tambien por que no incoherentes; pero que estas ultimas nos reporte donde rayos hay errores.

P.D.: No vi el codigo de la Rana anteriormente completo, pero esta genial ese cambio de tipo de los bytes del char a los 2 bytes del integer para asi manipular la string de forma mas facil, si no mal recuerdo esto mismo lo hacia L.A..

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
ElFomador

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: [RETO] uCaseCorrect. Corrector de Mayusculas!
« Respuesta #32 en: 11 Mayo 2016, 17:51 pm »

Este es mi código, espero que os guste. :P
Código
  1. Private Function uCaseCorrector(txt As String) As String
  2.    Dim Signos As String
  3.    Dim Espacios() As Integer
  4.    Dim a, b As Integer
  5.    Dim tmp As String
  6.    Dim tmp2 As String
  7.  
  8.    'Los signos a controlar, se puede incrementar
  9.    Signos = ".;:¿?¡!"
  10.  
  11.    'Sacamos los espacios
  12.    ReDim Espacios(1 To Len(txt))
  13.  
  14.    For a = 1 To Len(txt)
  15.        b = b + 1
  16.        If Mid(txt, a, 1) = " " Then
  17.            Espacios(b) = b
  18.            b = b - 1
  19.        Else
  20.            tmp = tmp + Mid(txt, a, 1)
  21.        End If
  22.    Next a
  23.  
  24.    b = 0
  25.  
  26.    'Corregimos el texto
  27.    For b = 1 To Len(Signos)
  28.        For a = 1 To Len(tmp)
  29.            If Mid(tmp, a, 1) = Mid(Signos, b, 1) And a + 1 < Len(tmp) Then
  30.                Mid(tmp, a + 1, 1) = UCase(Mid(tmp, a + 1, 1))
  31.            End If
  32.        Next a
  33.    Next b
  34.  
  35.    'Colocamos los espacios
  36.    For a = 1 To Len(txt)
  37.        If Espacios(a) <> 0 Then
  38.            tmp2 = tmp2 + " " + Mid(tmp, a, 1)
  39.        Else
  40.            tmp2 = tmp2 + Mid(tmp, a, 1)
  41.        End If
  42.    Next a
  43.  
  44.    'La Solucion
  45.    uCaseCorrector = tmp2
  46. End Function
  47.  

Saludos
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,214 Último mensaje 9 Diciembre 2007, 20:21 pm
por Ragnarok
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines