Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado 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.
-
Hola ale_xi
Prueba con esto:
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
-
No me funcionó el codigo
-
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)
-
gracias AxioUK
Si me funcionó el código.. pero yo quiero usa evento Change
-
jajaja ese "yo quiero" me sonó a mi bebita cuando hace berrinche...
prueba con este Código en el Evento KEYPRESS
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
-
hola, esta función hace lo mismo pero vos ubicarla donde te guste
MsgBox StrConv("hola mundo", vbProperCase)
saludos.
-
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:
Private Sub txtText1_Change()
With txtText1
.SelStart = Len(.Text)
.Text = StrConv(.Text, vbProperCase)
End With
End Sub
-
hola AxioUK... muchas gracias por enviarme el código, me funciono muy bien