Mostrando postagens com marcador valor extenso. Mostrar todas as postagens
Mostrando postagens com marcador valor extenso. Mostrar todas as postagens

domingo, 13 de fevereiro de 2022

DICA 3625 Valor por extenso - Windev Webdev Mobile 27


Video





Video estreia dia 14 02 2022


Menu dos videos webdev windev mobile




// Codigo fonte


PROCEDURE extenso(cy_valor is currency)
nContador, nTamanho is int
cValor, cParte, cFinal is string
atexto is array of 4 string
agrupo is array of 4 string
aunid is array of 19 string
adezena is array of 9 string
acentena is array of 9 string
atexto[1]=""
atexto[2]=""
atexto[3]=""
atexto[4]=""
aunid[1] = "UM "
aunid[2] = "DOIS "
aunid[3] = "TRÊS "
aunid[4] = "QUATRO "
aunid[5] = "CINCO "
aunid[6] = "SEIS "
aunid[7] = "SETE "
aunid[8] = "OITO "
aunid[9] = "NOVE "
aunid[10] = "DEZ "
aunid[11] = "ONZE "
aunid[12] = "DOZE "
aunid[13] = "TREZE "
aunid[14] = "QUATORZE "
aunid[15] = "QUINZE "
aunid[16] = "DEZESSEIS "
aunid[17] = "DEZESSETE "
aunid[18] = "DEZOITO "
aunid[19] = "DEZENOVE "
adezena[1] = "DEZ "
adezena[2] = "VINTE "
adezena[3] = "TRINTA "
adezena[4] = "QUARENTA "
adezena[5] = "CINQUENTA "
adezena[6] = "SESSENTA "
adezena[7] = "SETENTA "
adezena[8] = "OITENTA "
adezena[9] = "NOVENTA "
acentena[1] = "CENTO "
acentena[2] = "DUZENTOS "
acentena[3] = "TREZENTOS "
acentena[4] = "QUATROCENTOS "
acentena[5] = "QUINHENTOS "
acentena[6] = "SEISCENTOS "
acentena[7] = "SETECENTOS "
acentena[8] = "OITOCENTOS "
acentena[9] = "NOVECENTOS "
cValor = NumToString(cy_valor, "012,2f")
agrupo[1] = Middle(cValor, 1, 3)
agrupo[2] = Middle(cValor, 4, 3)
agrupo[3] = Middle(cValor, 7, 3)
agrupo[4] = "0" + Middle(cValor, 11, 2)
FOR nContador = 1 TO 4
cParte = agrupo[nContador]
nTamanho = 0
IF Val(cParte)>= 1 AND Val(cParte)<10 THEN
nTamanho = 1
END
IF Val(cParte)>=10 AND Val(cParte)<100 THEN
nTamanho = 2
END
IF Val(cParte)>=100 AND Val(cParte)<1000 THEN
nTamanho = 3
END
IF nTamanho = 3 THEN
IF Right(cParte, 2) <> "00" THEN
atexto[nContador] = atexto[nContador] + acentena[Left(cParte, 1)] + "E "
nTamanho = 2
ELSE
IF Left(cParte,1)="1" THEN
atexto[nContador] = atexto[nContador] + "CEM"
ELSE
atexto[nContador] = atexto[nContador] + acentena[Left(cParte, 1)]
END
END
END
IF nTamanho = 2 THEN
IF Val(Right(cParte, 2)) < 20 THEN
atexto[nContador] = atexto[nContador] + aunid[Right(cParte, 2)]
ELSE
atexto[nContador] = atexto[nContador] + adezena[Middle(cParte, 2, 1)]
IF Right(cParte, 1) <> "0" THEN
atexto[nContador] = atexto[nContador] + "E "
nTamanho = 1
END
END
END
IF nTamanho = 1 THEN
atexto[nContador] = atexto[nContador] + aunid[Right(cParte, 1)]
END
END
IF (Val(agrupo[1]) + Val(agrupo[2] + Val(agrupo[3])) = 0 AND Val(agrupo[4]) <> 0) THEN
IF Val(agrupo[4]) = 1 THEN
cFinal = atexto[4] + "CENTAVO"
ELSE
cFinal = atexto[4] + "CENTAVOS"
END
ELSE
cFinal = ""
IF Val(agrupo[1])<>0 THEN
cFinal = cFinal + atexto[1]
IF Val(agrupo[1])>1 THEN
cFinal = cFinal + "MILHÕES "
ELSE
cFinal = cFinal + "MILHÃO "
END
END
IF Val(agrupo[2] + agrupo[3]) = 0 THEN
cFinal = cFinal + "DE "
ELSE
IF Val(agrupo[2])<>0 THEN
cFinal = cFinal + atexto[2]+"MIL "
END
END
cFinal = cFinal + atexto[3] + "REAIS"
IF Val(agrupo[4]) <> 0 THEN
cFinal = cFinal + " E " + atexto[4]
IF Val(agrupo[4])=1 THEN
cFinal = cFinal + " CENTAVO"
ELSE
cFinal = cFinal + " CENTAVOS"
END
END
END
RESULT cFinal

