02 Abr 2020 15:13
REQUEST HB_CODEPAGE_PTISO
PROCEDURE MAIN
LOCAL cText
SET( _SET_CODEPAGE, "PTISO" )
CLS
cText := "ISTO É UMA BENÇÃO"
@ 1, 0 SAY cText
@ 2, 0 SAY CaseCapital( cText )
Inkey(0)
RETURN
FUNCTION CASECapital( cText )
LOCAL lUpper := .T., cLetter
cText := Lower( cText )
FOR EACH cLetter IN @cText
IF lUpper .AND. cLetter != Space(1)
cLetter := Upper( cLetter )
lUpper := .F.
ENDIF
IF cLetter == Space(1)
lUpper := .T.
ENDIF
NEXT
RETURN cText
02 Abr 2020 18:36
02 Abr 2020 20:32
PROCEDURE MAIN
LOCAL cText
CLS
cText := "ISTO E UMA BENCAO"
@ 1, 0 SAY cText
@ 2, 0 SAY CaseCapital( cText )
Inkey(0)
RETURN
FUNCTION CASECapital( cText )
LOCAL lUpper := .T., cLetter
cText := Lower( cText )
FOR EACH cLetter IN cText
IF lUpper .AND. !IsSpace(cLetter)
cText[HB_EnumIndex()] := Upper( cLetter )
lUpper := .F.
ENDIF
IF IsSpace(cLetter)
lUpper := .T.
ENDIF
NEXT
RETURN cText
02 Abr 2020 22:23
bencz escreveu:Veja a correção ( eu tirei os acentos e etc, pois meu "uindus" é em inglês, então, o console não mostra os acentos )
02 Abr 2020 22:35
FUNCTION UpperLower( mTexto )
LOCAL mTexto2 := "", mMaiuscula := .T., nCont, mLetra
FOR nCont = 1 TO Len( mTexto )
mLetra := Substr( mTexto, nCont, 1 )
DO CASE
CASE mLetra == " "
mTexto2 += mLetra
mMaiuscula := .T.
CASE mMaiuscula
mTexto2 += Upper( mLetra )
mMaiuscula := .F.
OTHERWISE
mTexto2 += Lower( mLetra )
ENDCASE
NEXT
RETURN mTexto2
29 Jan 2022 17:12
FUNCTION CaseCapital( cTexto )
LOCAL x, mRetorno := '', aTexto, mExclusoes := "ao,e,de,do,da", mPalavra, mMask
cTexto := Lower(cTexto)
aTexto := HB_ATokens(cTexto, ' ')
FOR x = 1 TO Len( aTexto )
mPalavra := AllTrim(aTexto[x])
If Len(mPalavra) > 0
If mPalavra $ mExclusoes
mRetorno += mPalavra + ' '
Else
mMask := '!' + Replicate('A', Len(mPalavra)-1)
mRetorno += Transform( mPalavra, mMask) + ' '
Endif
Endif
NEXT
RETURN mRetorno
29 Jan 2022 20:47