Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Видеокурс программиста и крэкера 5D 2O17
(актуальность: декабрь 2O17)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Пример DbiAddFilter

Автор: Mark Erbaugh


 type
   TmyFilter = record
     Expr: CANExpr;
     Nodes: array[0..2] of CANNode;
     literals: array[0..7] of char;
   end;
 
 const
   myFilter: TMyFilter = (Expr:
     (iVer: 1; iTotalSize: sizeof(TMyFilter); iNodes: 3;
     iNodeStart: sizeof(CANExpr); iLiteralStart: sizeof(CANExpr) +
     3 * sizeof(CANNode));
     Nodes:
     ((canBinary: (nodeClass: nodeBinary; canOP: canEQ;
     iOperand1: sizeof(CANNode); iOperand2: 2 * sizeof(CANNode))),
     (canField: (nodeClass: nodeField; canOP: canField2;
     iFieldNum: 0; iNameOffset: 0)),
     (canConst: (nodeClass: nodeConst; canOP: canCONST2;
     iType: fldZSTRING; iSize: 3; iOffset: 5)));
     literals:
     ('T', 'Y', 'P', 'E', #0, 'I', 'N', #0));
 
 var
   dbResult: DBIResult;
   hFilter, hFilter1: hDBIFilter;
 begin (* procedure SetupFilter *)
   dbResult := DbiAddFilter(tblAP_.Handle, 1, 1,
     False, addr(myFilter), nil, hFilter);
   dbResult := DbiActivateFilter(tblAP_.Handle, hFilter);
   tblAP_.First;
   myFilter.nodes[0].canBinary.canOp := canNE;
   dbResult := DbiAddFilter(tblAP1_.Handle, 1, 1,
     False, addr(myFilter), nil, hFilter1);
   dbResult := DbiActivateFilter(tblAP1_.Handle, hFilter1);
   tblAP1_.First;
   myFilter.nodes[0].canBinary.canOp := canEQ;
 end;
 

Этот пример устанавливает два фильтра. Первый (применяемый к tblAP_) выводит все записи, где ТИП поля имеет значение 'IN'. Второй (применяемый к tblAP1_) выводит все записи, где ТИП поля не имеет значения 'IN'.

Также необходимо включить в ваш файл файлы DBITYPES и DBIPROCS, где определены вызываемые функции и константы.




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS