segunda-feira, 8 de março de 2021

DICAS 3278 - WINDEV WEBDEV MOBILE - COMO FAZER UM VALOR POR EXTENSO - PERGUNTAS E RESPOSTAS - 35






https://youtu.be/IOONyjHdEmM




Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 

Seja Membro do Canal

Esse Video vai estrear as 15:15 do dia 08/03/2021 

DICAS 3278 - WINDEV WEBDEV MOBILE - COMO FAZER UM VALOR POR EXTENSO - PERGUNTAS E RESPOSTAS - 35



ASSUNTOS


Mande um email pedido para receber todas notificaçoes dos videos 
email : amarildo.matos@gmail.com 
Vamos criar uma procedure global, valor extenso 
Como a rotina é grande vou explicar por partes de codigo 
Vamos criar uma window extenso 
vamos criar um valor 
um texto multilinha
um botao para chamar o extenso 
Vamos executar




=============== INDICE PERGUNTAS E RESPOSTA



-------------------------------INDICES COMANDOS

DICAS 1979 - WINDEV - COMANDOS 29 sidebar control Barra Lateral
DICAS 2147 WINDEV WEBDEV MOBILE COMANDOS 63 MAIS 1 PARAMETRO RETORNO JANELA
DICAS 2148 WINDEV WEBDEV MOBILE COMANDOS 64 The Splitter control
DICAS 2156 WINDEV WEBDEV MOBILE COMANDOS 65 HourGlass Lupa Ampuleta
DICAS 2157 WINDEV WEBDEV MOBILE COMANDOS 66 CEP
DICAS 2168 WINDEV WEBDEV MOBILE WEBSERVICE COMANDOS 67 SysListScreen
DICAS 2196 WINDEV WEBDEV MOBILE COMANDOS 68 eDT TOKEN
DICAS 2198 WINDEV WEBDEV MOBILE COMANDOS 69 eDT TOKEN PROGRAMACAO
DICAS 2213 WINDEV WEBDEV MOBILE COMANDOS 70 LEAPYEAR ANO BISSEXTO
DICAS 2215 WINDEV WEBDEV MOBILE 24 NOVIDADES 18 COMANDOS 71 BCToImage -GERAR IMAGEN CODIGO DE BARRA
DICAS 2229 WINDEV WEBDEV MOBILE 24 NOVIDADES 28 COMANDOS 72 PLANOS NOME
DICAS 2230 WINDEV WEBDEV MOBILE 24 NOVIDADES 29 COMANDOS 73 CONDICOES DEBUG
DICAS 2237 WINDEV WEBDEV MOBILE 24 NOVIDADES 33 COMANDOS 76 MININIZAR Iconize
DICAS 2240 WINDEV WEBDEV MOBILE 24 novidades 34 Comandos 77 Maximize
DICAS 2256 WINDEV WEBDEV MOBILE 24 Novidades 45 Comandos 78 Manual Fonte
DICAS 2257 WINDEV WEBDEV MOBILE 24 Novidades 46 Comandos 79 Help Como Fazer
DICAS 2258 WINDEV WEBDEV MOBILE 24 Novidades 47 Comandos 80 TraceDeleteAll
DICAS 2260 WINDEV WEBDEV MOBILE 24 Novidades 49 Comandos 82 Edit AddAssi...
DICAS 2272 WINDEV WEBDEV MOBILE COMANDOS 82 ExeListProcess
DICAS 2273 WINDEV WEBDEV MOBILE COMANDOS 83 DLL LINKADAS PROCESSOS AddChildDelayed
dica 2631 extrair conteudo com Middle




PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 












// codigo Valor Extenso


//chamar valor extenso

edt_valor_Extenso=valor_por_Extenso(edT_valor)

//

PROCEDURE valor_por_Extenso(receber_valor is currency)


unidade_array_19 is array of 19 string

unidade_array_19[1] = "UM "
unidade_array_19[2] = "DOIS "
unidade_array_19[3] = "TRÊS "
unidade_array_19[4] = "QUATRO "
unidade_array_19[5] = "CINCO "
unidade_array_19[6] = "SEIS "
unidade_array_19[7] = "SETE "
unidade_array_19[8] = "OITO "
unidade_array_19[9] = "NOVE "
unidade_array_19[10] = "DEZ "
unidade_array_19[11] = "ONZE "
unidade_array_19[12] = "DOZE "
unidade_array_19[13] = "TREZE "
unidade_array_19[14] = "QUATORZE "
unidade_array_19[15] = "QUINZE "
unidade_array_19[16] = "DEZESSEIS "
unidade_array_19[17] = "DEZESSETE "
unidade_array_19[18] = "DEZOITO "
unidade_array_19[19] = "DEZENOVE "

