.find, метод
| Назначение: | Находит N-е вхождение данных, удовлетворяющих выбранным критериям, в файле, открытом «на» выбранном номере файла (номер выбирается через fd.filenum). |
| Синтаксис: | fd.find(frompos as dword, byref substr as string, instance as word, dir as forward_back, incr as word, mode as pl_fd_find_modes) as dword |
| Возвращает: | Позицию в файле (счёт с единицы), в которой найдено искомое вхождение substr, или 0, если искомое вхождение substr не найдено. Метод также влияет на состояние fd.laststatus. Возможны следующие коды состояния: 0 - PL_FD_STATUS_OK: выполнено успешно. 1 - PL_FD_STATUS_FAIL : сбой физической флеш-памяти (фатальный). 2 - PL_FD_STATUS_CHECKSUM_ERR: в одном из секторов диска обнаружена ошибка контрольной суммы (фатальная). 3 - PL_FD_STATUS_FORMAT_ERR: обнаружена ошибка форматирования диска (фатальная). 4 - PL_FD_STATUS_INV_PARAM: передан недопустимый аргумент. 8 - PL_FD_STATUS_NOT_READY: диск не смонтирован. |
| См. также: | Поиск в файлах |
| Аргумент | Описание |
| frompos | Начальная позиция в файле, с которой ведётся поиск. Позиции в файле считаются с 1. Если значение выходит за допустимый диапазон, оно исправляется автоматически. |
| substr | Искомая строка. |
| instance | Номер искомого вхождения. |
| dir | Направление поиска: 0 - FORWARD: поиск идёт от позиции frompos к концу файла. 1 - BACK: поиск идёт от позиции frompos к началу файла. |
| incr | Шаг позиции поиска (или уменьшения позиции при поиске BACK). |
| mode | Режим поиска: 0 - PL_FD_FIND_EQUAL: найти данные, равные substr. 1 - PL_FD_FIND_NOT_EQUAL: найти данные, не равные substr. 2 - PL_FD_FIND_GREATER: найти данные со значением больше значения substr. 3 - FIND_GREATER_EQUAL: найти данные со значением больше или равным значению substr. 4 - PL_FD_FIND_LESSER: найти данные со значением меньше значения substr. 5 - PL_FD_FIND_LESSER_EQUAL: найти данные со значением меньше или равным значению substr. |