Команды работы с наборами записей
Для работы с наборами записей существуют команды dbCreate, dbOpen, dbClose, dbFilter.
dbCreate <ID> <FileName> <Field1>, <Field2>, ..., <FieldN> done
Команда создает новую пустую таблицу базы данных в формате "DBF" с именем <FileName> и описаниями полей <Field1>, <Field2>, ..., <FieldN>. После создания таблица открывается и ей присваивается идентификатор <ID>. В качестве идентификатора указывается переменная, которой присваивается значение созданного или открытого набора записей.
Описание полей <Field> имеет следующий формат:
<Name> <Type> [<Size> [<Prec>]]
<Name>— строка с именем поля (до 10 символов)<Type>— тип поля. Тип поля задается либо ключом, либо строкой из одного символа. Возможные значения типа поля:realили "r" — числовое полеstringили "s" — строковое поляlogicalили "l" — логическое поля
<Size>— размер поля (в символах) . Размер поля имеет смысл только для строковых и числовых полей и не может превышать 255 символов.<Prec>— точность представления (в символах). Точность представления имеет смысл только для числовых полей и указывает количество знаков после десятичной точки.
dbOpen <ID> <FileName> [readonly] [<Filter>]
Команда открывает набор записей для существующей "DBF" таблицы с именем <FileName> и фильтром (если указан) <Filter>. Необязательный ключ readonly открывает набор записей только для чтения. То есть внести изменения в такой набор записей не получится. После открытия набору записей присваивается идентификатор <ID>.
Фильтр <Filter> — это строка, которая содержит текст логического выражения, где в качестве переменных используются имена полей таблицы. Если для конкретной записи таблицы значение выражения не равно нулю, эта запись помещается в открываемый набор. Иначе — не помещается. Предположим, например, что таблица имеет строковое поле Name и числовое поле Age. Выражение "(Age>30)&&(Left(Name,1)==\"И\")", используемое в качестве фильтра, помещает в набор только те записи таблицы, у которых значение поля Age больше 30 и первая буква в поле Name — "И".
dbFilter <ID>, <Filter>
Команда переформирует ранее открытый набор записей с идентификатором <ID>., помещая в него только те записи набора, которые удовлетворяют условию, заданному в строке <Filter>. (см. выше)
dbClose <ID>
Команда закрывает открытый набор записей с идентификатором <ID>.