function TMainForm.Report_3UserFunction(const MethodName: String;
var Params: Variant): Variant;
begin
if MethodName='SUMMAPROPIS' then
begin
if Params[0]<>null then
Result := SummaPropis(Params[0])
else
Result := SummaPropis(0);
end;
end;
procedure TMainForm.FormShow(Sender: TObject);
begin
Report_3.AddFunction('function SummaPropis(summa: Double):String');
end;
function TMainForm.Report_3UserFunction(const MethodName: String;
var Params: Variant): Variant;
всместо MethodName рлставить имя своей функции?
а вместо Params параметры?
Да, только в примере из моего проекта отчёт называется Report_3, а форма - MainForm, поэтому и название обработчика
function TMainForm.Report_3UserFunction(const MethodName: String;
var Params: Variant): Variant;
ну вот как например должна выглядить пользовательская функция для перевода числа в пропись, сам код функции которая переводит число в пропись выше. Форма у меня Form1, ФР frxReport2
Комментарии
2 - в обработчике формы OnShow описываем пользовательскую функцию
3 - в скрипте отчёта вызываем пользовательскую функцию
SummaPropis(<frxDBDataset1."SUMMA">);
1 - обработчик события OnUserFunction frxReport
а что писать в OnShow и где он находиться я понять немогу
Событие OnShow формы моего проекта чтоли?
И ещё. Подключённая таким образом пользовательская функция не доступна в design-time.
а вот что писать в OnShow?
begin
frxReport1.AddFunction('function SummaPropis(summa: Double):String');
end;
var Params: Variant): Variant;
всместо MethodName рлставить имя своей функции?
а вместо Params параметры?
function TMainForm.Report_3UserFunction(const MethodName: String;
var Params: Variant): Variant;
являэться членом Form1
пример из Delphi, но в билдере, думаю, аналогично
я когда саму функцию свою вставляю то выдает ошыбку...