Report Builder - Funções
[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?
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
Curtidas 0
Respostas
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
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
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
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