ورود

View Full Version : دسترسی به متد های سفارشی فست ریپرت



benyaminrahimi
شنبه 18 بهمن 1393, 18:58 عصر
با سلام فرض کنید چند متد سفارشی با add method یا add function به محیط طراحی گزارش فست ریپرت اضافه کردیم و اضافه کردن این متد ها در رویداد desgn نوشته شده حال میخواهیم بدانیم چه متد های سفارشی در محیط طراحی وجود دارد که این افزودن ها مجددا انجام نشود ...




procedure tpatern.fr_add_func(frrep: TfrxReport);
begin


frrep.AddFunction('function NUMSTR(a: double):string;', 'سفارشي',
'معادل رشته اي يک عدد را بر ميگرداند');
frrep.AddFunction('function TARIKHSTR(a: string):string;', 'سفارشي',
'تاريخ را به صورت رشته اي مينويسد ');
frrep.AddFunction('function SRVTARIKH():string;', 'سفارشي',
'تاريخ سرور مرکزي');
frrep.AddFunction('function SRVZAMAN():string;', 'سفارشي', 'زمان سرور مرکزي');
frrep.AddFunction('function TARIKHADD(tar:string,add:integer ):string;',
'سفارشي', 'به تاريخ يک عدد اضافه يا کم ميکند');
frrep.AddFunction('function TARIKHBETWEEN(tar1:string,tar2:string ):integer;',
'سفارشي', 'فاصله روز دو تاريخ را برميگرداند');
frrep.AddFunction('function TIMEBETWEEN(tim1:string,tim2:string ):integer;',
'سفارشي', 'فاصله دقيقه دو زمان را بر ميگرداند');
frrep.AddFunction('function LANGSTR(v:widestring ):widestring;',
'سفارشي', 'معادل زبان يک رشته را برميگرداند');


end;

یوسف زالی
شنبه 18 بهمن 1393, 23:51 عصر
سلام.
بعد از زیر و رو کردن سورس فست:


var
i: integer;
begin
frxReport1.AddFunction('function MyFunc1:string;');
frxReport1.AddFunction('function MyFunc2:integer;');
frxReport1.AddFunction('function MyFunc3(s: string):string;');


for i := 0 to frxReport1.Script.Count -1 do
with frxReport1.Script.Items[i] do
begin
if not IsMacro then
if AddedBy = nil then // added by user
Memo1.Lines.Add(Name);
end;
end;