Система управления базами данных Visual FoxPro5.0 - от начальных навыков к профессиональной работе. Крушель Е.Г - 53 стр.

UptoLike

Составители: 

99
Назначение и функции программы:
открыть файл с именем, вводимым с клавиатуры;
в цикле от первого до последнего поля показать на экране BROWSE записи файла
так, чтобы на экран выводилось только одно поле.
Из перечня функций видно, что в постановке задачи отсутствует
конкретизирующая информация:
не ясно, какой файл
будем открывать (его имя вводится пользователем и, значит,
может быть любым);
неизвестно, сколько полей в файле;
неизвестны имена полей файлаиди туда-не-знаю-куда, принеси то-не-знаю-что»).
Уровень неопределенности задачи настолько высок, что возникает сомнение в
возможности создания программы для ее решения. Однако с
помощью
макроподстановки эту задачу легко решить.
Например, представьте себе, что пользователь ввел имя файла (командой
GET...READ) в некоторую переменную памяти - например, с именем filename. Пусть
пользователь ввел students (тогда в переменной памяти будет храниться символьная
переменная students).
Введем команду USE filename. По этой команде Visual FoxPro 5.0 будет искать на
диске файл
с именем filename.dbf. Если он имеется - откроет его (но ведь пользователю
нужен другой файл - не filename.dbf, а students.dbf!).
Теперь представим себе команду USE &filename с макроподстановкой. По этой
команде Visual FoxPro 5.0 подставит в команду USE не filename, а содержимое filename -
т.е. stud. Получится команда, сконструированная в ходе выполнения
программы - после
ввода (пользователем!) имени файла students. Команда USE &filename будет
расшифрована Visual FoxPro 5.0 как
USE students
(что и требовалось пользователю).
Аналогично решаются и другие «неопределенные» вопросы в задаче,
сформулированной выше. Этой же цели служат функции Visual FoxPro 5.0, не
требующие сведений о конкретных именах файла и его полей.
Наберите программу, реализующую перечисленные
выше «неопределенные»
функции, внимательно читая комментарии. Обратите внимание на «пользовательский»
интерфейс - изменение цветов для выдачи сообщений пользователю.
Для создания программы используйте команду
MODIFY COMMAND macr
* Текст программы macr.prg для поочередного вывода на экран полей файла, имя
которого
* вводится пользователем в диалоге
* Фрагмент программы задания режима работы
Visual FoxPro 5.0 (группа SET).
SET COLOR TO gr+/b,n/w && цвета ответов Visual FoxPro 5.0: желтым по
SET TALK OFF && синему; ввод: черным по белому
SET ECHO OFF && Отключение режимов отчета Visual FoxPro 5.0
SET STEP OFF && о выполнении каждой команды, о выполняемой команде
* и пошагового выполнения программы.
*Фрагмент программы оформление заставки и инструкция
CLEAR
@3,15 SAY «Работает программа поочередного просмотра полей»
@4,15
SAY « файла, имя которого вводится пользователем»
SET COLOR TO g+/b && Смена цвета на ярко(+)-зеленый.
                                          99

      Назначение и функции программы:
• открыть файл с именем, вводимым с клавиатуры;
• в цикле от первого до последнего поля показать на экране BROWSE записи файла
  так, чтобы на экран выводилось только одно поле.

        Из перечня функций видно, что в постановке задачи                  отсутствует
конкретизирующая информация:
• не ясно, какой файл будем открывать (его имя вводится пользователем и, значит,
   может быть любым);
• неизвестно, сколько полей в файле;
• неизвестны имена полей файла («иди туда-не-знаю-куда, принеси то-не-знаю-что»).
        Уровень неопределенности задачи настолько высок, что возникает сомнение в
возможности создания программы для ее решения. Однако с помощью
макроподстановки эту задачу легко решить.
        Например, представьте себе, что пользователь ввел имя файла (командой
GET...READ) в некоторую переменную памяти - например, с именем filename. Пусть
пользователь ввел students (тогда в переменной памяти будет храниться символьная
переменная students).
        Введем команду USE filename. По этой команде Visual FoxPro 5.0 будет искать на
диске файл с именем filename.dbf. Если он имеется - откроет его (но ведь пользователю
нужен другой файл - не filename.dbf, а students.dbf!).
        Теперь представим себе команду USE &filename с макроподстановкой. По этой
команде Visual FoxPro 5.0 подставит в команду USE не filename, а содержимое filename -
т.е. stud. Получится команда, сконструированная в ходе выполнения программы - после
ввода (пользователем!) имени файла students. Команда          USE &filename      будет
расшифрована Visual FoxPro 5.0 как
                                       USE students
(что и требовалось пользователю).
      Аналогично решаются и другие «неопределенные» вопросы в задаче,
сформулированной выше. Этой же цели служат функции Visual FoxPro 5.0, не
требующие сведений о конкретных именах файла и его полей.
       Наберите программу, реализующую перечисленные выше «неопределенные»
функции, внимательно читая комментарии. Обратите внимание на «пользовательский»
интерфейс - изменение цветов для выдачи сообщений пользователю.
       Для создания программы используйте команду
                              MODIFY COMMAND macr
* Текст программы macr.prg для поочередного вывода на экран полей файла, имя
которого
* вводится пользователем в диалоге

* Фрагмент программы задания режима работы Visual FoxPro 5.0 (группа SET).
SET COLOR TO gr+/b,n/w && цвета ответов Visual FoxPro 5.0: желтым по
SET TALK OFF              && синему; ввод: черным по белому
SET ECHO OFF              && Отключение режимов отчета Visual FoxPro 5.0
SET STEP OFF              && о выполнении каждой команды, о выполняемой команде
* и пошагового выполнения программы.
*Фрагмент программы оформление заставки и инструкция
CLEAR
@3,15 SAY «Работает программа поочередного просмотра полей»
@4,15 SAY « файла, имя которого вводится пользователем»
SET COLOR TO g+/b         && Смена цвета на ярко(+)-зеленый.