Autor |
Mensaje |
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Capitalizar Una Cadena
Buenas!.
Parece que no hay función que haga esto en gambas.
Inventé esta:
Citar:
Martín
Quería probar con UCase y LCase pero parece que dan problemas con UTF-8
Aparentemente recomienda usar la clase String mejor. Al tener tilde la í no aparenta dar error con Upper,
Ahora mismo no sabría buscarle las cosquillas para que diese error.
Ah, si comentaros, no hubo forma de encontrar Upper o Lower en la ayuda del propio editor de Gambas.
Probé en español, nada. Probé en inglés, nada también. Viene en la misma ayuda de Ucase o LCase,
pero en otro lugar de la ayuda no.
O no la direcciona a la ayuda donde se encuentra UCase o LCase.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Domingo, 22 Julio 2018, 12:03; editado 1 vez
|
#1 Domingo, 22 Julio 2018, 11:53 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Capitalizar Una Cadena
La función que hace eso en gambas es UcaseFirst en el componente gb.util.
=================== No podemos regresar
|
#2 Domingo, 22 Julio 2018, 17:28 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Capitalizar Una Cadena
Shordi:
Ah, pero "UcaseFirst" no hace lo mismo que la función que puse arriba. Solo hace mayúscula la primer letra.
La idea es coger cualquier palabra, en este caso un nombre y convertir su primera letra en mayúscula y el resto en minúscula.
Al igual que hace en Python:
Citar:
capitalize(...)
| S.capitalize() -> str
|
| Return a capitalized version of S, i.e. make the first character
| have upper case and the rest lower case.
Es que si solamente hace mayúscula la primera, el resto de las cadenas se quedan hecha un churro.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Lunes, 23 Julio 2018, 00:23 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Capitalizar Una Cadena
Parece que no hay función que haga esto en gambas.
La pregunta real es una otra: por qué habría de hacerlo ?
|
#4 Lunes, 23 Julio 2018, 00:36 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Capitalizar Una Cadena
Lo más parecido que he necesitado hacer nunca es el poner en mayúscula la primera letra de cada palabra. (Lo uso para normalizar la grabación de nombre y apellidos, que mis usuarios siguen creyendo que si lo teclean todo con mayúsculas se ahorran poner los acentos... y eso que son maestros)
=================== No podemos regresar
|
#5 Lunes, 23 Julio 2018, 05:05 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Capitalizar Una Cadena
Vuott:
Citar:
La pregunta real es una otra: por qué habría de hacerlo ?
Es una función que puede ser requerida. Comparaciones por ejemplo, rectificar, etc, etc.
En Python hay funciones a diestro y siniestro. A veces creo que es exagerado.
Tienes que buscarle la utilidad a esas funciones. La mejor forma de ver esa utilidad es viendo algo de código
y su empleo. Cuando no se ve o no se usa no le veremos la utilidad. Es como desconocer que existe algo que puede
ser de utilidad, pero como no sabes que existe.
Por normal general construimos la función. Pero imagina construir una función muy compleja y que el propio lenguaje ya la tiene
pero no encuentras forma de saber si existe.
Shordi:
En este caso no es cambiar a mayúsculas la letra de cada palabra.
Es muy similar en parte a la primera.
Es raro eso de capitalizar cada letra de la palabra. Aunque lo hago en ciertas hojas de Calc.
Recuerda el tema de la incompatibilidad de UCase y LCase con UTF-8.
Es que no he visto la forma de testearlo para que de error. Si llegue a verlo en un TextBox y reparandolo con la clase String.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#6 Lunes, 23 Julio 2018, 08:05 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Capitalizar Una Cadena
En Python ... a diestro y siniestro.
Por supuesto, se mueve como una... serpiente !
A veces creo que es exagerado.
Bravo.
Estoy de acuerdo con este principio.
última edición por vuott el Lunes, 23 Julio 2018, 14:42; editado 1 vez
|
#7 Lunes, 23 Julio 2018, 14:42 |
|
|
imagomundi
Alberto Alejandro Moyano
Usuario
Registrado: Noviembre 2009
Mensajes: 33
Edad: 60 Ubicación: Buenos Aires
|
Re: Capitalizar Una Cadena
El inglés y el español tienen un tratamiento diferente sobre las palabras léxicas (perro, casa, auto, etc.) de las gramaticales (artículos, preposiciones, etc.) una función de capitalizar cada primer letra (que debería ser léxica) serviria en una aplicación de bibliotecología o para usar con bibtex o biblatex, por ejemplo.
El uso de capitalización de mayúsculas
The Use of Capital Letter Capitalization
|
#8 Lunes, 30 Julio 2018, 23:10 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Capitalizar Una Cadena
Desde luego uso tiene. Todo dependerá de lo que se quiera hacer.
Que haya aplicaciones que sea más habitual verlo es cuestión de conocerlas o verlas.
Cuando hace bastantes años no teníamos Internet, usábamos cd's de shareware o freeware y puede
que en esa época tuviéramos más tiempo disponible para ver aplicaciones y aplicaciones,
con lo que veíamos patrones de trabajo y diseño de otros programadores mas veces.
En la actualidad es muy probable que como usuario dedicado a la programación, no profesional
y un uso cotidiano del ordenador. Sean aplicaciones contadas las que usamos a diario.
Cuando antes (por lo menos por mi parte) me dedicaba a ver el contenido del cd en la mayoría de las
aplicaciones principales de portada de la revista. Algunas acompañaban una captura y "te atrapaba por los ojos".
( Como diría el grupo punk "The Clash" de la época de los 70).
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#9 Martes, 31 Julio 2018, 08:49 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Capitalizar Una Cadena
...siguen creyendo que si lo teclean todo con mayúsculas se ahorran poner los acentos... y eso que son maestros)
Si es un error bastante común.
Saludos.
|
#10 Martes, 31 Julio 2018, 16:13 |
|
|
|