Relatório para Turbo Delphi Explorer

Achei essa dica na comunidade Turbo Delphi no Orkut, postada pelo Eduardo [ NewZeek ]:

Participe da comunidade Orkut Turbo Delphi Explorer


Primeiro descompacte a pasta FreeReport na pasta Lib do Delphi, declare a pasta FreeReport\Source à Library do Delphi.

Pronto, o delphi reconhece a pasta das units necessarias para a criaçao dos componentes.

Crie uma nova aplicaçao, e insira os componentes para acesso ao banco de dados, neste caso estou utilizando DBExpress com driver UIB e clientDataSet, para acesso ao Banco de dados Firebird.

Apos o acesso aos dados estarem corretamente ligados e funcionando, vamos a criaçao dos componentes do FreeReport para a criaçao do relatorio.

Lembrando que primeiro iremos criar uma funçao para criaçao dos componentes e em tempo de execuçao iremos criar o relatorio e salvar em arquivo, depois voltamos ao projeto e carregamos o relatorio do arquivo.

Iniciando:

Adicione as seguintes units a clausula uses:

FR_Desgn, FR_DSet, FR_DBSet, FR_Class;

Agora adicione as seguintes variaveis globais ao projeto:

frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
frDesigner1: TfrDesigner;

ficara assim:

var
Form1: TForm1;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
frDesigner1: TfrDesigner;

Pronto, agora iremos criar os componentes no evento oncreate do form, passando como proprietario o proprio form:

procedure TForm1.FormCreate(Sender: TObject);
begin
frReport1 := TfrReport.create(form1);//Crio o componente do relatorio
frDBDataSet1 := TfrDBDataSet.create(form1);//Crio o componente de acesso ao banco
with frDBDataSet1 do
begin
dataset := ClientDataSet1;//seto qual dataset sera utilizado
name := 'frDBDataSet1';//defino o nome do componente
end;
frReport1.Dataset := frDBDataSet1;//defino o dataset do relatorio
frDesigner1:= TfrDesigner.Create(form1);//crio o componente Design
end;

Pronto, todos os componentes serao criado assim que o form for criado e destruidos juntamente com seu proprietario, o form.

agora o evento do botao Design:
21/12/06
Eduardo
O botao design sera responsavel por abrir o modo design do relatorio e sera de suma importancia para a criaçao do mesmo.

procedure TForm1.Btn_designClick(Sender: TObject);
begin
frReport1.DesignReport;
end;

agora rode a aplicaçao e clique no botao, ira aparecer o modo design do relatorio.
Procure pelo icone "Insert DB fields", e insira os campos que desejar no relatorio, lembrando que serao listados os campos e disponiveis no clientdataset.

Crie o relatorio utilizando os componentes disponiveis no modo design e depois salve este relatorio: File > Save as...

Pronto, volte ao projeto e vamos criar o evento que ira carregar o arquivo do relatorio.


procedure TForm1.Button1Click(Sender: TObject);
begin
frReport1.LoadFromFile('C:\teste.frf');
frReport1.ShowReport;
end;

No caso, "C:\teste.frf" é o relatorio que criei.

Agora rode a aplicaçao e clique no botao para exibir o relatorio.

Procurar neste site . . .