Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Поиск и упорядочение информации в таблице
SET FILTER TO <условие> – установка условия для всех следующих команд обработки данных SET FILTER TO без параметров – отмена ранее поставленных условий LOCATE FOR <условие> [<границы>] [ WHILE <условие>] – последовательный поиск. Предварительное индексирование не требуется. При успешном поиске функция Found () выдает значение True, а функция Recno () указывает на номер искомой записи с первым вхождением заданного условия поиска. Продолжение поиска осуществляется командой CONTINUE. USE Students SET FILTER TO Group=21402 LOCATE FOR Name=” Екатерина ” DISPLAY CONTINUE SORT ON <список полей с ключами> TO <имя новой таблицы> [<границы>][<условия>] – создание новой таблицы, в которой физическое размещение записей соответствует заданному принципу. Первое поле в списке считается главным. Ключи: / A – сортировка по возрастанию, / D – сортировка по убыванию. SEEK <выражение> – быстный поиск по ведущему индексу. Если поиск удачен, Found () возвращает True, а Recno () – номер первой записи, удовлетворяющей условию (при этом остальные искать не надо, они находятся ниже по соседству). Помимо команды SEEK и её синонима FIND существует аналогично работающая функция Seek (<выражение>), возвращающая True, если поиск удачен. Пример программы изменения данных в таблице: откроем БД Streets, найдём запись со значением «Урицкого» (считаем, что запись уникальная) и заменим её на «Александра Невского». Clear ALL Set near off && включаем нежёсткий режим поиска Use Streets Set index to && закрываем все дополнительные индексные файлы INDEX on street_nam to ind_name && создаём новый индексный файл по полю street_nam SEEK ”Урицкого” && быстрый поиск возможен только с использованием индекса If Found() Replace street_nam WITH ” Александра Невского ” else ? ”Нет такого имени” endif BROWSE && проверим, что сейчас таблица упорядочена по алфавиту по полю street _ nam Set index to Связи между таблицами SET RELATION TO < ключевое поле > INTO < область >, … [ ADDITIVE ] – связывает указатель записей в активной рабочей области с указателями записей из других рабочих областей по заданному полю. Дочерние таблицы должны быть открыты, и в обязательном порядке проиндексированы по ключевым полям. Создаётся связь вида 1:1. SET RELATION TO без параметров – разрывает связи между всеми таблицами. SET SKIP TO <область> – преобразует связь 1:1 к связи 1:М
JOIN <параметры> – альтернативный вариант команды для связывания таблиц Пример: создадим программу, осуществляющую выборку из двух таблиц, связанных по одному индексному полю. Программа должна запросить фамилию и вывести на экран владельцев телефонов с заданными фамилиями, номера их телефонов и адреса. clear select 1 use streets index on id_street to id_1 unique && совершенно очевидно, что код улицы уникален pathind = ndx (1) && функция возвращает путь к индексному файлу select 2 use phones_flat set relation to id_street into streets && связь один-к-одному var _ name = Space (30) && определим переменную текстового типа @ 4,4 SAY "Введите имя для дальнейшего поиска:" @ 5,4 GET var _ name PICTURE "@!" && воспользуемся простыми средствами ввода данных READ set filter to Alltrim(Upper(name))==AllTrim(m.var_name) && можно и так... i=1 FormatFont =" FONT ' Courier ',12 " && эта переменная будет использована как макроподстановка @ 6,1 && всего лишь начало области вывода do while not eof () && самая простая команда вывода при желании может обрести неожиданный вес ? i PICTURE "@L 9999 " &FormatFont STYLE 'BI',; Padr(Substr(surname,1,At(" ",surname)),20," ") &FormatFont,; house PICTURE "@R дом 9999 " FONT 'Tahoma',14 STYLE 'B',; " по ",; AllTrim(streets.street_typ) &FormatFont,; streets->street_nam &FormatFont i=i+1 skip enddo set filter to set relation to close indexes close tables erase "&pathind"
Разработка форм в FoxPro 6. Вызов редактора форм из командной строки с целью создания формы: create form <имя формы> При этом создаётся файл <имя формы>. scx. Редактирование формы: modify form <имя формы> При этом открывается окно Form Designer с панелями Form Controls и Properties. Прежде всего необходимо сформировать среду окружения (выпадающее меню Data Environement при клике на окне формы) для формы: добавить таблицы и связать их между собой. Созданная форма сразу готова для выполнения (меню Form / Run Form или кнопка «!»). Запуск формы на выполнение из командной строки: do form <имя формы> read events Обращение к объектам текущей формы: thisform. <имя объекта>. <имя свойства> = <значение> Основные поля, методы или свойства формы и связанные с ними типичные реакции:
Основные объекты формы:
чтобы проникнуть внутрь контейнера для редактирования его объектов следует выбрать в выпадающем меню опцию «Edit», щёлкнув по объекту-контейнеру правой кнопкой мыши. С помощью команд меню Format (/ Align, / Size) можно сделать объекты одинакового размера, выровнять их относительно друг друга или формы, сделать равными расстояния между ними и т.п.
Основные методы объектов формы и связанные с ними типичные реакции:
Пример кода для кнопки «Выход из формы»:
if MessageBox (“Выходить из формы?”, 4+32+256, ”Выход”) = 6 _screen.ActiveForm.Release() else _screen.ActiveForm.Refresh() EndIf Если переменную или массив намечается использовать вне формы или при взаимодействии нескольких форм, создавайте её как Public.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-08; просмотров: 361; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.131.110.169 (0.017 с.) |