Report Builder - Funções

Delphi

19/03/2008

[b:1f3146d41e] Olá para todos [/b:1f3146d41e]

Estou incorporando o report builder em um gerador de relatórios.

Minha duvida é a seguinte:

No [b:1f3146d41e]FastReport[/b:1f3146d41e] há como fazer as tais TfrFunctionLibrary, alguém
conhece uma classe tipo essa que sirva para fazer funções no
[b:1f3146d41e]ReportBuilder[/b:1f3146d41e]? Encontrei um jeito de criar funções e procedures
dentro do report na aba calc pedindo para exibir por módulo, só que dali
não consigo nem declarar um array que ele não aceita, e também não
consigo fazer referência a nenhuma procedure ou função do código
fonte do gerador.

Alguém sabe como fazer uma função no código fonte do aplicativo de um
jeito que possa ser referenciada no relatório?


álison Bissoli

álison Bissoli

Curtidas 0

Respostas

Rodc

Rodc

19/03/2008

Se não me engano, você pode seleciona um componente do ReportBuilder e pressionar F11 que aparece o Object Inspector do componente com os seus eventos.


GOSTEI 0
álison Bissoli

álison Bissoli

19/03/2008

Se não me engano, você pode seleciona um componente do ReportBuilder e pressionar F11 que aparece o Object Inspector do componente com os seus eventos.


Quero saber é como fazer uma função interna para o desinger. Nada haver com o object inspector não, tem haver é com o raFunc.


GOSTEI 0
álison Bissoli

álison Bissoli

19/03/2008

unit Unit1;

interface

uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs,
utSystem, raFunc, ppRTTI, daDBExpress, ComCtrls;


{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{ SHOW MESSAGE (declaração) }
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
Type
TmyShowMens = class (TraStringFunction)
public
procedure ExecuteFunction(aParams: TraParamList); override;
class function GetSignature: String; override;
end;


implementation

uses daQueryDataView, daSQL, StrUtils, raClsVal;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{ SHOW MENSAGEM (implementação) }
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~}
{~~}// Assinatura
{~~}
{~~} class function TmyShowMens.GetSignature: String;
{~~} begin
{~~} Result := ´function ShowMens(str:string):string;´;
{~~} end; {classe da função, assinatura da declaração}
{~~}
{~~}// Execução
{~~}
{~~}procedure TmyShowMens.ExecuteFunction(aParams: TraParamList);
{~~}var
{~~} mensagem : string;
{~~}begin
{~~} try
{~~} GetParamValue(0,mensagem);
{~~} showmessage(mensagem);
{~~} except
{~~} on e:exception do showmessage(e.Message);
{~~} end;
{~~}end;
{~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{ INICIALIZAÇÃO }
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~}
{~~} initialization
{~~} raRegisterFunction(´ShowMens´ , TmyShowMens);
{~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{ FINALIZAÇÃO }
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~}
{~~} finalization
{~~} raUnRegisterFunction(´ShowMens´);
{~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

end.


// Espero que seja útil


GOSTEI 0
POSTAR