UPPER-LOWER

Post Reply
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

UPPER-LOWER

Post by acuellar »

Estimados,

Existe una función para poner el primer caracter en Mayúscula y el resto en minúsculas?

Gracias por la ayuda.
Saludos,

Adhemar C.
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: UPPER-LOWER

Post by FranciscoA »

Hola, Adhemar.
Esta function te pone en mayuscula la primer letra de cada palabra en un cadena de texto: (no se quien la creó)

Code: Select all

//-----------------------
FUNCTION Capitalize(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)

 
Esta otra es para poner el primer caracter en Mayúscula y el resto en minúsculas en una cadena de texto:

Code: Select all

StrCapFirst(cString)
 
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: UPPER-LOWER

Post by karinha »

João Santos - São Paulo - Brasil
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: UPPER-LOWER

Post by acuellar »

Muchas Gracias
Francisco y Joao

Ambas funcionan, lo único que no convierte es _ especiales ÁÉÍÓÚÑ
Por lo se me ocurrió fue convertir primero _.

Code: Select all

FUNCTION StrUpperLow(cNOMBRE)
      cNOMBRE:=StrTran(cNOMBRE,"Á","á")
      cNOMBRE:=StrTran(cNOMBRE,"É","é")
      cNOMBRE:=StrTran(cNOMBRE,"Í","í")
      cNOMBRE:=StrTran(cNOMBRE,"Ó","ó")
      cNOMBRE:=StrTran(cNOMBRE,"Ú","ú")
      cNOMBRE:=StrTran(cNOMBRE,"N","ñ")
Return cNOMBRE
 
Quizás se pueda modificar la función.
Saludos,

Adhemar C.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: UPPER-LOWER

Post by karinha »

Code: Select all

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL cAcento := "ñ" // N

   TIRA_ACENTO( cAcento )

RETURN NIL

FUNCTION StrUpperLow(cNOMBRE)

      cNOMBRE:=StrTran(cNOMBRE,"Á","á")
      cNOMBRE:=StrTran(cNOMBRE,"É","é")
      cNOMBRE:=StrTran(cNOMBRE,"Í","í")
      cNOMBRE:=StrTran(cNOMBRE,"Ó","ó")
      cNOMBRE:=StrTran(cNOMBRE,"Ú","ú")
      cNOMBRE:=StrTran(cNOMBRE,"N","ñ")  // n/N

Return cNOMBRE

FUNCTION TIRA_ACENTO( cStr )
 
   local cStrNew := "", nX, cAcentos, cLetras
 
   cAcentos := {"—","ƒ","Æ","Ç"," ","µ","…","·","‚","É","ê","ˆ","","Ò","í","Í","ó","¢","à","ä","å","“","â","ú","é","","š","ç","€","ã","Ã","á","Á","à","À","é","É","ê","Ê","í","Í","ó","Ó","õ","Õ","ô","Ô","ú","Ú","ü","Ü","ç","ù","AAO","§","¦","º","ª","€","‡","Ç","ç","'","`","ø","¡","Þ","×","Ø",   "ñ", chr(239)}
 
   cLetras  := {"U","A","A","A","A","A","A","A","E","E","E","E","E","E","I","I","O","O","O","O","O","O","O","U","U","U","U","C","C","A","A","A","A","A","A","E","E","E","E","I","I","O","O","O","O","O","O","U","U","U","U","C"," ","CAO",".",".",".",".","C","C","C","C","" ,"" ,".","I","I","I","I", "N",  ""   }
 
   For nX := 1 TO LEN(cAcentos)
 
      cStrNew := StrTran(cStr, cAcentos[nX], cLetras[nX])
      cStr := cStrNew
 
   Next

   ? cStr
 
Return( cStrNew )
 
João Santos - São Paulo - Brasil
Post Reply