Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
9 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 9 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
Últimos assuntos
» Alterar uma palavra num arquivo de texto
Ontem à(s) 12:02 por Teseu

» Buscar endereço por CEP
3/12/2016, 19:59 por pedrossian

» USAR WEBSERVICE NO VFP9
2/12/2016, 09:50 por AJC

» BANIMENTO DE USUARIO
17/11/2016, 08:31 por FAF

» Impressora Ticket
15/11/2016, 09:20 por clima238

» Gráfico
9/11/2016, 10:43 por hidroluz

» TRANSPOR TABELA
9/11/2016, 10:34 por hidroluz

» MUDANÇA DO .DBF PARA POTSGREE
9/11/2016, 09:12 por AJC

» Website com videoaulas sobre linguagens de programação
8/11/2016, 09:56 por JLDR

» Parceria para desenvolvimento de template em Wordpress
7/11/2016, 19:15 por mindix

» Data fica invertida na planilha que é gerada via programa.
27/10/2016, 11:00 por Linghston

» Maximizar report direto do menu
21/10/2016, 20:48 por Rosangela Pires

» Fechar form com tempo
21/10/2016, 10:15 por Rosangela Pires

» URGENTE: Ajuda com impressora ELGIN-L42
14/10/2016, 09:53 por megasoft

» Opções para gerar NF-e
10/10/2016, 09:07 por mavsinfo

» Google Maps
8/10/2016, 15:08 por Rosangela Pires

» Mysql
5/10/2016, 11:22 por Marcos Guedes

» Acessando Banco em MYSQL de um projeto WORDPRESS
3/10/2016, 10:58 por Marcos Guedes

» OPTION SELECT MOSTRAR CAMPOS QUASE PRONTO
26/9/2016, 21:09 por BobKuspe

» Pesquisa em grid
14/9/2016, 09:24 por AJC

Alterar uma palavra num arquivo de texto

5/12/2016, 12:02 por Teseu

Olá prezados colegas de programação!

Este é eu primeiro post no fórum e gostaria de poder …

Comentários: 0

Buscar endereço por CEP

3/12/2016, 19:59 por pedrossian

Caros amigos, meu código para buscar endereço pelo CEP não funciona mais.
Alguém pode me …

Comentários: 0

USAR WEBSERVICE NO VFP9

2/12/2016, 09:50 por AJC

Pessoal, preciso de um material ou livro que me traga instruções como
usar a consumação de …

Comentários: 0

BANIMENTO DE USUARIO

13/11/2016, 16:21 por FAF

A usuária ROSANGELA PIRES ao tentar acessar o Forum obtem sempre a mensagem de BANIMENTO.
A mesma …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 0

Estatísticas
Temos 6960 usuários registrados
O último usuário registrado atende pelo nome de Maycon Hersing

Os nossos membros postaram um total de 17118 mensagens em 2576 assuntos

Relatorios, como fazer??

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

Resolvido Relatorios, como fazer??

Mensagem por MarcosSN em 12/3/2011, 12:10

Ola Amigos
Era Programador Clipper 5.2 e agora me interessei pelo vfp9. Com a juda dos topicos desse forum, ja consegui fazer meu programas, agora tenho um q imprimir promissorias e duplicatas no formato carta. To totalmente perdido, nao sei nem por onde começar.. gostaria da ajuda dos colegas..
Pensei em codifica-lo na munheca, mais nao ficaria como eu quero com os caracteres, e corrdenadas desejadas.. qm souber de apostilas ou coisa assim me indiquem pfv,, obrigado..

MarcosSN
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Relatorios, como fazer??

Mensagem por _batmanvfp_ em 12/3/2011, 12:48

imprimir promissorias e duplicatas no formato carta

O que é formato carta ?
Usando visual foxpro voce pode utilizar modo Designer e na munheca


_batmanvfp_
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Sera ke vai ajudar.

Mensagem por alceu11 em 13/3/2011, 09:24

Muita informacao mais, para quem esta migrando de dos para windows, e bom ter.

1-) 7 Apostilas em espanhol,,,,,,,,,ensina fazer relatorio acho ke e nr. 5, verifique.
- Clique aqui para baixar o arquivo!

2-)Apostila ensina usar o set relation entre 2 tabelas, entre outras cositas mas
- Clique aqui para baixar o arquivo!

3-)Apostila 3
- Clique aqui para baixar o arquivo!

4-) Apostila 4 o caminho das pedras como trabalhar com classes
- Clique aqui para baixar o arquivo!

video utilizando a classe basica de cadastros formularios.
[Você precisa estar registrado e conectado para ver este link.]

Video como fazer um report com variavel
[Você precisa estar registrado e conectado para ver este link.]

Video de report com Winzard
[Você precisa estar registrado e conectado para ver este link.]

Mais vc pode fazer tb relatorios como @ prow() como fazia no clipper!!!
Ai nem vou precisar explicar. veja o ultimo no final desta resposta

Um topico ke ira encontrei
[Você precisa estar registrado e conectado para ver este link.]

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

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

Como vc deve kerer por extenso o valor da duplicata
veja este topico , pena ke usuario nunca deu retorno....!!!
[Você precisa estar registrado e conectado para ver este link.]
codigo do recibo

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 ("Recebemos de Joao Grana, a importancia acima cidtada,ref.serv.prestados ")

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)

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Relatorios, como fazer??

Mensagem por alceu11 em 13/3/2011, 12:22

E se fizer com um modelo docto. word de duplicata
segue o link baixe e execute o prg, carta
[Você precisa estar registrado e conectado para ver este link.]

codigo o exemplo surgiu em 09/02/2011 no link abaixo.
[Você precisa estar registrado e conectado para ver este link.]
la encontrar o video tb

