Hosted by uCoz
Необычное применение функций в DataWindow expressions
 
   При выполнении DataWindow expressions PB осуществляет поиск функции
   в следующем порядке:
   
   1. Просматриваются функции, определенные в DataWindow Painter's 
   2. Просматриваются user-defined global functions
   3. Просматриваются global system functions
   
   Поэтому Вы можете использовать не только те функции, которые существуют
   в списке "Modify Expression: Functions list box.", но и свои и Билдера
   
   Например следующее выражение эмулирует анимированную картинку:
   
   Bitmap(CASE( mod( cpu(), 200 )
   WHEN IS <= 50 THEN 'file1.bmp'
   WHEN IS <= 100 THEN 'file2.bmp'
   WHEN IS <= 150 THEN 'file3.bmp'
   ELSE 'file4.bmp') )
   
   Или,например, в отчете необходимо вывести цифровое значение в строковом
   формате (для суммы бабок к примеру). То просто для вычисляемого поля в экспрешене
   пишем f_sum_to_string(ld_sum), где f_sum_to_string - пользовательская функция
   преобразования числа в строковый эквивалент.

   Более того, используя данный факт, Вы можете создать набор макроопределений,которые
   заранее не известны и должны выпоняться в RUN-TIME !!!
   
   1. Собирается строка команды или ...в ls_command
   2. dw_1.Describe("Evaluate(' " + ls_command + " ', 1)") 
   
   Можно также использовать датастори, вместо датавинды.