PROCEDURE mascara_telefone_homologacao(s_recebe_telefone is string)

IF s_recebe_telefone <>"" THEN
s_recebe_telefone = "(" + s_recebe_telefone[[1 TO 2]] + ") " + ...
s_recebe_telefone[[3 TO 6]] + "-" + ...
s_recebe_telefone[[7 TO 50]]
END
INTERNAL PROCEDURE extenso(cy_valor is currency)
nContador, nTamanho is int
cValor, cParte, cFinal is string
atexto is array of 4 string
agrupo is array of 4 string
aunid is array of 19 string
adezena is array of 9 string
acentena is array of 9 string
atexto[1] = ""
atexto[2] = ""
atexto[3] = ""
atexto[4] = ""
aunid[1] = "UM "
aunid[2] = "DOIS "
aunid[3] = "TRÊS "
aunid[4] = "QUATRO "
aunid[5] = "CINCO "
aunid[6] = "SEIS "
aunid[7] = "SETE "
aunid[8] = "OITO "
aunid[9] = "NOVE "
aunid[10] = "DEZ "
aunid[11] = "ONZE "
aunid[12] = "DOZE "
aunid[13] = "TREZE "
aunid[14] = "QUATORZE "
aunid[15] = "QUINZE "
aunid[16] = "DEZESSEIS "
aunid[17] = "DEZESSETE "
aunid[18] = "DEZOITO "
aunid[19] = "DEZENOVE "
adezena[1] = "DEZ "
adezena[2] = "VINTE "
adezena[3] = "TRINTA "
adezena[4] = "QUARENTA "
adezena[5] = "CINQUENTA "
adezena[6] = "SESSENTA "
adezena[7] = "SETENTA "
adezena[8] = "OITENTA "
adezena[9] = "NOVENTA "
acentena[1] = "CENTO "
acentena[2] = "DUZENTOS "
acentena[3] = "TREZENTOS "
acentena[4] = "QUATROCENTOS "
acentena[5] = "QUINHENTOS "
acentena[6] = "SEISCENTOS "
acentena[7] = "SETECENTOS "
acentena[8] = "OITOCENTOS "
acentena[9] = "NOVECENTOS "
cValor = NumToString(cy_valor, "012,2f")
agrupo[1] = Middle(cValor, 1, 3)
agrupo[2] = Middle(cValor, 4, 3)
agrupo[3] = Middle(cValor, 7, 3)
agrupo[4] = "0" + Middle(cValor, 11, 2)
FOR nContador = 1 TO 4
cParte = agrupo[nContador]
nTamanho = 0
IF Val(cParte)>= 1 AND Val(cParte)<10 THEN
nTamanho = 1
END
IF Val(cParte)>=10 AND Val(cParte)<100 THEN
nTamanho = 2
END
IF Val(cParte)>=100 AND Val(cParte)<1000 THEN
nTamanho = 3
END
IF nTamanho = 3 THEN
IF Right(cParte, 2) <> "00" THEN
atexto[nContador] = atexto[nContador] + acentena[Left(cParte, 1)] + "E "
nTamanho = 2
ELSE
IF Left(cParte,1)="1" THEN
atexto[nContador] = atexto[nContador] + "CEM"
ELSE
atexto[nContador] = atexto[nContador] + acentena[Left(cParte, 1)]
END
END
END
IF nTamanho = 2 THEN
IF Val(Right(cParte, 2)) < 20 THEN
atexto[nContador] = atexto[nContador] + aunid[Right(cParte, 2)]
ELSE
atexto[nContador] = atexto[nContador] + adezena[Middle(cParte, 2, 1)]
IF Right(cParte, 1) <> "0" THEN
atexto[nContador] = atexto[nContador] + "E "
nTamanho = 1
END
END
END
IF nTamanho = 1 THEN
atexto[nContador] = atexto[nContador] + aunid[Right(cParte, 1)]
END
END
IF (Val(agrupo[1]) + Val(agrupo[2] + Val(agrupo[3])) = 0 AND Val(agrupo[4]) <> 0) THEN
IF Val(agrupo[4]) = 1 THEN
cFinal = atexto[4] + "CENTAVO"
ELSE
cFinal = atexto[4] + "CENTAVOS"
END
ELSE
cFinal = ""
IF Val(agrupo[1])<>0 THEN
cFinal = cFinal + atexto[1]
IF Val(agrupo[1])>1 THEN
cFinal = cFinal + "MILHÕES "
ELSE
cFinal = cFinal + "MILHÃO "
END
END
IF Val(agrupo[2] + agrupo[3]) = 0 THEN
cFinal = cFinal + "DE "
ELSE
IF Val(agrupo[2])<>0 THEN
cFinal = cFinal + atexto[2]+"MIL "
END
END
cFinal = cFinal + atexto[3] + "REAIS"
IF Val(agrupo[4]) <> 0 THEN
cFinal = cFinal + " E " + atexto[4]
IF Val(agrupo[4])=1 THEN
cFinal = cFinal + " CENTAVO"
ELSE
cFinal = cFinal + " CENTAVOS"
END
END
END
RESULT cFinal
END

Teste

Teste
teste