Autor |
Mensaje |
kexxya
Usuario
Registrado: Marzo 2011
Mensajes: 31
Edad: 40 Ubicación: Bejuma - Carabobo
|
Convertir A Mayuscula La Primera Letra De Una Cadena
Ubuntu 10.10
gambas 2.22
El problema que tengo es que usando la funcion Ucase en el evento keypress del textbox donde introduzco la cadena me convierte toda la cadena en mayuscula mas yo solo deseo q me convierta solo la primera letra de la cadena introducida y que ademas me permita añadir otra cadena en el mismo textbox y que igualmente me convierta solo la primera letra nada mas en mayuscula..es para guardar nombres en una base de datos
PUBLIC SUB txtnombreA_KeyPress()
txtnombreA.Text = UCase(txtnombreA.Text)
END
Gracias de antemano por la ayuda que me puedan prestar!!!
|
#1 Miercoles, 27 Abril 2011, 12:34 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
Tendras que recorrer la cadena, (letra por letra) (For a=1 to Len(cadena) ) y cuando encuentres un espacio o punto, la siguiente letra (si no es espacio o numero) la tendras que poner en mayusculas (Ucase)
Saludos
|
#2 Miercoles, 27 Abril 2011, 14:19 |
|
|
skaterleopoldo12
Usuario
Registrado: Marzo 2011
Mensajes: 32
Edad: 35 Ubicación: Trujillo
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
jsbsan! Podrias dar mas detalles de lo que explicas esta interesante el tema tal vez sirva en algunas ocaciones... Gracias de Antemano Realizas un buen trabajo
|
#3 Miercoles, 27 Abril 2011, 14:47 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
Probar con esto.
Saludos.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#4 Jueves, 28 Abril 2011, 09:12 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
No funciona el todo, hace una cosa muy graciosa. Convertir convierte, pero como busca en cada palabra el carácter, lo cambia a mayúscula también.
Casi es lo que quieres. Hay que mejorar el programa.
Probar con una frase como:
pepe no podía ver a pepa.
Cambia cada p a mayúsculas con la función replace en cada palabra.
Cachis!, casi lo tenía.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#5 Jueves, 28 Abril 2011, 09:22 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
Creo que ya esta.
Cuantas variables tiene un programa.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#6 Jueves, 28 Abril 2011, 09:47 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
Hola de nuevo.
gambas me tiene viciado.
Se puede ahorrar variables.Cadena sobra, la sustituimos por el nombre de la caja de texto.
Aqui:
----
matrizcadena=split(txtEntrada.text," ")
----
cambiacaracter, sobra. Con caracter te vale.
----
caracter = Left$(matrizcadena[x], 1)
caracter = UCase(caracter)
----
Y se puede acortar el número de instrucciones, pero no es tan didáctico. Por ejemplo:
----
caracter=Ucase( Left$(matrizcadena[x], 1)
----
Por fin!.Todo programa es mejorable.Pero ya no sigo, que me van a reñir.
Que tengáis un buen día.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#7 Jueves, 28 Abril 2011, 10:19 |
|
|
kexxya
Usuario
Registrado: Marzo 2011
Mensajes: 31
Edad: 40 Ubicación: Bejuma - Carabobo
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
Mil gracias Shell su codigo esta casi perfecto porque hace lo que necesito que es convertir a mayuscula la primera letra de la cadena ya es un gran avance para mi solo tiene el detalle es que a medida que agrego una cadena me añade un espacio en blanco al principio de la primera cadena que introduje, supongamos que necesito introducir en la base de datos donde se almacena esta información el primer y el segundo nombre de la persona.....
|
#8 Jueves, 28 Abril 2011, 13:13 |
|
|
DEATH
Programador
Registrado: Septiembre 2009
Mensajes: 146
Edad: 42 Ubicación:
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
kexxya a la cadena final hazle un "trim" y eso sacará los espacios del principio y final
Shell ta bueno el código... sería bueno emplearlo en el evento "change"
saludos!
|
#9 Jueves, 28 Abril 2011, 15:19 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Convertir A Mayuscula La Primera Letra De Una Cadena
Hola
Si cadena es un string del que queremos poner en mayúscula la primera letra
left(cadena,1) obtiene el primer caracter (el que quremos pasar a mayúscula)
mid(cadena,2) devuelve todo el string menos el primer caracter (osea el resto)
ucase(left(cadena,1)) coge el primer caracter y lo conviete a mayúscula
Así que todo queda en
Te queda la cadena igual que estaba pero con la primera en mayúscula. Como bien dice shell es menos didáctico pero requiere muchos menos ciclos de computación y menos memoria.
|
#10 Jueves, 28 Abril 2011, 17:24 |
|
|
|