Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 3
Ir a la página 1, 2, 3  Siguiente
 
Convertir A Mayuscula La Primera Letra De Una Cadena
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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!!!
 



 
kexxya - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
skaterleopoldo12 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Convertir A Mayuscula La Primera Letra De Una Cadena 
 
Probar con esto.

PUBLIC SUB txtEntrada_KeyPress()
DIM cadena AS String
DIM palabra AS String
DIM caracter AS String
DIM matrizcadena AS NEW String[]
DIM x AS Integer

IF (Key.Code = Key.Return) OR (Key.code = Key.Enter) THEN
  cadena = txtEntrada.Text
  matrizcadena = Split(cadena, " ")
  txtEntrada.Text = ""
  FOR x = 0 TO matrizcadena.Count - 1
      palabra = Replace(matrizcadena[x], Left$(matrizcadena[x], 1), UCase(Left$(matrizcadena[x], 1)))
      txtEntrada.Text = txtEntrada.Text & " " & palabra  
  NEXT  
ENDIF

END
 


Saludos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Convertir A Mayuscula La Primera Letra De Una Cadena 
 
Creo que ya esta.

PUBLIC SUB txtEntrada_KeyPress()
DIM cadena AS String
DIM palabra AS String
DIM caracter AS String
DIM cambiacaracter AS String
DIM matrizcadena AS NEW String[]
DIM x AS Integer

IF (Key.Code = Key.Return) OR (Key.code = Key.Enter) THEN
  cadena = txtEntrada.Text
  matrizcadena = Split(cadena, " ")
  txtEntrada.Text = ""
  FOR x = 0 TO matrizcadena.Count - 1
      caracter = Left$(matrizcadena[x], 1)
      cambiacaracter = UCase(caracter)
      palabra = Mid$(matrizcadena[x], 2, Len(matrizcadena[x]))
      txtEntrada.Text = txtEntrada.Text & " " & cambiacaracter & palabra
  NEXT  
ENDIF

END
 


Cuantas variables tiene un programa.  
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.....
 



 
kexxya - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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!
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
Cadena=ucase(left(cadena,1)) & mid(cadena,2)


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.

 
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes ¿ Una Cadena Vacía Es Una Subcadena De C... Shell General 2 Jueves, 07 Agosto 2014, 14:01 Ver último mensaje
Shell
No hay nuevos mensajes ¿ Qué Ocupa Más ?. ¿ Array De Cadena O... Shell General 17 Jueves, 26 Noviembre 2015, 09:49 Ver último mensaje
Shell
No hay nuevos mensajes Ejemplo De Busqueda En Un Listbox, Letra A... Shell Aplicaciones/Fragmentos de Código 1 Viernes, 25 Marzo 2016, 22:07 Ver último mensaje
reyes
No hay nuevos mensajes Primera Liada calcena General 7 Domingo, 15 Octobre 2017, 10:48 Ver último mensaje
jguardon
 

Publicar nuevo tema  Responder al tema  Página 1 de 3
Ir a la página 1, 2, 3  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron