Programación General > Visual Basic 6.0 e inferiores
Primer Caracter En Mayuscula De Un String
cpmario:
Aún más fácil
Usa StrConv
Ejemplo:
gstrText = StrConv(gstrText, vbProperCase)
:)
UserCode:
Gracias muchachos, bueno no sé si el código de zareth sea lo justo ya que en caso de que se escriba un nombre más completo (1er nombre, 2do nombre, o ambos apellidos) ya no se reflejaria como debiese, variaria dependiendo del ingreso.
En mi código ya está la linea que indicas cpmario, es una buena linea de código sin duda alguna porque es lo que necesito que en el text se aplique, el problema es que cuando escribes un nombre, el cursos vuelve a empezar desde Len=0 (por asi decirlo) en el TextBox es decir....
Si se escribe: Juan
Uno escribe el primer caracter: J
lo eleva a mayuscula (todo bien con eso)
pero al escribir el siguiente caracter no lo pone a la derecha sino a la izquierda
Ej: Uj
y al final termina con esto: Nauj
El StrConv(TextBox, vbProperCase) si me sirve porque luego de un espacio en blanco escribe en mayuscula el caracter, de cada palabra, lo cual está bien.
Bueno perdon por el retraso, realmente hoy no podré metermele a este pequeño asunto del TextBox, debido a que otras cosas me han consumido el tiempo, mañana en la mañana si y les aviso, solo necesito metermele a realizar un Reves del string y listo.
Muchas gracias compadres.
cpmario:
Coloca el código en el evento LostFocus
--- Código: Text --- Private Sub TextBox_LostFocus() TextBox.Text = StrConv(TeTextBox.Text, vbProperCase)End Sub
:)
jodijo5:
tengo una solucion mas corta me parece:
--- Código: Text --- Private Sub Textnombre_change()On Error Resume NextTextnombre = UCase(Mid(Textnombre, 1, 1)) & Mid(Textnombre, 2)If (Asc(Mid(Right(Textnombre, 2), 1, 1)) = 32) Then Textnombre = Left(Textnombre, Len(Textnombre) - 1) & UCase(Right(Textnombre, 1))Textnombre.SelStart = Len(Textnombre)End Sub
DiabloRojo:
Yo probé algo así y no me dió ningún problema.
--- Código: Text --- Private Sub Text1_Change() Text1.Text=StrConv(Text1.Text,vbProperCase) Text1.SelStar=Len(Text1.Text)End Sub
Por otro lado, el error número 28 'No hay suficiente espacio de pila' se debe a estas dos líneas combinadas:
--- Citar ---...
Reves = Reves & Mid(TxtNombre.Text, i, 1)
...
TxtNombre.Text = StrConv(Reves, vbProperCase)
--- Fin de la cita ---
Ya que provocan que el evento Change ocurra infinitas veces (hasta que se acaba el espacio de la pila).
DiabloRojo.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa