Jump to content


- - - - -

Como Usar O Fastreport?










19 respostas a este tópico

#1 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 02 February 2010 - 03:35 PM

Olá galera...

Baixei o FastReport mas nunca trabalhei com ele, alguém pode me ajudar nisso??
Como fazer meus relatórios para serem configuardos em tempo de execução?

Desde já eu agradeço!!!!

#2 Gabriel Frones

    Memento Mori

  • (*)Insigne
  • 7315 posts

Adicionado 02 February 2010 - 07:01 PM

Colega,

A pasta demos do FastReport deve ser de grande ajuda pra você no começo. Eu uso FastReport há bastante tempo e nunca trabalhei com outro melhor.

Para abrir o designer do relatório em tempo de execução, adicione frxDesgn na Uses e use o método DesignReport do TfrxReport.

Abraços,
Gabriel

#3 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 03 February 2010 - 11:52 AM

Vlw amigão...

Funcionou certinho, agora o que eu preciso é uma apostila!! Já revirei o google e não achei nada...
Sabe onde posso encontrar??

Abraço...

#4 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 03 February 2010 - 12:35 PM

Não sei se estou fazendo certo o não, mas estou com problemas na hora de configurar meu relatório em tempo de execução.
Monto o relatório, compilo, rodo o programa e abro o mesmo relatório em modo de edição, daí posso mudar os campos de lugar e até mesmo adicionar mais campos, salvo e quando mando mostrar estão todas as modificações lá, mas quando fecho o formulário e abro novamente, o relatório volta do mesmo modo como foi compilado!!

O que fazer pra não voltar como antes?? Pra eu poder alterá-lo em tempo de execução e quando entrar novamente no programa essas alterações estarem lá??

Estou em aguardo!!!!

Editado por Ferinha.master, 03 February 2010 - 12:36 PM.


#5 Gabriel Frones

    Memento Mori

  • (*)Insigne
  • 7315 posts

Adicionado 03 February 2010 - 02:00 PM

Tem que usar o relatório a partir de arquivo... você deve estar utilizando como armazenado em DFM.

Antes do DesignReport (ou ShowReport/PrepareReport), faça um LoadFromFile e carregue de um arquivo.

PS: Não conheço apostilas.

#6 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 04 February 2010 - 07:56 AM

Vlw mesmo Gabriel,

Fiz do jeitinho que me instruiu, mas não sei se to fazendo coisa errada... carrego o arquivo com o 'LoadFromFile' e depois dou o comando 'ShowReport' ai me abre a janela Preveiw, mas sem o relatório, tudo cinza..... não carrega o tal arquivo... o que estou fazendo de errado???

Mais uma vez eu agradeço!!!!!

#7 Gabriel Frones

    Memento Mori

  • (*)Insigne
  • 7315 posts

Adicionado 04 February 2010 - 12:02 PM

LoadFromFile + DesignReport abre o designer com o relatório certinho?

Tente LoadFromFile + PrepareReport + ShowPreparedReport.

#8 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 04 February 2010 - 12:45 PM

Para editar, estou fazendo assim:
  frxReport1.LoadFromFile(ExtractFilePath(ParamStr(0))+'NotasFiscais\NotaSaida.fr3');
  frxReport1.DesignReport();

Mas não abre o arquivo que salvei, abre um novo relatório em branco.

Agora pra abrir o relatório, fiz do jeito que me instruiu:
  frxReport1.LoadFromFile(ExtractFilePath(ParamStr(0))+'NotasFiscais\NotaSaida');
  frxReport1.PrepareReport();
  frxReport1.ShowPreparedReport;

E continua do mesmo jeito, me abre o Preview sem nada, todo cinza!!
Isso não tem à ver com DFM?? O frxReport tem uma propriedade chamada StorelnDFM, já mexi lá mas não mudou nada!

O que pode ser???

#9 Paulo Gurgel

    Já esvaziou sua xícara hoje?

  • (*)Insigne
  • 10447 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 04 February 2010 - 03:39 PM

Nunca usei paramstr(0). ele retorna o path todo ou só o nome do arquivo?
Costumo usar assim:
includeTrailingPathDelimiter(ExtractFilePath(Application.ExeName));

Application.exename é paramstr(0), mas certamente tem o path junto.
Agora, includeTrailingPathDelimiter é só para garantir o último backslash (\), assim não preciso me preocupar se a função retornará com a "\" ou não.

O StoreInDFM serve para manter o relatório no dfm sem a necessidade de salvar em arquivo no ocmputador da pessoa. É útil para relatórios que nunca serão modificados ou que a modificação é opcional. Eu fazia meus relatórios assim: por exemplo, vamos supor um contrato.fr3... o sistema tem o contrato padrão... mas eu usava o seguinte código:

arqRep := Path + 'contrato.fr3';
if fileExists(arqRep) then
  frxReport.LoadFromFile(arqRep);
frxReport.PrepareReport;....

Assim se não existir um arquivo na pasta, ele usa um padrão interno.

[]'s

#10 Gabriel Frones

    Memento Mori

  • (*)Insigne
  • 7315 posts

Adicionado 05 February 2010 - 12:15 PM

Paulo,

Application.ExeName = ParamStr(0); ExtractFilePath vem sempre com backslash; ExtractFileDir vem sempre sem.

Por isso acho que o erro não é isso.... sugiro fazer um If Not FileExists() Then ShowMessage. Isso vai te dar certeza de que o arquivo existe... ou um ShowMessage do nome do arquivo.

#11 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 05 February 2010 - 02:27 PM

Então, Paulo.. a função ExtractFilePath(ParamStr(0)) me retona o Path já com o backslash(\), quanto ao caminho não tenho problemas.

Quanto a dica do StoreInDFM foi muito boa pra mim, já resolveu um problemão que eu poderia enfrentar mais pra frente, vale mesmo pelas dicas!!!!!!

Fiz algo que quase resolveu parte de meu problema:
  frxReport1.PrepareReport(); 
  frxReport1.LoadFromFile(ExtractFilePath(ParamStr(0))+'NotasFiscais\NotaSaida.fr3');
  frxReport1.ShowPreparedReport;

dessa forma está resolvido o problema... pena que demora uns 5 seg. pra carregar o relatório, mas pelo menos tá funcionando!!!!

Brigadão...

Editado por Ferinha.master, 05 February 2010 - 02:29 PM.


#12 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 05 February 2010 - 02:30 PM

Gariel,

Agora preciso que o relatório seja impresso direto, sem passar pela janela de diálogo. Já desabilitei a propriedade PrintOptions.ShowDialog do frxReport1 e mesmo assim quando executo a função "frxReport1.Print" me aparece a janela de diálogo. Como resolver isso??

Obs.: A Versão do FastReport que instalei é Trial e toda vez que imprimo qualquer coisa me aparece a seguinte fase:
"FastReport - Unregistered Version (only 5 pages)"... a versão que está usando é paga, crackeada, liberada?? Estou um pouco por fora... Como resolvo isso??

Brigadão pelas ajudas, estou aguardando!!!!!

#13 Gabriel Frones

    Memento Mori

  • (*)Insigne
  • 7315 posts

Adicionado 05 February 2010 - 02:48 PM

Tem algo de muito estranho com esse seu Report... ShowDialog = False devia inibir a dialog de impressão. Além disso, dar o PrepareReport antes de LoadFromFile, deve gerar um relatório com base no design que está no DFM (StoreInDFM), pois o PrepareReport é o que de fato processa o relatório.

Eu não sei qual versão você está usando, mas eu uso a 4.0 (desde Indy9/Indy10, nunca mais atualizei componentes que estivessem funcionando. rs) e não tenho problemas deste tipo.

PS: O componente é pago (eu passei a conta para um cliente meu. rs) e o estatuto do fórum é veementemente contra a pirataria (ou era, da última vez que o li).

#14 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 05 February 2010 - 03:21 PM

Quanto a impressão sem a janela de diálogo já ta resolvido, eu estava me esquecendo do comando 'PreparerReport'...

Se eu tirar o PreparerReport e mandar executar o comando ShowPreparerReport me aparece o Preview sem nada, todo cinza...

Se eu faço do jeito que postei funciona normalmente! e seu eu usar:
  frxReport1.LoadFromFile(Path);
  frxReport1.ShowReport;

tbm não não aparece nada, só cinza.. muito estranho!!!!!!

Uso a versão 4.9.17 (Trial) vou procurar saber como comprar a versão Professional, espero que não seja muito caro......

Vlw amigão.. Até mais!!!

Editado por Ferinha.master, 05 February 2010 - 03:33 PM.


#15 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 05 February 2010 - 03:40 PM

View PostFerinha.master, on 05 February 2010 - 03:21 PM, said:

Se eu faço do jeito que postei funciona normalmente! e seu eu usar:
  frxReport1.LoadFromFile(Path);
  frxReport1.ShowReport;

tbm não não aparece nada, só cinza.. muito estranho!!!!!!

Corrigindo o post assima;

Se eu faço do jeito que postei funciona normalmente! e seu eu usar:
  frxReport1.LoadFromFile(Path);
  frxReport1.Print;

tbm não não acontece nada, não imprime.. muito estranho!!!!!!

#16 Gabriel Frones

    Memento Mori

  • (*)Insigne
  • 7315 posts

Adicionado 05 February 2010 - 04:04 PM

Espera.... não entendi.

LoadFromFile + PrepareReport + Print funciona?
LoadFromFile + PrepareReport + ShowPreparedReport funciona?

Eu dei uma revisada nos fontes que eu tenho, eu sempre faço PrepareReport depois do LoadFromFile... portanto, fica sempre em uma das sequencias acima.

#17 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 08 February 2010 - 07:12 AM

Agora está tudo funcionando de verdade...

Estava confundindo design do DFM com o arquivo *.fr3 mas agora entendi tudo direitinho, fiz um tratamento no fonte se o arquivo *.fr3 existir então "LoadFromFile + PrepareReport + Print", senão mostra uma mensagem de aviso e carrega do DFM!!

Só mais uma dúvida: Depois que coloquei esse relatório, ao compilar, gerou um executável com 1.4 MB a mais que o anterior(sem o relatório), porquê aumentou assim? A cada relatório que eu inserir no meu projeto vai aumentar o tamanho do executável nessa proporção????

Agradeço muito pela ajuda!!!!!!

#18 Gabriel Frones

    Memento Mori

  • (*)Insigne
  • 7315 posts

Adicionado 08 February 2010 - 04:01 PM

Esse aumento deve estar relacionado à inclusão do FastReport (o componente) em si no seu projeto... o relatório (*.fr3) não tem mais que alguns KiB.

#19 Ferinha.master

    Membro - Junior 1

  • Membros
  • PipPipPipPipPip
  • 251 posts
  • Sexo:Masculino
  • Estado:Minas Gerais

Adicionado 09 February 2010 - 07:14 AM

Correto......

Galera, vlw mesmo pela grande ajuda, sem vcs não conseguiria concluir essa tarefa. Acho que daquí pra frente é só ir fuçando, mas se surgir algumas dúvidas voltarei pra achar as soluções!!!!!!

Um abraço a todos!!!!!

#20 Paulo Gurgel

    Já esvaziou sua xícara hoje?

  • (*)Insigne
  • 10447 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 09 February 2010 - 09:50 AM

O FastReport em sí já é grande, agora se cada relatório que tiver storeInDFM tiver Imagens, o executável pode crescer bastante. Lembrando que um executável de 20Mb por exemplo não é grande e nem lento para executar necessariamente. Depende mais na verdade dos algoritmos, o ruim é só enviar para o cliente que tiver internet discada rsrsrs.

Lembre-se sempre que você pode usar um compactador de executáveis (aspack / upx)





1 usuário(s) esta(ão) lendo este tópico

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)