Primera Letra Mayúscula Después Espacio Capital *Solucionado
Posted:
Sat Apr 10, 2021 10:09 am
by leandro
Buenos días para todos
¿Existe una función en FW o xHarbour que coloque la primera letra en mayúscula después de un espacio?, me explico.
- Code: Select all Expand view
Local cNombre := "leandro alfonso arevalo suarez"
cNomFormato := lafuncion(cNombre)
?cNomFormato //Leandro Alfonso Arevalo Suarez
De antemano gracias
Re: Función Primera Letra Mayúscula Después Espacio
Posted:
Sat Apr 10, 2021 10:38 am
by cnavarro
Creo recordar que eso se llama Capital Letter o algo así, e incluso es posible que exista la function harbour que lo hace, pero en cualquier caso prueba esto ( está sin probar )
- Code: Select all Expand view
#include "Fivewin.ch"
Function Main()
Local cNomFormato
Local cNombre := "leandro alfonso arevalo suarez"
cNomFormato := LetterCapital( cNombre )
? cNomFormato //Leandro Alfonso Arevalo Suarez
Return nil
//
Function LetterCapital( cCad )
local x
local aWords := hb_ATokens( cCad, " " )
For x = 1 to Len( aWords )
if Len( aWords[ x ] ) > 2 // palabras cortas ?
aWords[ x ] := Lower( aWords[ x ] )
aWords[ x ] := Upper( Left( aWords[ x ], 1 ) ) + Substr( aWords[ x ], 2 )
endif
Next x
cCad := ""
AEVal( aWords, { | c | cCad += c + " " } )
Return AllTrim( cCad )
Re: Función Primera Letra Mayúscula Después Espacio
Posted:
Sat Apr 10, 2021 2:11 pm
by MGA
/**********************************************************************************************************************/
function FormataTextoComPrimeiraLetraMaiusculo( cText )
/*
*/
Local nToken := 1
Local cToken := StrToken(cText, nToken, " ")
Local cResult := ""
DO WHILE !empty(cToken)
cResult += Upper(left(cToken,1))+Lower(Substr(cToken,2))+" "
nToken ++
cToken := StrToken(cText, nToken, " ")
ENDDO
Return Alltrim(cResult)
Re: Función Primera Letra Mayúscula Después Espacio
Posted:
Sat Apr 10, 2021 3:07 pm
by leandro
Excelente muchas gracias a todos por la ayuda
Re: Primera Letra Mayúscula Después Espacio Capital *Solucionado
Posted:
Sat Apr 10, 2021 4:56 pm
by Baxajaun
Buenas !
Como dice Cristobal quizás con la función TokenUpper() de Harbour sea suficiente.
https://harbour.github.io/doc/hbct.html#tokenupperSaludos,