Л. Партыка, И. И. Попов системы управления базами данных



бет86/215
Дата29.01.2022
өлшемі4,64 Mb.
#115817
1   ...   82   83   84   85   86   87   88   89   ...   215
Байланысты:
Голицына О Л Партыка Т Л Попов И И Системы

КОМАНДА [интервал] While [условие-1] For [условие-2],

[Next n — следующие п записей; где интервал =  Rest   — оставшиеся до конца файла записи; [аи  — все записи.

Здесь: выполнение Команды прекращается, если нарушается <условие-1>;

Команда распространяется  при  этом только на записи, удовлетворяющие <условию-2>.

Разработка приложений в среде FoxPro состоит в создании совокупности взаимосвязанных файлов БД, форматных, индексных, командных, образующих в итоге среду пользователя, АБД, оператора подготовки данных. В Приложении 2 приведен краткий обзор основных команд.

Пример программы

Приведем текст простой диалоговой программы, содержащий наиболее характерные особенности ЯП FoxPro (операторы вводавывода на экран и управления программой).

Возможный диалог с такой программой  может выглядеть следующим образом (рис. 3.1):

Привет! Как Вас зовут?

Гаврик

Доброе утро, Гаврик! Как настроение?



Плохое

У меня тоже плохое, Гаврик!

 

Рис. 3.1. Иллюстрации к простой диалоговой программе:



а — начало внешнего цикла; б — начало внутреннего цикла; в — окончание внутреннего цикла и выход во внешний

Рассмотрим текст такой программы:



* Простая диалоговая программа

set echo off

set talk off

on escape quit &&условие выхода из программы

clear

do while .t. && внешний цикл



name= [         ] && инициализация переменной  (в)

@ 1,10 say [Привет! Как Вас зовут?]

@ 3, 10 get name

read        (a)

if name =[ ] &&требование ввода непустой строки loop

endif


if substr(name,l,l)=[*] &&выход из программы exit

endif


do while .t. && внутренний цикл

nastr=[   ] && инициализация переменной

@ 5,10 say [Доброе утро, ]+rtrim(name)+

[! Как настроение?] @ 7,10 get nastr

read        (б)

if substr(nastr,l,l)=[ ]

loop endif if substr(nastr,l,l)=[*] &&условие выхода из внутр.

&&цикла exit endif @ 9,10 say [У меня тоже ] +rtrim (nastr) +

[, ]+rtrim(name) + [ ! ] enddo enddo * Конец программы

В начале программы находятся команды из множества set, настраивающие режим работы интерпретатора или компилятора на обработку исходного текста в определенном режиме. В данном случае речь идет о запрещении дублирования вводимых команд на экране. На экране отображается только та информация, которая находится в операторах say, get.

on escape — задание действий при нажатии клавиши (в данном случае — прекращение работы программы).

Инициализация переменных name, nastr одновременно задает их тип как строковый и определяет длину.

Программа состоит из двух вложенных циклов do ... enddo, в заголовке которых стоит условие бесконечного повторения (.t.), поэтому должен быть предусмотрен принудительный выход из каждого цикла. Этот выход происходит при условии ввода в строке name или nastr символа «*» (звездочка). С помощью оператора exit осуществляется выход во внешний цикл из внутреннего и из внешнего циклов на окончание работы.

При попытке ввести пустую строку в ответ на запрос программа возвращается в заголовок соответственно внутреннего или внешнего цикла и повторяет запрос на ввод строки (оператор возврата в начало цикла loop). Управление условными переходами осуществляется оператором if  ...  endif.

Операторы say и get осуществляют вывод на экран строки текста и открытие окна для ввода в соответствующих позициях экрана (строка и столбец). Для ограничения строки (литерала) в программе может использоваться как двойная кавычка ("), так и квадратные скобки ([]).

Команда read останавливает программу для ожидания ввода данных в окно на экране и нажатия подтверждения . Команда clear осуществляет очистку экрана монитора.

Конкатенация (сцепление) строк осуществляется оператором «+», а функция rtrim () используется для подавления «хвостовых» пробелов во введенной строке с целью повышения удобочитаемости текста. Функция substr, обычная и для других ЯП, позволяет выделить из строки-операнда подстроку-результат (с указанием длины подстроки и смещения от начала исходной строки).

Из текста программы следует также, что допустимы два типа комментариев — полная строка (начинается с символа *) и частичная строка (начинается с &&).




Достарыңызбен бөлісу:
1   ...   82   83   84   85   86   87   88   89   ...   215




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет