Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: ale_xi en Julio 12, 2016, 11:12:39 pm

Título: Primer Caracter En Mayuscula De Un String
Publicado por: ale_xi en Julio 12, 2016, 11:12:39 pm
Saludos

Me encuentro con el problema de ver como podría colocar a Mayuscula solo la primera letra de un string que se esté escribiendo en un TextBox e incluso que se evalue que si en el string hay un espacio en blanco, colocar en mayuscula la primera letra, y el resto quede en minuscula.

Ej: Augusto Valvuena

Unas lineas de código que haga esto sin que el usuario tenga que hacerlo por si mismo, algo automatizado.

Muchas gracias por cualquier ayuda.
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: AxioUK en Julio 13, 2016, 12:38:00 am
Hola ale_xi

Prueba con esto:
Código: (VB) [Seleccionar]
Private Sub txtbox_LostFocus()
Dim sPalabra() As String
Dim Palabra As String
Dim i As Integer

sPalabra = Split(txtbox.Text, " ")

txtbox.Text = ""

For i = LBound(sPalabra) To UBound(sPalabra)
    Palabra = UCase$(Left$(sPalabra(i), 1)) & LCase$(Mid$(sPalabra(i), 2, Len(sPalabra(i))))
    txtbox.Text = txtbox.Text & " " & Palabra
Next i
End Sub

Saludos Cordiales
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: ale_xi en Julio 13, 2016, 12:57:21 am
No me funcionó el codigo
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: AxioUK en Julio 13, 2016, 01:18:04 am
Si Funciona, debes usarlo en el LOSTFOCUS del Cuadro de texto....

https://mega.nz/#!jc5l1SwI!S-JAxXar8OtRy_pX6p5ZVXutXEq7XQcLb9Qww6XlVzs (https://mega.nz/#!jc5l1SwI!S-JAxXar8OtRy_pX6p5ZVXutXEq7XQcLb9Qww6XlVzs)
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: ale_xi en Julio 13, 2016, 01:55:00 am
gracias AxioUK
Si me funcionó el código.. pero yo quiero usa evento Change
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: AxioUK en Julio 13, 2016, 12:07:13 pm
jajaja ese "yo quiero" me sonó a mi bebita cuando hace berrinche...

prueba con este Código en el Evento KEYPRESS

Código: (VB) [Seleccionar]
Private Sub txtbox_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeySpace Then
    sPalabra = Split(txtbox.Text, " ")
    txtbox.Text = ""
    KeyAscii = 0
    For i = LBound(sPalabra) To UBound(sPalabra)
        Palabra = UCase$(Left$(sPalabra(i), 1)) & LCase$(Mid$(sPalabra(i), 2, Len(sPalabra(i))))
        txtbox.Text = txtbox.Text & Palabra & " "
        txtbox.SelStart = Len(txtbox.Text)
    Next i
End If

End Sub
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: LeandroA en Julio 13, 2016, 03:57:05 pm
hola, esta función hace lo mismo pero vos ubicarla donde te guste

MsgBox StrConv("hola mundo", vbProperCase)

saludos.
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: AxioUK en Julio 13, 2016, 10:10:29 pm
Debo leer más... o usar más el Google...

(https://s31.postimg.org/eksm5cbef/see_that.gif) (https://postimg.org/image/eksm5cbef/)

Así debieras usarla en el evento Change, que es lo que querías:
Código: (VB) [Seleccionar]
Private Sub txtText1_Change()
With txtText1
    .SelStart = Len(.Text)
    .Text = StrConv(.Text, vbProperCase)
End With
End Sub
Título: Re:Primer Caracter En Mayuscula De Un String
Publicado por: ale_xi en Julio 18, 2016, 01:32:10 am
hola AxioUK... muchas gracias por enviarme el código, me funciono muy bien