BOM — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Hisava переименовал страницу BoM в BOM)
м
Строка 1: Строка 1:
[[BoM]] - это функция, описанная в файле [[QrAddFn.pas]]
+
[[BOM]] - это функция, описанная в файле [[QrAddFn.pas]]
 
  Возвращает дату первого дня месяца
 
  Возвращает дату первого дня месяца
[[BoM]]( Dt )
+
[[BOM]]( Dt )
 
+
 
= Пример =  
 
= Пример =  
  [[BoM]]( Date() )
+
  [[BOM]]( Date() )
 
[[Файл:16-08-2016 9-03-46.png]]
 
[[Файл:16-08-2016 9-03-46.png]]
 
= Полный текст функции =
 
= Полный текст функции =

Версия 11:00, 20 сентября 2017

BOM - это функция, описанная в файле QrAddFn.pas

Возвращает дату первого дня месяца

BOM( Dt )

Пример

BOM( Date() )

16-08-2016 9-03-46.png

Полный текст функции

type
  TQREvBoM = class(TQREvDbFunction)
  public
    function Calculate: TQREvResult; override;
  end;
function TQREvBoM.Calculate: TQREvResult;
var
  res: TDateTime;
  v: variant;
begin
  res := BoM(Argument(0).DateResult);
  v := res;
  Result := QREvVariantToResult(@v);
end;

Регистрация

RegisterQRFunction(TQREvBoM, 'BoM', 'BoM( Dt )|{Дата первого дня мца}', 'Masha', '1D');

Расширение интерпретатора выражений

В фабиусе используются исходники программы QuickReport

Для добавления функции интерпретатора в delphi описывается тип, наследуемый от специального класса

Имя такого класса начинается с TQREv

Далее в нашем новом типе перекрывается функция Calculate

Результат, который будет возвращать функция Calculate и будет результатом выполнения новой функции интерпретатора

И последнее, что нужно сделать - зарегистрировать функцию с помощью выражения

RegisterQRFunction

Дерево классов

TQREvBoM
  TQREvDbFunction
    TQREvElementFunction
      TQREvElement

Смотрите также

Функции Delphi

Полезные функции