Ir para conteúdo
Fórum Script Brasil

Fernando Barreto

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que Fernando Barreto postou

  1. Consegui resolver o problema! Como dito acima, o ArchiveReader não possui propriedades nem métodos para ler direto de um TMemoryStream, então, criei um componente derivado dele, nomeando-o StreamArchiveReader que possui a propriedade que eu precisava. De qualquer forma, obrigado!
  2. Hum, você pode enviar o valor formatado por parâmetro para o Rave via código no Delphi...
  3. Então Eder.... O primeiro passo, é criar o tal arquivo .gdb ou .fdb. (A extensão .gdb é utilizada pelo Interbase, mas pode ser usada pelo Firebird sem problemas. A extensão .fdb é o padrão do Firebird). Como criar o arquivo? Bem, o Firebird possui algumas limitações quanto a ferramentas nativas para gerenciamento. Mas existem diversas ferramentas de terceiros disponíveis. Uma muito boa, que particularmente eu uso, é a citada pelo K!ko, o IBExpert, que possui uma versão free http://ibexpert.biz/?license=BE36768BB65C2...amp;id=Download. Vai precisar preencher o formulário para fazer o download, mas é free mesmo. Com o IBExpert, você poderá criar o arquivo de banco de dados (.gdb ou .fdb), bem como criar as tabelas, procedures, triggers, etc... que serão necessárias. Depois do banco criado, você pode optar por continuar usando o IBExpert, ou usar as ferramentas que você disse já ter. É isso. Abraço.
  4. Olá pessoal. O negócio é o seguinte. Tenho um relatório (RBuilder) que precisava ser armazenado no banco de dados (firebird). Eu sei que existem vários meios de se fazer isso, mas eu precisava de um jeito que não necessitasse gravar o arquivo em disco para então salvar no banco. Consegui fazer isso, utilizando TMemoryStream e o referido relatório foi armazenado (compactado) no banco. Compactado para ocupar menos espaço e tal... Para isso usei um componente da VCLZip. Bem relatório armazenado, veio o grande problema em que me encontro. Como recuperar este relatório do banco? Bem, até o momento consegui fazer os mesmos procedimentos de gravação para efetuar a recuperação. Explicando melhor: Para recuperar o relatório, primeiro eu tenho que salvar o valor do campo da tabela em disco (report.zip), depois, armazenar este arquivo em um stream para descompactá-lo. Depois de descompacado, tenho que gravar o arquivo (report.raf) em disco também, para que o ArchiveReader possa lê-lo. Desta forma, o relatório gravado é gerado. Mas eu quero (e preciso) fazer com que o ArchiveReader leia o relatório diretamente de um TMemoryStream. Será que existe algum meio, ou terei que criar um componente herdado do ArchiveReader com a propriedade de ler de um stream? Agradecido.
×
×
  • Criar Novo...