При выполнении 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)")
Можно также использовать датастори, вместо датавинды.