ТМС:Кассир:Global — различия между версиями

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
(Новая страница: «Доступ к элементам объекта осуществляется по имени. <nowiki> IsExists - метод возвращает 1, есл…»)
 
(нет различий)

Текущая версия на 12:30, 1 октября 2014

Доступ к элементам объекта осуществляется по имени.

  IsExists		- метод возвращает 1, если элемент с именем PName существует, иначе 0
    PName		- имя элемента для поиска
  DeleteItems		- метод удаляет элементы хранилища по маске имени
    PNameMask		- маска имени для удаления
  Предопределённые глобальные элементы (начинаются на '__', просьба не называть собственные глобальные элементы на '__'):
  Такие элементы можно ТОЛЬКО ЧИТАТЬ, установка блокируется программой
  __timer		- таймер главного окна (Global['__timer'] == fmMain.tmScript.Tag)
  __activeform		- имя активной формы
  __activepartid	- PartID текущей позиции базы
 

Пример:

  Global['db'] := CurrDB; //добавим ссылку на текущую базу данных в глобальное хранилище
  ShowMessage(Global['db'].DatabaseName); //получим данные из хранилища
  if Global.IsExists('myVar10') = 1 then ShowMessage('Элемент myVar10 существует'); //проверим существование элемента
  Global.DeleteItems('myVar*'); //удалим все элементы с именами, начинающимися на 'myVar'
 

Примечание:

В скрипте После прорисовки ячейки сетки также доступны следующие глобальные элементы:

  cell_gridname - (string) имя контрола (сетки) в нижнем регистре
  cell_node - (TdxTreeListNode) текущая нода (строка) сетки
  cell_column - (TdxTreeListColumn) текущая колонка сетки
  cell_selected - (boolean) признак выделенности ноды
  cell_focused - (boolean) признак нахождения фокуса на ноде
  cell_text - (string) текст ячейки
  cell_color - (TColor) цвет ячейки
  cell_font - (TFont) шрифт ячейки
 

Пример скрипта:

  uses dxTL, dxDBTL, dxDBCtrl, dxDBGrid, Graphics;
  begin
    if Pos('SNAME', TdxDBTreeListColumn(Global['cell_column']).FieldName) > 0 then
      begin
        Global['cell_text'] := 'Трали-вали!';
        if Odd(Global['cell_node'].Values[TdxDBGrid(Global['cell_node'].Owner).ColumnByFieldName('part_id').Index]) then
          Global['cell_color'] := clGreen
        else
          Global['cell_color'] := clRed;

        Global['cell_font'].Style := Global['cell_font'].Style + SetOf([fsItalic]);
      end;
  end;