Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Конфигурирование BROWSE-окнаСодержание книги
Поиск на нашем сайте
LAST - конфигурация BROWSE-окна сохраняется в специальном системном так называемом ресурсном файле FOXUSER.DBF (если установлено SET RESOURCE ON) по завершении команды BROWSE для использования в следующем сеансе. Если выход был сделан по Ctrl-Q, конфигурация не сохраняется. PREFERENCE <вырС> - работает аналогично опции LAST, но дает возможность сохранить под определенным именем <вырС> параметры BROWSE-окна в файле FOXUSER.DBF для последующего использования. Конфигурация (и не одна), сохраненная с опцией PREFERENCE, может быть "заморожена" в целях дальнейшего использования. Для этого после выхода из команды BROWSE ресурсный файл должен быть отключен, а затем открыт командой USE и вызван на редактирование, например командой BROWSE. В базе FOXUSER.DBF ищется запись, где в поле NAME стоит <вырС>, а затем в поле READONLY значение.F. заменяется на.Т. (изменение запрещено). После этого ресурсный файл закрывается и снова подключается к системе. Теперь каждая загрузка команды BROWSE будет извлекать конфигураций BROWSE-окна из ресурсного файла, причем все пользовательские настройки, произведенные в текущем сеансе, в следующих сеансах будут игнорироваться. Более того, в ресурсном файле под разными именами можно сохранить несколько разных настроек для одной базы данных, которые можно выбирать, например, через программируемое меню, перед загрузкой команды BROWSE. Команда BROWSE, использующая сохраненные настройки, в дальнейшем может применяться без всяких опций (кроме опции PREFERENCE) вообще.
CHANGE/EDIT-окно По функциям и возможностям команда CHANGE аналогична команде BROWSE, но предъявляет все поля всех записей в одну колонку.
Опции - набор режимов по составу и действию полностью аналогичных опциям команды BROWSE (отсутствуют только опции NOLGRID/NORGRID). При разделении окна здесь также можно вывести данные в формате BROWSE. Параметр WHILE, указанный в формате команды, при проверке оказался не работоспособен. При наличии условий в команде CHANGE в окно редактирования выводится не столько записей, сколько удается разместить, а только одна текущая. Команда CHANGE полностью идентична команде EDIT. Замечание к вводу дат. При вводе данных в поля/переменные (командами BROWSE/CHANGE, READ) типа дата мы обнаружим, что в такие поля разрешается вводить лишь содержательные данные в допустимом диапазоне. Не разрешается вводить пустую дату ({.. }), хотя дату такого вида мы можем видеть при первоначальном заполнении базы. В поля типа дата вводить пробелы вообще не удается. Между тем это важно, так как бывает, что дата не известна или же она еще не установлена. В этом случае неплохо оставить ее пустой, а не заполнять Временно бессмысленной, хотя формально и разрешенной датой. Возможность очистить такое поле существует - это использование клавиш очистки поля Ctrl-Y. Окна редактирования могут быть еще более адаптированы под любые запросы заказчика с помощью форматного файла или путем непосредственного использования команд @...SAY...GET. К этим вопросам мы вернемся ниже. ПЕРЕМЕЩЕНИЯ В БАЗЕ ДАННЫХ При работе с базой данных необходимы средства перемещение внутри нее. Запись, на которой находится указатель записей, является текущей, и только к ней в данный момент возможен непосредственный доступ. Имеется несколько разновидностей команд, изменяющих положение указателя записей:
В последней команде <вырN> может быть и отрицательным; что означает движение указателя назад. SKIP без параметра идентичен SKIP 1 (переход на следующую запись). Параметр IN <область> указывает над базой из какой рабочей области должна выполниться команда. Если он опущен, имеется в виду текущая рабочая область. Для контроля положения указателя и наличия записей в файле предусмотрены функции:
Необязательный параметр <область> указывает, для какой рабочей области запрашивается значение функции. По умолчанию текущая область. Функции в FoxPro имеют характерный синтаксис - скобки, даже если никакого аргумента нет, и они остаются пустыми. ПРОСМОТР ДАННЫХ Просмотр данных в FoxPro осуществляется очень близкими по смыслу и синтаксису командами LIST и DISPLAY: DISPLAY [<границы>] [<поля>] [WHILE <условие>] [FOR <условие>] [OFF] [ТО PRINT/TO FILE <файл>] Здесь: OFF - указание на то, что номера записей не выводятся; ТО PRINT - результат команды выдается на принтер; ТО FILE <файл> - результат выдается в <файл>. Если не указать расширение имени, то оно будет ТХТ. В качестве заголовка вывода командой выдаются имена полей базы данных. При заполнении экрана выполнение команды приостанавливается с индикацией указания "Нажмите любую клавишу". При нажатии просмотр может быть продолжен. После выполнения команды указатель записи перемещается на последнюю показанную запись. Записи, помеченные к удалению, команда выдает со звездочкой (если SET DELETED OFF). Выдачу имен полей можно подавить командой
(восстановление - ON). Чтобы выдать мемо-поля, их имена нужно явно указать в списке FIELDS, иначе они выводятся просто столбцом "memo". Команда
определяет фактическую ширину строки для выводимого мемо-поля. Команда DISPLAY без параметров осуществляет выдачу всех полей базы данных только одной текущей записи. Команда с похожими функциями LIST не делает периодических остановок при выдаче данных, и по умолчанию область ее действия не текущая запись, а весь файл. Ввиду этого, команда более пригодна для выдачи данных на принтер или файл. Выполнение команды LIST может быть инициировано в командном режиме нажатием клавиши F3, а команды DISPLAY - F8. Приведенные команды удобны скорее для просмотра данных при отладке программ. Для включения их в программы они слишком грубы, и здесь лучше использовать более гибкие команды? и @... SAY.
УДАЛЕНИЕ ДАННЫХ В FoxPro имеется несколько команд удаления данных: · ERASE <файл> - удаление любого не открытого в данный момент файла. Расширение имени обязательно. Совершенно аналогичные функции выполняет команда DELETE FILE <файл>.
Удаление записей в базе данных выполняется в два этапа: сначала пометка записей на удаление (она возможна и в окнах редактирования нажатием клавиш Ctrl-T) командой DELETE, а затем их физическое уничтожение командой PACK. Если упаковка файла еще не произведена, можно спасти нужные записи командой RECALL. Команду PACK имеет смысл применять не только для удаления записей, но и для сжатия MEMO-полей (PACK MEMO). Дело в том, что даже при видимом уменьшении размера MEMO-поля (например, в результате редактирования) уменьшается только доступная пользователю часть, но размер самого FPT-файла никогда не сокращается. Таким образом, при интенсивном обновлении данных с участием MEMO-полей вполне возможно недопустимое "разбухание" файла примечаний. Для иллюстрации работы FoxPro применена команда?, вы дающая на экран перечисленные в ней выражения. Более подробно команда будет рассмотрена позже. Команда сжатия PACK в базе реальных размеров выполняется! медленно, и поэтому лучше ее делать один раз в день или даже раз в несколько дней. Чтобы помеченные к удалению записи до их уничтожения не участвовали далее в обработке данных, можно использовать команду
При этом такие записи делаются как бы невидимыми для FoxPro и пользователя, за исключением случаев прямого на них указания. Например, команда GO 20 установит указатель записей на двадцатую запись независимо от того, была или нет она помечена. По умолчанию принято значение OFF.
ИЗМЕНЕНИЕ ДАННЫХ В FoxPro имеется возможность не только вручную редактировать данные, но и изменять их путем присвоений или вычислений. REPLACE [<границы>] [WHILE <условие>] [FOR <условие>] <поле1> WITH <выражение> [,<поле2> WITH <выражение>...] [ADDITIVE] [NOOPTIMIZE] Эта команда осуществляет множественное изменение полей базы данных в соответствии с заданными выражениями, в установленных границах и при заданных условиях. Если отсутствует параметр <границы> или <условия>, изменена будет только текущая запись. Параметр ADDITIVE действует для мемо-полей и означает, что заданное <выражение> будет дописываться в конец поля. Если этот параметр опущен, то старое значение мемо-поля будет замещено <выражением>. Команда REPLACE эквивалентна знаку равенства в операции присвоения для переменных. Буквально фраза <поле> WITH <выражение> соответствует присвоению <поле>=<выражение>. В команде REPLACE можно делать сразу несколько присвоений в том числе и одному и тому же полю. Они тогда выполняются cлева - направо. Так, предыдущий пример может быть реализован одной, а не двумя командами REPLACE: Очистку полей базы данных выполняет команда BLANK [<границы>] [FIELDS <поля>] [WHILE <условие>] [FOR <условие>] [NOOPTIMIZE] Если отсутствуют <границы> или <условия>, очищена будет только текущая запись. BLANK без параметра FIELDS очищает все поля базы.
ФИЛЬТРАЦИЯ ДАННЫХ В FoxPro определены два вида фильтров данных: фильтр для строк, когда ограничивается количество строк, предъявляемых на экран, и фильтр для полей, когда ограничивается количество полей, отображаемых на экране и, следовательно, доступных для редактирования.
|
||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 157; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.175.83 (0.011 с.) |