material rave - boletos e arquivo texto

Delphi

02/05/2006

Pessoal,
Estou precisando começar um projeto onde faço leitura e tratamento de dados a partir de arquivos TXT (CNAB, por exemplo), gerando essencialmente boletos e carnets. A parte de programação Delphi está ok, estou migrando as aplicações originais de outro ambiente / linguagem para o Delphi. O difícil está no Rave: Não vou trabalhar com tabelas / BD e sim texto e a maioria do material encontrado ´ensina´ a trabalhar com o rave em modo visual, utilizando tables, etc. (já comprei e li o livro do Janones sobre rave, baixei alguma literatura e imprimi, etc., porém basicamente tudo está voltado para tables/programação em modo visual).

Alguém já esteve em situação semelhante e poderia dar uma mâo? Se eu não fui muito claro e se acham necessárias maiores informações, por favor perguntem.


Carlos_henrique

Carlos_henrique

Curtidas 0

Respostas

Alex Maia

Alex Maia

02/05/2006

Amigo,

Tem uma revista do ClubeDelphi que tratou este assunto. Comecei aprendendo por ela. Não sei qual é o número dela, mas se quiseres minha ajuda, escreva-me.

Falow


GOSTEI 0
Carlos_henrique

Carlos_henrique

02/05/2006

Amigos,

Usando o rave em modo programado, a evolução foi muito grande (eu acho).
- Leitura e tratamento de arquivo texto - ok
- Impressão em modo duplex - ok
- Exportação para pdf - ok
- Código de barras e postnet validados - ok

O que ainda está pegando:

As imagens que estou usando ( duas imagens: a máscara da parte interna da boleta: recibo do sacado / ficha de compensação e a parte Externa com os dados do destinatário e do remetente ) com rvsystem.basereport.printbitmap estão gerando uma exeção (EInvalidGraphic - bitmap image is not valid). Alguém que usa imagens teria uma sugestão para resolver o problema (tipo de imagens - jpg / bmp - resolução - tamanho, método a utilizar, etc) ?

Usando imagens, o processamento fica muito pesado, até a hora em que trava o sistema por falta de memória. A aplicação deverá gerar um número muito grande de boletos, podendo chegar a mais de 50.000 unidades em determinados casos!.

Se alguém puder / ou quiser dar uma olhada no código eu posso disponibilizá-lo, junto com uma amostra de arquivo texto e as imagens utilizadas.

Obrigado a todos.


GOSTEI 0
Eliasexner

Eliasexner

02/05/2006

Olá
Já tive um problema com o Rave nesta situação.
Eu utilizava um ClientDataset para gerar o arquivo temporário dos dados em cache e cada registro continha uma imagem.
A impressão de várias páginas gerava falta de memória.

Fiz 3 melhorias no processo que resolveram meu problema.

- O problema de Bitmap is invalid é porque os componentes de imagem do Rave só aceitam BMP. Quando vc tenta gravar um JPG gera este erro.
- Se vc estiver usando Clientdataset, crie uma tabela temporária em seu banco de dados para que vc não ocupe a memória da máquina local
- Outra melhoria é a mudança de uma propriedade no Rave. No componente RvSystem - SystemFiler - StreamMode, mude para ´smTempFile´. Isso gera o relatório em arquivos temp na máquina e não usa a memória da máquina.

Se vc quiser o código para conversão da imagem, sinta-se a vontade.

Espero ter ajudado.


GOSTEI 0
Carlos_henrique

Carlos_henrique

02/05/2006

Oi Elias,

Muito Obrigado pela atenção. Eu estava tentando de tudo, jpg, bmp, etc. As imagens que tenho são criadas no corel, vou exportar para bmp e testar. Já alterei o systemfilter também, obrigado pela dica. Quanto ao Dataset, não se preocupe: a entrada será feita exclusivamente por leitura de arquivo texto sequencial, não uso tabelas / bancos de dados. Um primeiro teste que fiz aqui começou a funcionar, parece que estou no caminho certo. Se no final der tudo OK reporto aqui e disponibilizo o código (se alguém quiser, óbvio).

Valeu!


GOSTEI 0
POSTAR