Cadenas de caracteres

Hola Experto tengo un problema con cadenas de caracteres ingreso en un text :
 ramirez molina, ezequiel alberto . Tengo la siguiente duda como hago a convertir asi RAMIREZ MOLINA, Ricardo Alberto es decir  en text2 me figure . De la coma hacia la izquierda en mayuscula y de la coma a la derecha en mayuscula solo la primer letra del / o los nombre /s , me e puesto muchas horas y no sale nada que es lo que hay que hacer.
A mi me sale convertir la primer letra en mayúscula y el resto en minúscula. Pero la verdad no se que hacer cuando aparece la coma y dividirlo. Mayúscula minúscula
Hice algo así:
Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "ERROR", vbCritical, "ERROR AL ESCRIBIR"
Text1.SetFocus
Else
'Text1.Text = titulo(Text1.Text)
Text1.Text = Trim(LCase(Text1.Text)) & " "
LngSpace = InStr(Text1.Text, " ")
Do While LngSpace > 0
strTexto = strTexto & UCase(Mid(Text1.Text, 1, 1)) & Mid(Text1.Text, 2, LngSpace - 1)
Text1.Text = LTrim(Mid(Text1.Text, (LngSpace + 1)))
LngSpace = InStr(Text1.Text, " ")
Loop
titulo = strTexto
End If
End Sub
Gracias por su tiempo Experto.
Respuesta
1
Supongamos que tenemos dos TextBox, el primero (text1.text) tiene predefinida la cadena ramírez molina, ezequiel alberto y el segundo (text2.text) se encuentra en blanco. El código incluido en un botón (command1) para que lo primero quede en MAYÚSCULA y lo segundo con solo la primera letra en mayúscula seria el siguiente:
Private Sub Command1_Click()
Dim contador, indicador As Integer
Dim cadena, nose, nose1 As String
contador = 1
cadena = Text1.Text + "@"
Do While Mid(cadena, contador, 1) <> ","
nose = nose + Mid(cadena, contador, 1)
contador = contador + 1
Loop
nose = UCase(nose)
nose = nose + Mid(cadena, contador, 1)
contador = contador + 1
nose = nose + Mid(cadena, contador, 1)
contador = contador + 1
indicador = 0
Do While Mid(cadena, contador, 1) <> " "
If indicador = 0 Then
nose1 = nose1 + UCase(Mid(cadena, contador, 1))
contador = contador + 1
indicador = 1
Else
nose1 = nose1 + Mid(cadena, contador, 1)
contador = contador + 1
End If
Loop
nose1 = nose1 + Mid(cadena, contador, 1)
contador = contador + 1
indicador = 0
Do While Mid(cadena, contador, 1) <> "@"
If indicador = 0 Then
nose1 = nose1 + UCase(Mid(cadena, contador, 1))
contador = contador + 1
indicador = 1
Else
nose1 = nose1 + Mid(cadena, contador, 1)
contador = contador + 1
End If
Loop
Text2.Text = nose + nose1
End Sub
Gracias Experto en unas horas lo probare, lo única duda del código es por que pones el @ en varias ocasiones.
Tu respuesta me servirá de gran ayuda para trabajar con cadenas de caracteres..
Gracias Por tu tiempo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas