Выражения for и while. Диапазон действия команды также может быть определен с помощью выражений for <логическое выражение> и/или while <логическое выражениеХ
В случае использования выражения for каждая запись, которая удовлетворяет установленному логическому условию, обрабатывается командой. Каждая запись в базе данных проверяется с помощью выражения for.
Например, команда
use personal
edit for sex = [М] .and. year > 1985
позволяет выбрать для редактирования записи с мужчинами, родившимися после 1985 г.
С другой стороны, выражение while позволяет команде работать с записями файла данных, пока логическое выражение оценивается как истинное. Как только встречена запись, не соответствующая логическому условию, работа завершается и все другие оставшиеся записи файла данных не обрабатываются.
Например, команда
use personal
edit while year = 1985
должна будет выбрать для редактирования записи, пока год рождения в них равен 1985 г. Как только появится 1987 или 1984 г., работа команды завершится. Очевидно, все это имеет смысл только в том случае, если записи отсортированы по году рождения или включен соответствующий индекс. Кроме того, указатель текущей записи должен быть установлен на первую запись с годом рождения 1985 (например, командой seek 1985).
Оператор интервала и выражения for, while могут быть использованы в одной и той же команде FoxPro. Если заданы оба выражения for и while, то while имеет более высокий приоритет.
Достарыңызбен бөлісу: |