Codigo do modelo desta duplicata ke esta na figura abaixo. so substui a digitacao por tag <nome> <endereco> etc..........
Código:

***********Atencao como os paths a ondi estao o meu arquivo colegio.doc.**********
CLOSE DATABASES ALL
CLOSE TABLES  ALL
use
SET DELETED ON
wre=valor_extenso(1500.00)  && vou guardo o extenso do vr na variavel wre

CREATE CURSOR CTST (campo C(10), Sobrepor C(100) ,arquivo c(14), FOI C(1))
SELECT CTST
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<nome>', 'Alceu Pediu Ta Ai ','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<endereco>', 'R.Macae,45 Vl.Soares','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cidade>', 'Poto Ferreira','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<uf>', 'SP','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<bairro>', 'Caieiras','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<tel>', '11-39324192','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cep>', '02829-090','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cnpj>', '53.526.711/0002-90','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<data>', '11/11/2011','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<fatura>', '11/2011','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<valor>', '1,500.00','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<Saca>', 'Alceu Pediu Ta Ai','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<End_Sac>', 'R.do Alceu,11','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<bar>', 'Alceu','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<muni>', 'Mirassol','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<ufs>', 'SP','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<ceps>', '02829-090','doc1.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cgc>', '53.526.028/0090','doc1.doc')
Insert Into ctst (campo,sobrepor,arquivo) Values ('<Exter>',wre,'doc1.doc')

 
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<nome>', 'Batma Exemplo ltda','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<endereco>', 'Av.Inajar,5645 Vl.Santos','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cidade>', 'Poto Ferreira','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<uf>', 'SP','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<bairro>', 'Caieiras','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<tel>', '11-39324192','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cep>', '02829-090','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cnpj>', '53.526.711/0002-90','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<data>', '11/11/2011','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<fatura>', '11/2011','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<valor>', '1,500.00','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<Saca>', 'Alceu Pediu Ta Ai','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<End_Sac>', 'R.do Alceu,11','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<bar>', 'Alceu','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<muni>', 'Mirassol','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<ufs>', 'SP','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<ceps>', '02829-090','doc2.doc')
INSERT INTO CTST (campo,sobrepor,arquivo) VALUES ('<cgc>', '53.526.028/0090','doc2.doc')
Insert Into ctst (campo,sobrepor,arquivo) Values ('<Exter>',wre,'doc2.doc')
 

SELECT CTST
 DO WHILE !EOF()
SET DEFAULT TO SYS(5)+SYS(2003)

 
oaplword = createobject("Word.Application")
oaplword.documents.add("\PEDRO\aworld\duplicata1.DOc")
 
oSele = oaplword.ActiveDocument.ActiveWindow.ActivePane.Selection
 
 
IF NOT EOF()
 SCAN ALL
oSele.HomeKey(6) && TOPO DO DOCUMENTO
oSele.Find.Text = ALLTRIM( CTST.campo )
oSele.Find.Forward = .T.
oSele.Find.MatchWholeWord = .T.
oSele.Find.Execute()
*oSele.TypeText( ALLTRIM( CTST.sobrepor ) )
If oSele.Find.Found
oSele.TypeText( Iif( Empty(CTST.sobrepor), ' ', ALLTRIM(CTST.sobrepor) ) )
REPLACE CTST.FOI WITH 'S'
warq=ALLTRIM(ctst.arquivo)
DELETE IN ctst
Endif

ENDSCAN
ELSE
  WAIT WINDOW 'vc nao tem registros para este relatorio' TIMEOUT 2
ENDIF


 
Wait Windows "Salvando Documento "+warq NOWAIT noclear

oaplword.ActiveDocument.SaveAs( "\pedro\aworld\"+warq ) &&... salvo o documento como .DOC mantendo o template intacto (.DOT)

&&.. fica no laço enquanto o documento esta sendo salvo
Do While oaplword.ActiveDocument.saved=.F.
Enddo
Wait Windows "Fechando Documento o arquivo doc foi gerado "+warq  NOWAIT noclear
**************************************************
*se quizer imprimir o documento é so tirar o comentario
*      oWord.ActiveDocument.PrintOut()
*      oWord.DisplayAlerts = .F.
*      =Inkey(2)
************************
oaplword.quit
WAIT clear
SELECT ctst
GO top

IF EOF()
 EXIT
 endif
ENDDO

SELECT ctst
USE IN ctst

DECLARE INTEGER ShellExecute IN SHELL32.DLL INTEGER, STRING CDIR, STRING CFILE, ;
STRING , STRING, INTEGER
cArqDoc=getfile('DOC','Selecione o arquivo','SelecionE')

If File(cArqDoc)
*p/ imprimr arq. "print" no lugar do Open,p/imprimir direto
*O Open serve para abrir o doc
ShellExecute(0, "Open", cArqDoc,"", Fullpath(""),0)
Else
Wait Window ' O arquivo nao esta na pasta!! ' Timeout 2
ENDIF



********************************
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)

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Relatorios, como fazer??

Mensagem por MarcosSN em 16/3/2011, 11:18

Valew pessoal, vou comprar uma cx de Skoll e botar tudo em pratica..srs Eu tinha conseguido formatar a pagina para Envelope Dl 110 x 220cm q é o tamanho da promissoria e duplicatas, consegui retirar o cabeçalho pra aproveitar melho o corpo do documento,, mais o rodapé num ta qerendo sair naum,, e ta tomando espaço de dados.. Obrigado a todo.

MarcosSN
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Relatorios, como fazer??

Mensagem por Conteúdo patrocinado Hoje à(s) 05:11


Conteúdo patrocinado


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