dezena_array_9 is array of 9 string

dezena_array_9[1] = "DEZ "
dezena_array_9[2] = "VINTE "
dezena_array_9[3] = "TRINTA "
dezena_array_9[4] = "QUARENTA "
dezena_array_9[5] = "CINQUENTA "
dezena_array_9[6] = "SESSENTA "
dezena_array_9[7] = "SETENTA "
dezena_array_9[8] = "OITENTA "
dezena_array_9[9] = "NOVENTA "

centena_array_9 is array of 9 string

centena_array_9[1] = "CENTO "
centena_array_9[2] = "DUZENTOS "
centena_array_9[3] = "TREZENTOS "
centena_array_9[4] = "QUATROCENTOS "
centena_array_9[5] = "QUINHENTOS "
centena_array_9[6] = "SEISCENTOS "
centena_array_9[7] = "SETECENTOS "
centena_array_9[8] = "OITOCENTOS "
centena_array_9[9] = "NOVECENTOS "
valor_string is string = NumToString(receber_valor, "012,2f")
//123456789012
//000000153,13
grupo_array_4 is array of 4 string

grupo_array_4[1] = Middle(valor_string, 1, 3) // 000
grupo_array_4[2] = Middle(valor_string, 4, 3) // 000
grupo_array_4[3] = Middle(valor_string, 7, 3) // 153
grupo_array_4[4] = "0" + Middle(valor_string, 11, 2) // 13

Contador_int is int
Tamanho_int is int
parte_string is string
texto_array_4 is array of 4 string
Final_string is string


FOR Contador_int = 1 TO 4
parte_string = grupo_array_4[Contador_int]
Tamanho_int = 0
IF Val(parte_string)>= 1 AND Val(parte_string)<10 THEN
Tamanho_int = 1
END
IF Val(parte_string)>=10 AND Val(parte_string)<100 THEN
Tamanho_int = 2
END
IF Val(parte_string)>=100 AND Val(parte_string)<1000 THEN
Tamanho_int = 3
END
IF Tamanho_int = 3 THEN
IF Right(parte_string, 2) <> "00" THEN
texto_array_4[Contador_int] = texto_array_4[Contador_int] + centena_array_9[Left(parte_string, 1)] + "E "
Tamanho_int = 2
ELSE
IF Left(parte_string,1)="1" THEN
texto_array_4[Contador_int] = texto_array_4[Contador_int] + "CEM "
ELSE
texto_array_4[Contador_int] = texto_array_4[Contador_int] + centena_array_9[Left(parte_string, 1)]
END
END
END
IF Tamanho_int = 2 THEN
IF Val(Right(parte_string, 2)) < 20 THEN
texto_array_4[Contador_int] = texto_array_4[Contador_int] + unidade_array_19[Right(parte_string, 2)]
ELSE
texto_array_4[Contador_int] = texto_array_4[Contador_int] + dezena_array_9[Middle(parte_string, 2, 1)]
IF Right(parte_string, 1) <> "0" THEN
texto_array_4[Contador_int] = texto_array_4[Contador_int] + "E "
Tamanho_int = 1
END
END
END
IF Tamanho_int = 1 THEN
texto_array_4[Contador_int] = texto_array_4[Contador_int] + unidade_array_19[Right(parte_string, 1)]
END
END

IF (Val(grupo_array_4[1]) + Val(grupo_array_4[2] + Val(grupo_array_4[3])) = 0 AND Val(grupo_array_4[4]) <> 0) THEN
IF Val(grupo_array_4[4]) = 1 THEN
Final_string = texto_array_4[4] + "CENTAVO"
ELSE
Final_string = texto_array_4[4] + "CENTAVOS"
END
ELSE
Final_string = ""
IF Val(grupo_array_4[1])<>0 THEN
Final_string = Final_string + texto_array_4[1]
IF Val(grupo_array_4[1])>1 THEN
Final_string = Final_string + "MILHÕES "
ELSE
Final_string = Final_string + "MILHÃO "
END
END
IF Val(grupo_array_4[2] + grupo_array_4[3]) = 0 THEN
Final_string = Final_string + "DE "
ELSE
IF Val(grupo_array_4[2])<>0 THEN
Final_string = Final_string + texto_array_4[2]+"MIL "
END
END
Final_string = Final_string + texto_array_4[3] + "REAIS"
IF Val(grupo_array_4[4]) <> 0 THEN
Final_string = Final_string + " E " + texto_array_4[4]
IF Val(grupo_array_4[4])=1 THEN
Final_string = Final_string + " CENTAVO"
ELSE
Final_string = Final_string + " CENTAVOS"
END
END
END
RESULT Final_string

Nenhum comentário:

Postar um comentário

Teste

Teste
teste