Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

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

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Controlar Scanner Twain

31/3/2017, 17:31 por Kleber R Bento

Estou usando o EZTW32.DLL para criar uma ferramenta que escaneia e gera PDF. Porém com esses …

Comentários: 0

Estatísticas
Temos 7064 usuários registrados
O último usuário registrado atende pelo nome de Rpedrozo

Os nossos membros postaram um total de 48 mensagens em 25 assuntos

Recibo

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


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.]
avatar
Nelson Arcas
Participa Bastante
Participa Bastante


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?
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


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 tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


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
avatar
marcio
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Recibo

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

[Você precisa estar registrado e conectado para ver este link.] 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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


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