Как сделать таблицу активной фокспро

Добавил пользователь Alex
Обновлено: 18.09.2024

Аннотация: Рассмотрены назначение и виды отчетов, запросов и проекта при работе с базами данных. Разобрана последовательность разработки отчета с помощью Мастера, виды и свойства объектов отчетов, модификация его в Конструкторе. Изложены основы разработки запросов с помощью Мастера, Конструктора и SQL-программы. Дается 2 способа создания проекта: простейшего на основе одной экранной формы и созданного с помощью Мастера приложений. Приведен синтаксис основных команд и функций алгоритмического языка системы. Цель: освоение методов создания и использования отчетов, запросов и проектов в Visual FoxPro.

Разработка отчетов

Для разработки отчетов - печатных документов, отражающих информацию базы данных , в системе VFP существует Конструктор отчетов ( Report Designer ) и Мастер отчетов ( Report Wizard). Важным свойством отчетов является возможность группировки данных и получения итоговых данных для групп и всего отчета. При формировании отчетов можно задавать фильтр отбора необходимых данных либо формировать отчет на основе данных SQL-запроса или представления данных (View).

Наиболее просто для разработки основы отчета воспользоваться Мастером отчетов с последующей модификацией и дополнением отчета в Конструкторе.

Существует 2 типа Мастера отчетов:

One-to-Many Report Wizard - Мастер отчета, в котором для одной записи главной таблицы существует множество записей связанной с ней дочерней таблицы.

Report Wizard - Мастер простого отчета, но с возможностью задания группировки данных.

Поставим задачу разработать отчет, в котором показаны экзаменационные оценки всех студентов за зимнюю сессию 2005-2006 учебного года (с 10.01.2006 по 06.02.2006) с группировкой данных по факультетам, курсам, группам и в группе - по фамилиям студентов.

Как обычно, создание нового объекта начинаем, нажав кнопку New на стандартной панели инструментов, затем выбираем Report - Wizard - One-to-Many Report Wizard.

Далее на первом шаге Мастера (рис. 6.1) выбираем базу Students и поля главной таблицы базы ( Spisok ), которые мы хотим показать в отчете.

Шаг 1 Мастера разработки отчета

На втором шаге (рис. 6.2) выбираем поля дочерней таблицы - Ocenki.

Шаг 2 Мастера разработки отчета

Третий шаг - подтверждаем, что эти таблицы связаны по значению поля NZ.

На четвертом шаге необходимо задать порядок сортировки данных в отчете. Мастер позволяет задать не более трех значений полей для сложной сортировки (с созданием соответствующего сложного индекса). Выберем поля N_fclt, Kurs, N_grup с сортировкой в порядке возрастания ( Ascending ).

Пятый шаг (рис. 6.3) - задаем стиль отчета, расположение его на листе (вертикальный лист - Portrait или горизонтальный - Landscape ) и суммарные параметры - расчет среднего значения ( Avg ) для поля Ball.

Шаг 5 Мастера разработки отчета

На последнем, 6-м шаге задаем заголовок отчета, выбираем команду Сохранить отчет и модифицировать его в Конструкторе отчетов - Save report and modify it in Report Designer и после нажатия на кнопку Finish задаем имя ( Spisok ) и место сохранения файлов отчета (будут созданы два файла с одинаковым именем и расширениями *. frt и *.frx).

В окне Report Designer мы увидим отчет, показанный на рис. 6.4.

Окно Конструктора отчетов

В Конструкторе отчет разбит на отдельные зоны, информация которых может присутствовать в отчете один раз ( Title и Summary ), в начале каждой страницы ( Page Header ) или в конце каждой страницы ( Page Footer ), в начале каждой группы ( Group Header, групп может быть много) и в конце каждой группы ( Group Footer ), а также зона показа информации каждой записи таблицы ( Detail ).

Особенность отчета, созданного Мастером, - в нем присутствуют зоны итогов для группы NZ и всего отчета, но поля для расчета средней оценки в них нет, хотя мы просили Мастера это сделать (см. рис. 6.3.). Заданное условие не было выполнено, т.к. поле ball имеет текстовый тип, а мы задали функцию для работы с числами. Для вычисления средней оценки придется самим добавить новое поле в отчет с расчетом средней оценки, после преобразования в этом поле текстового значения в числовое с использованием функции Val(ball).

Контекстное меню для Конструктора отчетов (щелчок правой кнопкой мыши на пустом месте окна Report Designer ) содержит следующие пункты (рис. 6.5.):

Контекстное меню

  • Paste - вставить;
  • Run Report: - напечатать отчет на принтере;
  • Print Preview - предварительный просмотр отчета на экране и печать на принтере;
  • Data Environment: - окно данных, связанных с отчетом;
  • Optional Bands: - страница свойств зон Title, Summary и Detail в окне свойств отчета;
  • Data Grouping: - страница группировки данных в окне свойств отчета;
  • Variables: - страница переменных в окне свойств отчета;
  • Properties: - окно свойств отчета.

Для использования в отчете названий факультетов, специальностей и предметов необходимо открыть окно Data Environment, добавить в него справочные таблицы базы и правильно установить связи между ними, как показано на рис. 6.6. (для постоянных связей базы иногда возникает неправильное направление, связь должна идти от поля главной таблицы к индексу дочерней).

Окно данных отчета

Для связи между таблицами Spisok и Ocenki должно быть установлено свойство OneToMany = .T.

Для таблицы Spisok в окне Properties для Data Environment зададим фильтр VAL (Ocenki. ball )>1 AND VAL (Ocenki. ball ) AND Ocenki.data_b=> AND Ocenki.data_b выражение построено из значений полей таблицы Ocenki, что не совсем обычно, но допустимо при наличии связи между этими таблицами. Если данное выражение написать как фильтр для таблицы Ocenki, в отчет могут попасть студенты, у которых нет оценок за заданный период, и средняя оценка будет рассчитана неправильно.

Для дальнейшего оформления отчета необходимо присутствие на экране двух панелей инструментов - Report Controls и Layout.

Первая панель содержит те объекты, которые можно располагать на отчетах (рис. 6.7.).

Панель объектов отчета

Так как наша задача - представить отчет с группировкой и расчетом средних оценок по факультетам, курсам, группам, необходимо добавить новые группы в отчет и модифицировать, соответственно, индексный файл главной таблицы. Выбрав пункт Data Grouping в контекстном или главном меню (раздел Report ), добавим необходимые группы (рис. 6.8.).

Далее перенесем номера факультетов, курсов и групп в зоны заголовков соответствующих групп, добавим поля с названиями из справочников факультетов, специальностей и предметов, добавим итоговые поля для расчета средних оценок ( val(ocenki.ball )). Новые поля можно создать с использованием соответствующей кнопки на панели Report Controls (рис. 6.7.) или копированием имеющихся в отчете полей (для сохранения заданного шрифта) с изменением данных, которые показывает поле (свойство Expression поля).

В свойствах итоговых полей (окно свойств выбранного поля открывается двойным кликом на нем, или выбором пункта Properties в его контекстном меню , или на клавиатуре Alt+Enter) в разделе Calculate следует правильно указать в пункте Calculation Type - Average (среднее) и в пункте Reset based on - соответствующую группу или End of Report для зоны Summary (см. рис. 6.9.).


Для таблицы Spisok следует модифицировать созданный Мастером сложный индекс с именем WIZARD_1 - добавить в него поле FIO: STR(n_fclt,2,0) + STR(kurs,1,0) + n_grup + fio.

Отчет в Конструкторе будет иметь вид, показанный на см. рис. 6.10..

Окончательный вид отчета в Конструкторе

Отображает поля для редактирования.

Параметры:
FIELDS FieldList
Задает поля, которые появляются в окне редактирования. Поля отображаются в порядке, определенном в списке FieldList. В этот список можно включать поля из других связанных таблиц, в таких случаях перед именем поля нужно ставить псевдоним соответствующей таблицы и точку.
Если предложение FIELDS опущено, отображаются все поля таблицы в том порядке, в каком они фигурируют в структуре таблицы.
Список полей также может содержать любую комбинацию полей или вычисляемых полей, в том числе полей из таблиц, открытых в других рабочих областях. Список полей имеет следующий синтаксис:

Вычисляемые поля:
В списке полей можно задавать операторы для создания вычисляемых полей. Вычисляемое поле содержит данные, созданные с помощью выражения и доступные только для чтения. Это выражение может иметь любой вид, но оно должно быть допустимым выражением Visual FoxPro.

Оператор, используемый для создания вычисляемого поля, имеет следующий синтаксис:

В следующем примере создается вычисляемое поле location:

В состав списка полей предложения FIELDS может входить восемь опций, которые обеспечивают специальные виды обработки для полей, отображаемых в окне редактирования.
:nColumnWidth
Задает размер изображения для поля в столбцах. Значение :nColumnWidth не влияет на размер поля в таблице, а лишь изменяет способ изображения поля в окне редактирования.
:R
В следующем примере открывается окно редактирования с полями cust_id и company. Поле cust_id доступно только для чтения и не может быть изменено.

Отображение данных в форме в табличном виде. Использование построителя.

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

В Visual FoxPro для отображения в форме данных в табличном режиме используется объект Grid (Таблица), который может помещаться в форму, как и любой другой объект интерфейса.

При использовании табличного режима информация лучше воспринимается и, кроме того, проще вводить данные, так как пользователь видит сразу несколько записей и может вводить информацию по аналогии. Без табличного режима трудно обойтись, когда необходимо вводить и просматривать информацию из нескольких связанных таблиц, имеющих отношение "один-ко-многим".

Использование построителя

Использование построителя ускоряет размещение объекта в форме и определение его свойств. Особенно заметным это преимущество становится при создании сложных объектов, к числу которых относится объект Grid (Таблица). Рассмотрим пример размещения объекта Grid (Таблица) с помощью построителя для таблицы customer и изучим свойства, которыми наделен данный объект.

Для создания формы, в которой данные будут представлены в табличном виде, выполните следующие действия:

Диалоговое окно построителя объекта Grid (Таблица) содержит четыре вкладки, используя которые вы можете настроить его параметры (табл. 15.1).

Открывает окно просмотра.

Параметры:
FIELDS FieldList
Задает поля, которые следует отобразить в окне просмотра. Поля выводятся в том порядке, в котором они приведены в списке FieldList. В список можно включать поля из других связанных таблиц. Перед именем такого поля нужно ставить псевдоним соответствующей таблицы с точкой.
Если предложение FIELDS опущено, будут отображены все поля таблицы в том порядке, в каком они расположены в рамках табличной структуры.
В списке полей можно указать любую комбинацию полей или вычисляемых полей.
Синтаксис списка полей:

Вычисляемые поля:
В список полей могут входить операторы создания вычисляемых полей. Вычисляемое поле содержит данные в режиме "только для чтения", созданные с помощью выражения. Это выражение может носить произвольную форму, но непременно должно быть допустимым выражением Visual FoxPro.
Формат оператора, используемого для создания вычисляемого поля:
CalculatedFieldName = eExpression
В следующем примере создается вычисляемое поле location:

Здесь city и country имена полей выбранной в данное время таблицы.
Список полей предложения FIELDS включает опции, которые обеспечивают специальные виды обработки полей, отображаемых в окне просмотра:
:R
Устанавливает, что поле доступно только для чтения. Содержащиеся в нем данные можно будет просматривать, но не редактировать.
В следующем примере открывается окно просмотра с полями cust_id и company. Для поля cust_id установлен режим "только чтение", и это поле нельзя изменять.

:nColumnWidth
Задает размер отображения поля в столбцах. Значение параметра :nColumnWidth не влияет на размер поля в таблице; он только определяет внешний вид поля в окне просмотра.

:P = cFormatCodes
Если используется предложение FIELDS, для каждого поля списка можно задать и опцию шаблона (:P). Эта опция позволяет создавать список кодов, контролирующих отображение и ввод данных для каждого поля в окне просмотра. cFormatCodes представляет собой список кодов.
Подробнее об использовании форматирующих кодов шаблонов см. описание команд @ . GET и @ . SAY. За исключением кода M, в предложениях PICTURE и FUNCTION можно использовать все функциональные форматирующие коды и коды шаблонов, предусмотренные командами @ . GET и @ . SAY.
В следующем примере применение опции шаблона позволяет обеспечить ввод в поле unit_price только числовых данных определенного формата:

:H = cHeadingText
Замещает принимаемые по умолчанию имена полей названиями, которые вы задаете с помощью аргумента cHeadingText. По умолчанию в качестве заголовков столбцов в окне просмотра используются имена полей.
В следующем примере для отображенных полей предоставляются заголовки, определяемые пользователем.

:W = lExpression2
Вы можете запретить перемещение курсора в поле в зависимости от значения логического выражения lExpression2. Если значение lExpression2 есть "ложь" (.F.), перемещать курсор в поле запрещается. Если значение lExpression2 "истина" (.T.), курсор можно ввести в поле. В выражении lExpression2 допускаются функции, определенные пользователем.
Если курсор запрещено вводить во все поля, текущая запись помечается атрибутом "только для чтение". Это произойдет только в том случае, если для каждого поля указано предложение WHEN, дающее значение "ложь".
FONT cFontName [, nFontSize]
Задает шрифт окна просмотра и размер шрифта. Символьное выражение cFontName определяет имя шрифта, а числовое выражение nFontSize его размер. Например, приведенное ниже предложение задает 16-пунктовый шрифт Courier для полей в окне просмотра:

Можно задать комбинацию стилей шрифтов, указав несколько символов сразу. В следующем примере открывается окно просмотра и используется шрифт с подчеркиванием:

FOR lExpression1
Задает условие отображения в окне просмотра: отображаются только те записи, для которых значение выражения lExpression1 есть "истина".
Технология Rushmore оптимизирует запрос, выполняемый командой BROWSE FOR, если lExpression1 представляет собой оптимизируемое выражение. Для повышения производительности пользуйтесь в предложениях FOR только оптимизируемыми выражениями. Подробнее о выражениях, оптимизируемых по технологии Rushmore, см. темы SET OPTIMIZE и Основы технологии Rushmore или главу 17 "Оптимизация приложений" Руководства разработчика.
Предложение FOR позволяет подвести указатель записи к первой записи, удовлетворяющей условию. С помощью предложения REST указатель записи сохраняется в текущей позиции.
REST
Предотвращает перемещение указателя записи из текущей позиции к началу таблицы, когда окно просмотра открывается с предложением FOR. В противном случае команда BROWSE по умолчанию устанавливает указатель записи в начало таблицы.
FORMAT
Задает использование файла формата для контроля формата отображения и ввода данных в окне просмотра. Файл формата нужно предварительно открыть с помощью команды SET FORMAT. Приведенная ниже информация извлекается из файла формата и применяется для оформления окна просмотра:

В следующем примере файл формата используется для проверки достоверности данных, введенных в окно просмотра. Позиции, заданные командой @ . GET, игнорируются.

Разрешает вносить изменения только в одно поле в окне просмотра. Это поле задается аргументом FieldName. Остальные поля только отображаются и не могут редактироваться.

В первой строке создается поле BROWSE (cust_id) шириной в пять символов и обеспечивается ввод только букв и цифр. Во второй строке создается поле BROWSE (company), в котором запрещены пустые значения и которое может содержать не более 20 буквенных символов.
В третьей строке создается поле BROWSE (contact), в которое можно вводить данные, только когда оно пусто. В последней строке создается вычисляемое поле (используется команда @ . SAY), где в 20-символьном формате отображается содержимое полей city и country с удаленными пробелами.
KEY eExpression1 [, eExpression2]
Ограничивает диапазон записей, отображаемых в окне просмотра. Предложение KEY позволяет задать значение ключа индекса (eExpression1) или диапазон значений ключа (eExpression1, eExpression2) для записей, отображаемых в окне просмотра. Просматриваемая таблица должна быть индексирована, а значение (значения) ключа индекса, указанное в предложении KEY, должно иметь тот же тип данных, что и индексное выражение главного файла индекса или тега.
Например, таблица customer включает символьное поле, содержащее почтовые коды. Если таблица индексирована по полю почтового кода, можно задать диапазон почтовых кодов в предложении KEY.
Следующий пример показывает, как отобразить в окне просмотра только те записи, почтовые коды которых попадают в диапазон от 10000 до 30000:

LAST | NOINIT
Сохраняет все конфигурационные изменения, внесенные в оформление окна просмотра. Эти изменения сохраняются в файле FOXUSER и могут затрагивать список полей, размер каждого поля, а также расположение и размер окна просмотра.
Если выдать команду BROWSE с предложением LAST или NOINIT, окно просмотра откроется в той же конфигурации, что была сохранена в последний раз в файле FOXUSER, при условии, что действует установка SET RESOURCE ON. Тем самым восстанавливается предыдущая конфигурация окна просмотра, созданная последней командой BROWSE. Если последняя команда BROWSE, выданная в окне команд, включала длинный список предложений, выдайте команду BROWSE с опцией LAST или NOINIT и вам не понадобится заново набирать всю команду. Подробнее о файле FOXUSER см. тему SET RESOURCE.
Если последнее окно просмотра было открыто по команде BROWSE с предложением PREFERENCE, то команда BROWSE LAST не будет восстанавливать эти настройки.
Никакие изменения конфигурации окна просмотра, внесенные в ходе текущего сеанса, не будут сохранены, если для выхода из BROWSE были нажаты клавиши Ctrl+Q.
Предложения LAST и NOINIT идентичны; NOINIT предусмотрено для совместимости с dBASE.
LOCK nNumberOfFields
Задает количество полей, которые можно увидеть в левом разделе окна просмотра без табулирования или прокрутки. Размер левого раздела автоматически устанавливается таким, чтобы отобразить заданное число полей.
LPARTITION
Указывает, что курсор помещается в первом поле левого раздела окна просмотра. По умолчанию при открытии окна просмотра курсор помещается в первое поле правого раздела.
NAME ObjectName
Допустимо только в Visual FoxPro.
Создает ссылку на окно просмотра как на объект, что позволяет манипулировать окном просмотра, используя объектно-ориентированные свойства элемента управления Grid. Подробнее об объектно-ориентированном программировании в Visual FoxPro см. главу 3 "Объектно-ориентированное программирование" Руководства разработчика. Подробнее о свойствах элемента управления Grid, которые можно задать для окна просмотра, созданного с помощью предложения NAME, см. тему Элемент управления Grid.
NOAPPEND
Запрещает пользователю добавлять записи в таблицу нажатием клавиш Ctrl+Y в Visual FoxPro, Ctrl+N в ранних версиях FoxPro или выбором команды Append Record из меню Table в Visual FoxPro или Browse в ранних версиях FoxPro.
Важное замечание. Предложение NOAPPEND не помешает вам добавить запись в подпрограмме (созданной командами VALID, WHEN или ON KEY LABEL) во время работы в окне просмотра.
NOCLEAR
В FoxPro для MS-DOS оставляет на экране изображение окна просмотра после его закрытия. Это изображение не является активным окном просмотра. Чтобы удалить его, воспользуйтесь командой CLEAR.
В Visual FoxPro, FoxPro для Windows, FoxPro для Macintosh предложение NOCLEAR игнорируется.
NODELETE
Запрещает помечать записи на удаление в окне просмотра. По умолчанию, чтобы пометить запись на удаление, нужно нажать клавиши Ctrl+T, выбрать команду Toggle Delete в меню Table в Visual FoxPro или в меню Browse в ранних версиях FoxPro или щелкнуть самый левый столбец удаляемой записи.
Важное замечание. Предложение NODELETE не помешает вам пометить запись на удаление в подпрограмме (созданной командами VALID, WHEN или ON KEY LABEL) во время работы в окне просмотра.
NOEDIT | NOMODIFY
Не позволяет пользователю модифицировать таблицу. Предложения NOEDIT и NOMODIFY идентичны. Если задано любое из них, вы можете просматривать таблицу или вести в ней поиск, но не редактировать. Впрочем, можно также добавлять и удалять записи.
NOLGRID
Удаляет линии сетки полей в левом разделе окна просмотра.
NORGRID
Удаляет линии сетки полей в правом разделе окна просмотра.
NOLINK
Разъединяет разделы окна просмотра. По умолчанию левый и правый разделы окна просмотра связаны между собой, так что при прокручивании одного раздела вместе с ним прокручивается и другой раздел.
NOMENU
Удаляет заголовок меню Table в Visual FoxPro или Browse в ранних версиях FoxPro из системной строки меню, закрывая доступ к меню Browse.
NOOPTIMIZE
Блокирует оптимизацию команды BROWSE по технологии Rushmore. Подробнее об этом см. темы SET OPTIMIZE, Основы технологии Rushmore или главу 17 "Оптимизация приложений" Руководства разработчика.
NOREFRESH
Запрещает регенерацию окна просмотра. Окна просмотра регенерируются с частотой, устанавливаемой командой SET REFRESH. Опция NOREFRESH используется при работе с файлами в режиме "только чтение" и повышает производительность.
NORMAL
Открывает окно просмотра с его стандартными установками, принимаемыми по умолчанию, такими как цвета, размер, позиция, заголовок, управляющие опции (GROW, FLOAT, ZOOM и т.д.). Если предложение NORMAL опущено, а текущее окно вывода определено пользователем со своими собственными установками, окно просмотра также принимает эти установки, определенные пользователем.
NOWAIT
Продолжает выполнение программы сразу после открытия окна просмотра. Программа не ждет, когда окно просмотра будет закрыто, а продолжает выполняться со строки, непосредственно следующей за строкой с командой BROWSE NOWAIT. Если при выдаче BROWSE в программе предложение NOWAIT опущено, окно просмотра откроется и выполнение программы будет приостановлено до закрытия окна просмотра.
Предложение NOWAIT можно задавать только в программе. Включение NOWAIT при выдаче BROWSE в окне команд останется без последствий.
PARTITION nColumnNumber
Разбивает окно просмотра на левый и правый разделы, причем nColumnNumber задает номер столбца линии разбиения. Например, если nColumnNumber равен 20, линия разбиения пройдет по столбцу 20 окна просмотра.
LEDIT
Задает для левого раздела окна просмотра режим редактирования.
REDIT
Задает для правого раздела окна просмотра режим редактирования. В следующем примере окно просмотра открывается с линией разбиения в столбце 20 и с правым разделом в режиме редактирования.
Чтобы открыть оба раздела в режиме редактирования, нужно указать оба ключевых слова.

PREFERENCE PreferenceName
Сохраняет атрибуты и опции окна просмотра для дальнейшего использования. В отличие от предложения LAST, восстанавливающего окно просмотра в том виде, какой оно имело в ходе предыдущего сеанса, PREFERENCE сохраняет атрибуты окна просмотра в файле ресурсов FOXUSER на неопределенное время. Настройки можно восстановить в любой момент.
Когда команда BROWSE выдается в первый раз с данным именем настройки, в файле FOXUSER создается элемент, сохраняющий конфигурацию окна просмотра. Впоследствии при выдаче BROWSE с тем же именем настройки окно просмотра будет восстанавливаться согласно этой настройке. При закрытии окна просмотра настройка обновляется.
Имена настройки могут быть длиной до 10 символов, должны начинаться с буквы или символа подчеркивания и могут содержать буквы, цифры и символы подчеркивания в любом сочетании.
Создав желаемую настройку, можно сделать так, чтобы она не изменялась. Закройте окно просмотра, выдайте команду SET RESOURCE OFF, откройте файл FOXUSER как таблицу и измените запись, содержащую настройку на "только чтение", установив для логического поля.
READONLY значение "истина" (.T.).
Подробнее о файле ресурсов FOXUSER см. тему SET RESOURCE.
Если выйти из окна просмотра, нажав клавиши Ctrl+Q, никакие изменения окна просмотра не будут сохранены в файле ресурсов.
REST
Запрещает перемещение указателя записи с текущей позиции в начало таблицы. По умолчанию команда BROWSE устанавливает указатель записи на начало таблицы.
SAVE
Сохраняет окно просмотра и все окна редактирования текста memo-полей активными и видимыми (открытыми). Вы можете вернуться в окно просмотра, пройдя в цикле по цепочке открытых окон с помощью клавиатуры или мыши.
Предложение SAVE можно задавать только в программе. Если выдать команду BROWSE с предложением SAVE в окне команд, это не даст никакого эффекта, поскольку состояние BROWSE SAVE в интерактивном режиме всегда принимается по умолчанию.
TIMEOUT nSeconds
Определяет, как долго окно просмотра ждет ввода. Числовое выражение nSeconds задает, сколько секунд окно просмотра может ждать ввода данных, пока не закроется автоматически.
Опцию TIMEOUT можно задавать только в программе; если указать ее при выдаче BROWSE в окне команд, это не даст никакого эффекта. В следующем примере окно просмотра закрывается, если ввод не поступает в течение 10 секунд.

TITLE cTitleText
Заменяет принимаемые по умолчанию имя или псевдоним таблицы, появляющиеся в строке заголовка окна просмотра, на заголовок, заданный текстом c TitleText. Иначе в строке заголовка появится имя или псевдоним просматриваемой таблицы.
Если выдать команду BROWSE WINDOW, чтобы поместить окно просмотра в окно, определенное пользователем, заголовок пользовательского окна будет заменен заголовком окна просмотра.

В FoxPro для MS-DOS второй цвет цветовой пары 1 определяет цвет фона прямоугольной сетки, а второй цвет пары 3 основной цвет сетки.

Комментарии
Окно просмотра дает возможность просматривать записи в таблице, редактировать их и присоединять дополнительные записи. В Visual FoxPro одновременно можно иметь несколько окон просмотра.
Если вы нажимаете клавишу Esc, чтобы выйти из окна просмотра, изменения, внесенные в последнее модифицированное поле, не аннулируются. Однако если вы после модификации поля перешли в другую запись, внесенные в поле изменения сохраняются.
О том, как ориентироваться в окне просмотра и как редактировать и сохранять записи, см. тему Перемещение по таблице и главу 3 "Создание таблиц" Руководства пользователя.

Читайте также: