Метод GetFirstIn |
Найти первую запись в узле iNum логической таблицы. Если iNum = -1, то навигация производится по корневой таблице.
function GetFirstIn (iNum : integer; flags : byte) : integer;
iNum - номер узла логической таблицы, по которому производится навигация. Если iNum = -1, то навигация производится по корневой таблице.
flags - флаги навигации. Флаги не оказывают влияния на результат работы данной функции. Они влияют только на последующие вызовы функций GetNextIn и GetPrevIn. Если в дальнейшем предполагается производить навигацию только по узлу iNum без учета подцепленных таблиц, то параметер flags должен быть равен 0. Если же в дальнейшем навигация будет производиться по подцепленной таблице, то параметр flags должен быть равен 1. Например, есть список счетов, и для каждого счета есть список спецификаций. Если требуется перебрать все счета, не просматривая спецификации, то нужно вызывать описываемую функцию с параметром flags = 0. Если же требуется перебор счетов и всех спецификаций, то flags = 1.
Функция возвращает 0, если требуемая запись найдена. В противном случае возвращается код ошибки.
GetLastIn, GetPrevIn, GetNextIn.
Данный пример иллюстрирует использование параметра flags. Предполагается, что текущая подцепка таблиц определяет следующую структуру данных:
Таблица счетов (iNum = 0)
Счет1 |
Счет2 |
... |
Таблица спецификаций (iNum = 1)
Спецификация 1 счета 1 |
Спецификация 2 счета 1 |
Спецификация 3 счета 1 |
Спецификация 4 счета 1 |
Спецификация 1 счета 2 |
Спецификация 2 счета 2 |
Спецификация 3 счета 2 |
Спецификация 4 счета 2 |
Спецификация 5 счета 2 |
... |
Если iNum = 0, то:
GetFirstIn(0,0) - будет найден счет1 и какая-то спецификация счета 1;
GetNextIn(0,0) - будет найден счет2 и какая-то спецификация счета 2.
Если iNum = 1, то
GetFirstIn(0,1) - будет найден счет1 и спецификация 1 счета 1;
GetNextIn(0,1) - будет найден счет1 и спецификация 2 счета 1;
Если в функциях GetFirstIn и GetNextIn используются разные значения параметра flags, то результат выполнения функции становится непредсказуемым.
GetFirstIn(0,0) - будет найден счет1 и спецификация 1 счета 1;
GetNextIn(1,1) - результат не определен. Какая-то запись может найтись, а может и не найтись.