Do case
Синтаксис:
do case
case условие <команды>...
[case условие]
[<команды>...]
[otherwise]
[<команды>...]
endcase.
Команда do case выбирает один вариант действия из имеющегося набора. Условия, следующие за case, вычисляются до тех пор, пока одно из них не окажется истинным. Когда условие окажется истинным, то выполняются все команды, расположенные между этим и следующим case или между otherwise и endcase. Если не одно из условий не окажется истинным, то выполняются команды2, стоящие за необязательным otherwise. Если команда otherwise не использована и не нашлось истинных условий, FoxPro выполняет команду, следующую за endcase.
Пример. В следующих командах do case FoxPro выбирает из трех возможных альтернатив: 1) выполнить командный файл с именем menu; 2) добавить записи в базу данных; 3) выйти из FoxPro.
do case
case select = 1
do menu
case select = 2
append
case select = 3
quit
endcase.
Do while
Синтаксис:
do while условие <команды>...enddo.
Команда do while непрерывно выполняет команды между do while и enddo до тех пор, пока условие остается истинным.
Когда FoxPro встречает команду do while, то вычисляется условие, стоящее в этой команде: если условие ложно, FoxPro переходит к команде, следующей за enddo; если условие истинно, то снова выполняются команды между do while и enddo. Если условие ложно, то FoxPro выполняет команду, следующую за enddo.
Пример. Для вывода на экран полей lastname, firstname, city и state для каждой записи до конца файла данных вы можете использовать следующую программу:
do while .not. eof()
?lastname, firstname, city, state
skip
enddo.
Edit
Синтаксис:
edit [<диапазон>] [fields <список>][for условие][while условие].
Команда Edit загружает полноэкранный редактор FoxPro. Если в диапазоне не указано число записей, то для редактирования выбирается текущая запись, которая определяется по текущей позиции указателя записей.
Опция fields приведет к выводу на экран только тех полей, которые указаны в списке. Опции for и while позволяют определить условия, которые должны выполниться до того, как запись появится на экране для редактирования.
Erase
Синтаксис:
erase <файл>.ext| [?] .
Команда erase удаляет указанный файл из подкаталога. Имя должно включать расширение. Для удаления файла вы так же можете использовать команду delete file <файл>.ext. Если файл находится не на принятом по умолчанию дисководе, то вы должны включать название дисковода. Если вместо имени файла использован необязательный знак вопроса, то появляется прямоугольник со списком файлов. Пользователь имеет возможность выбрать подлежащий удалению файл.
Exit
Синтаксис:
exit.
Команда exit позволяет выйти из цикла do while, for или scan и перейти к первой команде, следующей за концом цикла (т. е. после команд enddo, endfor или endscan).
Пример. В приведенной части командного файла команда exit используется для выхода из цикла do while, если введено число 9999:
do while .t.
? "введите номер для добавления"
? "введите 9 999 для выхода"
input to partno
if partno = 9999
exit
endif
append blank
replace partnumb with partno
edit
enddo.
Find
Синтаксис:
find <строка_символов>.
Команда find устанавливает указатель записи на первую запись, содержащую индексный ключ, соответствующий <строка_символов>. Если в начале <строка_символов> стоят пробелы, то <строка_символов> должна быть окружена одинарными или двойными кавычками; в противном случае кавычки не обязательны. Если указанная строка символов не может быть найдена, то eof устанавливается в «истину» и на экране появляется сообщение no find (если FoxPro не выполняет командный файл). Индексный файл нужно открыть до использования команды find.
For
Синтаксис:
for <переменная> = <числ_в>1 to <числ_в>2[step <числ_в>3] <команды>... endfor.
Команда for и закрывающая ее команда endfor образуют цикл, который повторяется указанное число раз, заданное в числовом выражении. Значение <числ в>1 задает начальное значение, а значение <числ_в>2 — конечное значение. Цикл повторяется число раз, равное разнице между <числ_в>1 и <числ в>2, если с помощью необязательного step не указан иной шаг. После того как было выполнено указанное число повторений, FoxPro переходит к команде, следующей за endfor. Если был использован step, то увеличивается <переменная>, или, если значение step отрицательно, она уменьшается всякий раз, когда встречается endfor до тех пор, пока <переменная> не станет равной или большей чем <числ_в>2.
Пример. Чтобы использовать команду for-endfor для печати полей lastname, firstname, city и state для указанного числа записей, вы можете использовать следующую программу:
use members
input "сколько записей напечатать?" to counters
store 1 to begin
for begin = 1 to counters
? lastname, firstname, city, state
skip
endfor.
Достарыңызбен бөлісу: |