Visual Basic - poner mayusculas en nombre propio

Life is soft - evento anual de software empresarial
 
Vista:

poner mayusculas en nombre propio

Publicado por David Santelices (1 intervención) el 27/10/2005 17:35:19
hola....
estoy haciendo un programa donde las cajas de texto validan en lostfocus... solo permito la entrada de minusculas, pero cuando ingreso un nombre de persona quiero que pase de "david santelices toro" a "David Santelices Toro"... no se como hacer para detectar espacios y usar el ucase para que me haga solo esos cambios..
Les agradeceria una ayudita...
gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:poner mayusculas en nombre propio

Publicado por ivan (1039 intervenciones) el 27/10/2005 19:29:26
Se me ocurre esto...:

Con la función Mid obten caracter por caracter, si es igual a espacio (Ascii 32) entonces al caracter que siga lo conviertes a mayúscula, en caso de ser letra... aunque tuviera que serlo.

Puede hacer un ciclo de 1 hasta la longitud de tu texto

For i= 1 to len(nombre)
caracter=mid(nombre,i,1)
if caracter = espacio then
' el que sigue lo pones en UCASE
endif
Next i

Espero esto te sirva...
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:poner mayusculas en nombre propio

Publicado por Eli (49 intervenciones) el 27/10/2005 20:13:37
'En un Form haz lo siguiente y prueba, con este código convierte todas las letras despues de un espacio a mayuscula o sea en tipo titulo.

'Crea un TextBox que se llame Text1
'Crea un Label que se llame Label1
'Crea un boton que se llame CmdConvertir


Private Sub CmdConvertir_Click()
Label1.Caption = StrConv(Text1.Text, vbProperCase)
End Sub


Function ProperCase(ByVal txt As String) As String
Dim need_cap As Boolean
Dim i As Integer
Dim ch As String

txt = LCase(txt)
need_cap = True
For i = 1 To Len(txt)
ch = Mid$(txt, i, 1)
If ch >= "a" And ch <= "z" Then
If need_cap Then
Mid$(txt, i, 1) = UCase(ch)
need_cap = False
End If
Else
need_cap = True
End If
Next i
ProperCase = txt
End Function

suerte, salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

OTRA OPCION

Publicado por ivan (1039 intervenciones) el 27/10/2005 19:57:59
Me acabo de acordar al leer otro mensaje, también puedes usar la función InStr, la cual te sirve para buscar una cadena dentro de otra, te da como resultado la posición donde fue encontrada la cadena, si no la encuentra te da 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OTRA OPCION

Publicado por david santelices (53 intervenciones) el 03/11/2005 17:23:04
un millon de gracias amigos!!!! me sirvio muchoooo....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar