Login

Esqueci minha senha

Buscar
 
 

Resultados por :
 


Rechercher Busca avançada

Quem está conectado
6 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 6 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 71 em 19/7/2010, 11:47
Brasília
Estamos no Twitter
Nossa Comunidade
Nosso Grupo
Últimos assuntos
Top dos mais postadores
Marcos Guedes
 
hugo
 
alceu11
 
Julio
 
marcelofazan
 
mfelis
 
cabeludo
 
Tales Ruan
 
Nelson Arcas
 
marcio
 

Contagem Regressiva em tela de login

16/7/2010, 11:10 por Linghston

Ola amigos, esta é minha primeira participação neste forum e espero poder encontar aqui ajuda para ...

Comentários: 15

Gerador randomico de chave/senha VFP

28/7/2010, 10:44 por hugo

[Você precisa estar registrado e conectado para ver esta imagem.]

Creditos, codi...

Comentários: 22

Help do VFP 9 desapareceu

13/7/2010, 09:22 por hugo

Galera

tenho o visual foxpro instalado e o help funcionava legal

tenho tam...

Comentários: 26

Niver do Alceu

23/7/2010, 14:42 por Marcos Guedes

Aew, pessoal!!!
Para quem não sabe, dia 30/07 é niver do Alceu!!!

Só não irei diz...

Comentários: 32

Report com comandos de impressão @ SAY

30/7/2010, 10:49 por Julio

Novamente aqui, para esclarecer uma duvida.

Tenho um report que serve como formulario, ...

Comentários: 29

Estatísticas
Temos 926 usuários registrados
O último usuário registrado atende pelo nome de Maria Tognetti

Os nossos membros postaram um total de 8596 mensagens em 1239 assuntos

Recibo

Novo Tópico   Responder ao tópico

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Em curso Recibo

Mensagem por ClodoaldoOliveira em 26/2/2010, 11:44

Boa tarde Amigos(as)

Por favor alguem teria a rotina pra fazer a emissao de recibo que escreve por extenso o valor.

Fico no aguardo

Atenciosamente

Clodoaldo Cardoso de Oliveira
VFP 5.0

ClodoaldoOliveira
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Em curso Re: Recibo

Mensagem por Nelson Arcas em 26/2/2010, 21:04

Clodoaldo
Veja esse tópico que postei tem uma funça para escrever o valor por extenso.

[Você precisa estar registrado e conectado para ver este link.]

Nelson Arcas
Participa Bastante
Participa Bastante


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Em curso Ta pronto o recibo

Mensagem por alceu11 em 27/2/2010, 08:49

Segue o codigo de como fazer o recibo por extenso, usando a funcao do Nelson Arcas, so acho que da para melhorar.

So quero receber a grana do recibo Very Happy

Código:

Set Safety Off
=valor_extenso(2452.34)
 
 wre=valor_extenso(2452.34)


Create Cursor Tabla1 (Txt C(78))


Insert Into Tabla1 Values ("RECIBO ")
Insert Into Tabla1 Values ("======== ")


Insert Into Tabla1 Values ("Valor R$  2,452.34")


Insert Into Tabla1 Values (wre)
 
Insert Into Tabla1 Values ("EU CLODOALDO fiz este Report sem abrir o FOX PRO, e mereco receber, esta grana ")

Insert Into Tabla1 Values ("Sao Paulo, 31/2/2010 ")
Insert Into Tabla1 Values ("    ")
Insert Into Tabla1 Values ("======== ")





Create Report Reporte1 From Tabla1


Report Form Reporte1 Preview Nowait

 

FUNCTION valor_extenso

lPARAMETERS pvalor
local vextenso, flagbilhao, flagmilhao,flagcentavos
DIMENSION unidade[10], dez[10], dezena[10], centena[11]

STORE .F. TO flagbilhao,flagmilhao,flagcentavos

unidade[1] = ""
unidade[2] = "Um "
unidade[3] = "Dois "
unidade[4] = "Três "
unidade[5] = "Quatro "
unidade[6] = "Cinco "
unidade[7] = "Seis "
unidade[8] = "Sete "
unidade[9] = "Oito "
unidade[10] = "Nove "

dez[1]  = "Dez "
dez[2]  = "Onze "
dez[3]  = "Doze "
dez[4]  = "Treze "
dez[5]  = "Quatorze "
dez[6]  = "Quinze "
dez[7]  = "Dezesseis "
dez[8]  = "Dezessete "
dez[9]  = "Dezoito "
dez[10] = "Dezenove "

dezena[1] = ""
dezena[2] = "Dez "
dezena[3] = "Vinte "
dezena[4] = "Trinta "
dezena[5] = "Quarenta "
dezena[6] = "Cinqüenta "
dezena[7] = "Sessenta "
dezena[8] = "Setenta "
dezena[9] = "Oitenta "
dezena[10] = "Noventa "

centena[1] = ""
centena[2] = "Cento "
centena[3] = "Duzentos "
centena[4] = "Trezentos "
centena[5] = "Quatrocentos "
centena[6] = "Quinhentos "
centena[7] = "Seiscentos "
centena[8] = "Setecentos "
centena[9] = "Oitocentos "
centena[10] = "Novecentos "
centena[11] = "Cem "

valorstr = STR(INT(pvalor * 100),14,0)
vextenso = " "
FOR i=1 TO 14
  IF SUBSTR(valorstr,i,1) != " "
      num = VAL(SUBSTR(valorstr,i,1))
      DO CASE
        * --- Bilhao
      CASE i = 1
        IF num = 1 .AND. VAL(SUBSTR(valorstr,i+1,2)) = 0
            vextenso = centena[11]
        ELSE
            vextenso = centena[Num+1] + IIF(SUBSTR(valorstr,i+1,2) = "00" OR num=0, "", "e ")
        ENDIF
        flagbilhao = .T.
      CASE i = 2
        IF num != 1
            vextenso = vextenso + dezena[Num+1] + IIF(SUBSTR(valorstr,i+1,1) = "0" .OR. num=0, "", "e ")
            flagbilhao = .T.
        ELSE
            i=i+1
            num = VAL(SUBSTR(valorstr,i,1))
            vextenso = vextenso + dez[Num+1] + "Bilhões" + IIF(VAL(SUBSTR(valorstr,4))>0,", "," ")
        ENDIF
      CASE i = 3
        IF !(flagbilhao)
            flagbilhao = IIF(num>1,.T.,.F.)
        ENDIF
        vextenso = vextenso + unidade[Num+1] + IIF(flagbilhao,"Bilhões","Bilhão") + IIF(VAL(SUBSTR(valorstr,4))>0,", "," ")

        *---- Milhao
      CASE i = 4
        IF num = 1 .AND. VAL(SUBSTR(valorstr,i+1,2)) = 0
            vextenso = vextenso + centena[11]
        ELSE
            vextenso = vextenso + centena[Num+1] + IIF(SUBSTR(valorstr,i+1,2) = "00" OR num=0, "", "e ")
        ENDIF
        flagmilhao = .T.
      CASE i = 5
        IF num != 1
            vextenso = vextenso + dezena[Num+1] + IIF(SUBSTR(valorstr,i+1,1) = "0" .OR. num=0, "", "e ")
            flagmilhao = .T.
        ELSE
            i=i+1
            num = VAL(SUBSTR(valorstr,i,1))
            vextenso = vextenso + dez[Num+1] + "Milhões" + IIF(VAL(SUBSTR(valorstr,7))>0,", "," ")
        ENDIF
      CASE i = 6
        IF !(flagmilhao)
            flagmilhao = IIF(num>1,.T.,.F.)
        ENDIF
        vextenso = vextenso + unidade[Num+1] + IIF(flagmilhao,"Milhões","Milhão") + IIF(VAL(SUBSTR(valorstr,7))>0,", "," ")

        *--- MILHAR
      CASE i = 7
        IF num = 1 .AND. VAL(SUBSTR(valorstr,i+1,2)) = 0
            vextenso = vextenso +  centena[11]
        ELSE
            vextenso = vextenso +  centena[Num+1] + IIF(SUBSTR(valorstr,i+1,2) = "00" OR num=0, "", "e ")
        ENDIF
      CASE i = 8
        IF num != 1
            vextenso = vextenso + dezena[Num+1] + IIF(SUBSTR(valorstr,i+1,1) = "0" .OR. num=0, "", "e ")
        ELSE
            i=i+1
            num = VAL(SUBSTR(valorstr,i,1))
            vextenso = vextenso + dez[Num+1] + "Mil" + IIF(VAL(SUBSTR(valorstr,10))>0,", "," ")
        ENDIF
      CASE i = 9
        vextenso = vextenso + unidade[Num+1] + "Mil" + IIF(VAL(SUBSTR(valorstr,10))>0,", "," ")

        *--- Reais
      CASE i = 10
        IF num = 1 .AND. VAL(SUBSTR(valorstr,i+1,2)) = 0
            vextenso = vextenso +  centena[11]
        ELSE
            vextenso = vextenso +  centena[Num+1] + IIF(SUBSTR(valorstr,i+1,2) = "00" OR num=0, "", "e ")
        ENDIF
      CASE i = 11
        IF num != 1
            vextenso = vextenso + dezena[Num+1] + IIF(SUBSTR(valorstr,i+1,1) = "0" .OR. num=0, "", "e ")
        ELSE
            i=i+1
            num = VAL(SUBSTR(valorstr,i,1))
            vextenso = vextenso + dez[Num+1] + "Reais" + IIF(VAL(SUBSTR(valorstr,13))>0," e "," ")
        ENDIF
      CASE i = 12
        vextenso=vextenso+unidade[Num+1]+ IIF(EMPTY(vextenso) AND num=1,"Real","Reais") +IIF(VAL(SUBSTR(valorstr,13))>0," e "," ")

        *---- CENTAVOS
      CASE i = 13
        IF num != 1
            vextenso = vextenso + dezena[Num+1]
            flagcentavos = IIF(num>1,.T.,.F.)
        ELSE
            i=i+1
            num = VAL(SUBSTR(valorstr,i,1))
            vextenso = vextenso + dez[Num+1] + "Centavos"
            flagcentavos = .T.
        ENDIF
      CASE i = 14
        IF !(flagcentavos)
            flagcentavos = IIF(num>1,.T.,.F.)
        ENDIF
        IF flagcentavos
            vextenso = vextenso + unidade[Num+1] + IIF(flagcentavos,"Centavos","")
        ELSE
            IF num>0
              vextenso = vextenso + unidade[Num+1] + "Centavo"
            ENDIF
        ENDIF
      ENDCASE
  ENDIF
ENDFOR

WAIT WINDOW 'vc digitou 2452.34 '+ALLTRIM(vextenso) TIMEOUT 0.2
 
RETURN ALLTRIM(vextenso)
***********************************


Clodoaldo vc tem msn?

alceu11
Participante Assíduo
Participante Assíduo


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Em curso Re: Recibo

Mensagem por hugo em 27/2/2010, 10:00

boa em nelson e alceu

parabens parceiros!

_________________
A lingua é o chicote do corpo! Minhas feridas ainda doem!

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Em curso Re: Recibo

Mensagem por marcio em 1/3/2010, 11:52

Mais uma function aí....

Código:
function EXTENSO

LPARAMETERS numero
LOCAL LINHA1,LINHA2,vlc_item,vtexto,vtextoi

n01='UM '
n02='DOIS '
n03='TRES '
n04='QUATRO '
n05='CINCO '
n06='SEIS '
n07='SETE '
n08='OITO '
n09='NOVE '
n00=' '

n10='DEZ '
n11='ONZE '
n12='DOZE '
n13='TREZE '
n14='QUATORZE '
n15='QUINZE '
n16='DEZESSEIS '
n17='DEZESSETE '
n18='DEZOITO'
n19='DEZENOVE '
n20='VINTE '

n30='TRINTA '
n40='QUARENTA '
n50='CINQUENTA '
n60='SESSENTA '
n70='SETENTA '
n80='OITENTA '
n90='NOVENTA '
n000=' '

n100='CENTO '
n200='DUZENTOS '
n300='TREZENTOS '
n400='QUATROCENTOS '
n500='QUINHENTOS '
n600='SEISCENTOS '
n700='SETECENTOS '
n800='OITOCENTOS '
n900='NOVECENTOS '

mil='MIL '
milhao='MILHAO '
milhoes='MILHOES'
moeda='REAIS '
moeda1='REAL '
centavo='CENTAVO '
centavos='CENTAVOS '

      if numero = 0
        return
      endif
      numero1=str(numero,13,2)
      cents=str((numero - int(numero)) * 100,2)
      numero=int(numero)
      contador=1
      p1=substr(numero1,2,3)
      p2=substr(numero1,5,3)
      p3=substr(numero1,8,3)
      p4=cents
      texto1= ''
      texto2= ''
      texto3= ''
      texto4= ''

      linha1= ''
      linha2= ''
      linha3= ''
        if val(p1) > 0
          status1=iif(val(p1) > 1,'2','1')
        else
          status1= ' '
        endif

        do while contador <=4
          vlc_item=str(contador,1)
          grupo='P'+str(contador,1)
          extenso=iif(&grupo='000','',ltrim(&grupo))
          do case
            case len(extenso)=3
            if extenso = '100'
              vtexto="texto"+vlc_item
              &vtexto=&vtexto+'CEM '
              contador=contador+1
              loop
              endif
              if right(extenso,2)='00'
                tab='N'+substr(extenso,1,1) + '00'
                vtexto="texto"+vlc_item
                  &vtexto=&vtexto+&tab
                contador=contador+1
                loop
              endif
              tab='N'+left(extenso,1)+'00'
              vtexto="texto"+vlc_item
              &vtexto=&tab+ 'E '
              dezena=val(right(extenso,2))
              if dezena < 20
                tab= 'N' + right(extenso,2)
                vtexto="texto"+vlc_item
                &vtexto=&vtexto+&tab
                contador=contador+1
                loop
              else
                tab= 'N' + substr(extenso,2,1) + '0'
                vtexto="texto"+vlc_item
                &vtexto=&vtexto+&tab
                tab='N0' + right(extenso,1)
                unidade=val(right(extenso,1))
                  if unidade > 0
                      vtexto="texto"+vlc_item
                    &vtexto=&vtexto + iif(val(extenso) > 10,'E ','')
                  endif
                  vtexto="texto"+vlc_item
                  &vtexto=&vtexto+iif(tab='N00',' ',&tab)
                endif

            case len(extenso)=2
                dezena=val(right(extenso,2))
                  if dezena < 20
                      tab= 'N' + right(extenso,2)
                      vtexto="texto"+vlc_item
                      &vtexto=&vtexto+&tab
                      contador=contador+1
                      loop
                  else
                      tab='N' + substr(extenso,1,1) + '0'
                      vtexto="texto"+vlc_item
                      &vtexto=&vtexto + &tab
                      tab='N0' + Right(extenso,1)
                      unidade=val(right(extenso,1))
                        if unidade > 0
                          vtexto="texto"+vlc_item
                          &vtexto=&vtexto+'E '
                        ENDIF
                        vtexto="texto"+vlc_item
                        &vtexto=&vtexto+iif(tab='N00',' ',&tab)
                    endif
            case len(extenso) = 1
                    tab='N0' + Right(extenso,1)
                    vtexto="texto"+vlc_item
                    &vtexto=&vtexto+iif(tab='N00',' ',&tab)
            otherwise
            vtexto="texto"+vlc_item
            &vtexto= ''
          endcase
          contador=contador+1
        enddo
        if val(p1+p2+p3)=0 .and. val(p4) # 0
          final=texto4+(iif(val(p4)=1,centavo,centavos))
        endif
        if val(p1+p2+p3) # 0
          final= iif(len(texto1)=0,' ',texto1 + iif(status1= '1',MILHAO, ;
          MILHOES))+' '+ iif(len(texto2)=0,' ',  texto2+mil)+ texto3 ;
          + iif(val(p2+p3)=0, 'DE','')
          final=final+iif(val(p1+p2+p3)=0,' ',iif(val(p1+p2+p3)=1, moeda1,moeda))
          final=final+iif(val(p4)=0,'',iif(val(p1+p2+p3)=0,'','E ') + texto4 ;
          + (iif(val(p4)=1,centavo,centavos)))
        endif

RETURN (final)

ENDFUNC


PS: Marcos Guedes, peço por favor que edite essa minha postagem e coloque dentro de um quadro, como a do Alceu. E depois me explique como faço pra postar direto dessa forma.

Muito grato

marcio
Participa Bastante
Participa Bastante


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Em curso Re: Recibo

Mensagem por Marcos Guedes em 1/3/2010, 16:24

marcio escreveu:PS: Marcos Guedes, peço por favor que edite essa minha postagem e coloque dentro de um quadro, como a do Alceu. E depois me explique como faço pra postar direto dessa forma.


Marcio, fiz a alteração que pediu e criei um tópico relativo à sua dúvida:
[Você precisa estar registrado e conectado para ver este link.]

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Em curso Re: Recibo

Mensagem por Marcos Guedes em 16/5/2010, 12:13

Resolveu o problema, Clodoaldo?

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum