Лабораторная работа №4. Создание программных файлов

advertisement
Лабораторная работа № 4. Создание программных
файлов.Организация цикла и разветвления в программе.
Цель: дать понятие о программных файлах, о командах по их
созданию и запуску, об использовании при написании текста программы
команды организации цикла DO WHILE … ENDDO и команды
управления IF … ENDIF.
Командаы: MODIFY COMMAND, DO, DO WHILE …
ENDDO, IF … ENDIF
Для вызова внутреннего встроенного редактора FoxPro, с
помощью которого создаётся текст программ, служит команда:
MODIFIY COMMAND/FILE<имя текстового файла/маска>
Вариант MODI COMM считает по умолчанию вновь создаваемый
файл командным (программным )файлом и ему прсваивается расширение
.PRG
Повторный вызов командного файла осуществляется той же командой.
Вариант MODI FILE не предусматривает каких-либо умолчаний
для имён файлов.Созданная в редакторе программа должна быть сохранена
,например, нажатием сочетания клавиш Ctrl+W и может быть вызвана на
выполнение командой:
DO <имя командного файла>
Команды управления.
Команды управления являются важнейшим средством построения
программ.Эти программы не могут быть опробованы и использованы
в интерактивном режиме , а только в программах.
Цикл с условием.
Цикл с заранее известным условием его окончания и неизвестным
числом повторов, выполняется следующей конструкцией:
DO WHILE<условие>
<команды>
ENDDO
Команды заключенные между DO WHILE и ENDDO, будут
выполняться до тех пор, пока <условие> истинно.
Если требуется покинуть цикл раньше, чем он выработается,
необходимо использовать команду EXIT, которая передаст управление
команде следую-щей за ENDDO.
Если по какому-то условию в теле цикла необходимо передать
управление на его начало (не доходя до команды ENDDO) пользуются
командой LOOP.
Набрать текст следующих коротеньких программ,
демонстрирующих использование команды организации цикла DO
WHILE…ENDDO и команды управления IF … ENDIF.
CLEAR
{очистить экран}
CLOSE DATABASE {закрыть все базы данных}
USE KOLLEK
{открыть БД}
DO WHILE .NOT. EOF()
{команда начала цикла }
3
{вывод текущей записи на экран}
{шаг на следующую запись }
ENDDO
{команда окончания цикла}
********************************************
CLEAR
CLOSE DATABASE
USE KOLLEK
DO WHILE .T.
{ начало цикла с "абстрактным" условием}
DISP
IF .NOT. EOF() { если не достигнут конец БД }
SKIP
{ шаг на одну запись вниз по базе }
LOOP
{ переход на начало цикла}
ENDIF
{ конец условия}
EXIT
{ выход из цикла}
ENDDO
CANCEL
{ снять программу}
DISP
SKIP
Выйти из редактора с сохранением
набранного текста программы - < Ctrl +W >
Запустить каждую из них на выполнение .
DO < имя прогр >.
Пример. Написать программу, выводящую на экран с помощью
команды LIST, фамилию, город и продолжительность курсов из БД –
KOLLEK.DBF.
CLEAR
CLOSE DATABASE
USE KOLLEK
GO TOP
DO WHILE .NOT . EOF()
LIST NEXT 10 FIELDS FAMIL,GOROD,LONG
=INKEY(0)
CLEAR
ENDDO
CANCEL
3. Написать программу, выводящую на экран значения полей
фамилии, города и продолжительности курсов из первых десяти записей,
базы данных KOLLEK.DBF при условии, что город не Москва.
CLEAR
SET TALK OFF
CLOSE DATABASE
USE KOLLEK
LIST NEXT 10 FIELDS FAMIL,GOROD,LONG ;
FOR GOROD <>’Москва’
Выполнить самостоятельно.
4
1.Написать программу, выводящую на экран записи БД
"порциями" ( по10 записей) с помощью команды DISPLAY.
2.Написать прграмму, выводящую с помощью команды DISPLAY
последние 10 записей БД.
Контрольные вопросы.
1. Какое расширение имеют имена прграммных файлов в FoxPro?
2.Чем отличаются команды MODI COMM и MODI FILE.
5
Download