Информационное обеспечение систем управления





НазваниеИнформационное обеспечение систем управления
страница15/19
Дата публикации05.12.2014
Размер3.02 Mb.
ТипРеферат
100-bal.ru > Информатика > Реферат
1   ...   11   12   13   14   15   16   17   18   19
ПОСТАВКИ. При добавлении поставки в этот файл добавляется новая запись. Файл имеет пять полей. Необходимый для разработки фрагмент датологической модели приведен на рис. 7.2.

Значение первого поля Код_П требуется выбирать из одноименного поля DBF-файла ПОСТАВЩИКИ в интерактивном режиме для конечного пользователя. При этом конечный пользователь выбирает не код поставщика (это вспомогательные для системы данные), а имя поставщика (Имя_П). По выбранному имени поставщика следует запомнить его код и занести последний в новую запись поставки.

Значение второго поля Код_Д аналогичным образом следует выбирать из одноименного поля DBF-файла ДЕТАЛИ.

Значение третьего поля Кол_во необходимо вводить с клавиатуры конечному пользователю на основании соответствующего документа на вносимую им поставку.

ПОСТАВКИ

С3

С3

N5

N8.2

D

Код_П

Код_Д

Кол_во

Сумма

Дата

ДЕТАЛИ

С3

С20

N6.2







Код_Д

Имя_Д

Цена



ПОСТАВЩИКИ

С3

С25

С30







Код_П

Имя_П

Город



Рис. 7.2. Фрагмент информационной модели


Значение поля Сумма необходимо рассчитывать как произведение значения поля Кол_во этой же таблицы и значение поля Цена таблицы ДЕТАЛИ.

Значение последнего поля Дата необходимо заполнять текущей системной датой с возможностью последующей корректировки.

Прежде чем вызывать конструктор форм, необходимо разработать макет будущей формы ввода данных. Один из возможных вариантов такого макета приведен на рис. 7.3. На форме планируется расположить объект Shape или рамку, внутрь которой помещаются две надписи «Поставщик» и «Деталь» (объекты Label), под которыми находятся два списка (объекты ComboBox) для выбора поставщика и детали, определяющих данную поставку.

Следующий блок формы образуют три надписи Дата, Количество и Стоимость. Под ними расположим три объекта TextBox для ввода и отображения соответствующих значений трех последних полей таблицы ПОСТАВКИ.

В нижней части формы расположим три командных кнопки (объекты CommandButton) с надписями Отменить, Сохранить и Выход. Первая кнопка будет возвращать процесс ввода в начальное состояние, вторая – сохранять рез
ультаты ввода текущей поставки и последняя – закрывать форму.

На макете внутри каждого объекта записан базовый класс объекта и его имя. Например, список деталей будет реализован на основе класса ComboBox и будет иметь имя с1. Имя объекта задается свойством Name.

В табл. 7.1 перечислены все объекты, свойства которых следует изменить или задать для них методы для решения поставленной выше задачи ввода данных в таблицу ПОСТАВКИ. Во второй и третьих строках второго столбца табл. 7.1 задается тип и источник данных для раскрывающихся списков с1 и с2. Задать эти параметры можно задать только в том случае, если в окружении данными формы будут предварительно прикреплены файлы данных ПОСТАВКИ, ДЕТАЛИ и ПОСТАВЩИКИ.

Таблица 7.1

Имя объекта

Набор свойств

Метод

Form1




Init. Thisform.c1.setfocus

c1

Name=c1; RowSourceTyp=6 (Fields)
RowSource=ПОСТАВЩИКИ.Имя_П


InteractiveChange. Thisform.c2.setfocus

c2

Name=c2; RowSourceTyp=6
RowSource=ДЕТАЛИ.Имя_Д


InteractiveChange. Thisform.t1.setfocus

t1

Name=t1; Format=D; Value=<=Date()>

InteractiveChange. Thisform.t2.setfocus

t2

Name=t2

ValidEvent. Thisform.t3.value = val(Thisform.t2.value)* ДЕТАЛИ. Цена
Thisform.t3.refresh


t3

Name=t3; InputMask=99999.99




k1

Name=k1; Caption=”Отменить

ClickEvent.; Thisform.t1.value=Date()
Thisform.t2.value=””; Thisform.t3.value=0
Thisform.c1.setfocus


k2

Name=k2; Caption=”Сохранить

ClickEvent.; Select ПОСТАВКИ
Append Blank
Replace ;
Код_П with ПОСТАВЩИКИ. Код_П;
Код_Д with ДЕТАЛИ. Код_Д;
Дата with Thisform.t1.value;
Кол_во with val(Thisform.t2.value);
Сумма with Thisform.t3.value


k3

Name=k3; Caption=”Выход

ClickEvent.;Thisform.release

Таким образом, разработка формы для ввода данных условно делится на три этапа: разработка алгоритма ввода данных в терминах датологической модели, разработка макета формы и программирование интерфейсной формы.

7.3. Фильтрация и поиск данных

Хотя многие команды работы с записями имеют в своей структуре FOR, WHILE <условия> и <границы>, которые ограничивают множество записей в отношениях. Однако удобнее сделать подобные ограничения для всех команд сразу и тем самым уменьшить их размер. Такую операцию позволяет сделать следующая команда:
SET FILTER TO [<условие>] [IN <рабочая область>].
Здесь FOR<условие> указывает, какие именно записи будут доступны для обработки. Например, команда:

SET FILTER TO NAMD = “Д”,
сделает допустимыми для обработки только записи, в которых наименование детали начинается с буквы Д.

Команда фильтрации начинает действовать только в том случае, если после нее произведено какое-либо изменение положения указателя записи (например, командой SKIP, см. ниже). Дадим иллюстрацию этого факта на примере следующего фрагмента

SELECT B

USE KDET

SET FILTER TO NAMD = “Б”

SKIP.

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

Термин «поиск данных» в области реляционных СУБД соответствует такой операции, в результате выполнения которой указатель записи в текущем DBF-файле устанавливается на запись с заданными характеристиками. Другими словами, найти определенную запись – это установить на этой записи указатель, т.е. сделать ее текущей.

Команда SET FILTER может быть использована для поиска, если <условие> определить на единичном значении первичного ключа, например:

SET FILTER TO KOD = 105,
где KOD – ключевое поле в текущем DBF-файле «каталог деталей».

Кроме подобной возможности в FoxPro имеются разнообразные команды поиска записей. Всё их множество можно разделить на три группы, а именно: команды поиска по указателю записи; команды последовательного поиска по условию; команды ускоренного (дихотомного) поиска по условию. Классификация команд поиска приведена на рис. 7.4.

Н
иже в данном подразделе рассматриваются команды и функции, используемые для организации поиска записей по указателю и для последовательного поиска.

Перемещение указателя в DBF-файлах. Имеется несколько разновидностей команд, изменяющих положение указателя записи:

GO TOP – переход на первую запись;

GO BOTTOM – переход на последнюю запись;

GO <выр.N>   переход к записи с номером <выр.N>;

SKIP <выр.N>   переход к записи, отстоящий от текущей на <выр.N> число записей.

Здесь <выр.N> означает   значение выражения целого типа. В последней команде <выр.N> может быть и отрицательным, что соответствует движению указателя к началу DBF-файла. Команда SKIP без параметра идентична SKIP 1 (переход на следующую запись). Все вышеперечисленные команды могут иметь дополнительный параметр IN<рабочая область>, указывающий для какой рабочей области должна выполняться команда. Если он опущен, то имеется в виду текущая рабочая область.

Для контроля положения указателя и наличия записей в DBF-файле предусмотрены в FoxPro две функции:

RECNO([рабочая область]) – указывает номер текущей записи;

RECCOUNT([рабочая область]) – выдаёт общее число записей, включая помеченные на удаление.

Если в текущей рабочей области DBF-файл не открыт, то RECOUNT() возвращает 0(нуль). Функция не учитывает установленный в данной области фильтр. Например, вычислим размер DBF-файла в текущей рабочей области:

File_size = HEADER() + RECSIZE()*RECCOUNT()

Здесь HEADER([<рабочая область>]) – возвращает размер заголовка в байтах открытого в указанной области DBF-файла;

RECSIZE([<рабочая область >]) – возвращает размер записи DBF-файла, открытого в указанной рабочей области.

Часто для контроля результата процесса поиска записей используются две граничные логические функции:

EOF([<рабочая область>]) – функция конца DBF-файла; она возвращает значение ТRUE, если конец файла достигнут, и FALSE   в противном случае;

BOF([<рабочая область>]) – контроль начала DBF-файла.

Все функции в VFP имеют характерный синтаксис – наличие скобок, даже если никаких аргументов не используется, и скобки остаются пустыми.

Если посмотреть на стандартную форму, создаваемую мастером форм, для управления отдельным DBF-файлом, то на ней увидим четыре командные кнопки: «Первая», «Последняя», «Следующая» и «Предыдущая». Эти кнопки по событию Click фактически изменяют положение указателя записи. Приведем упрощенные варианты методов для этих кнопок.

П
оследовательный поиск.
Следующая команда осуществляет последовательный поиск одной самой первой записи в текущем DBF-файле, удовлетворяющей заданному FOR<условию>, среди записей, находящихся в заданных границах, и до тех пор, пока соблюдается заданное WHILE<условие>

LOCATE FOR <условие> [<границы>][WHILE <условие>].

В случае если <границы> и WHILE <условие> не заданны, то поиск ведётся во всём DBF-файле, начиная с первой записи.

При успешном поиске указатель записи устанавливается на найденную запись, функция RECNO() возвращает номер этой записи, а функция FOUND(), оценивающая результат процесса поиска, возвращает значение ТRUE. При неудачном результате поиске функция RECNO() равна числу записей в текущем DBF-файле плюс 1, функция FOUND()=FALSE. , а EOF() = TRUE.

При успешном результате поиска первой нужной записи и при необходимости продолжения поиска следующих записей нужно активизировать команду CONTINUE. Если установлено SET TALK ON, то будет выводиться номер каждой найденной записи. Приведем структуру фрагмента программы поиска всех нужных записей:

SET TALK ON

USE KDET

LOCATE FOR KOD > 150

DO WHILE .T.

IF EOF()

EXIT

ENDIF

[“Обработка текущей записи”]

CONTINUE

ENDDO

Кроме рассмотренной команды последовательного поиска в FoxPro имеется полезная функция поиска записей по значениям символьных полей:

LOOKUP(<поле1>, <выражениеС>, <Споле2>),
которая ищет первое вхождение заданного <выраженияС> в указанном символьном поле <Споле2> текущего DBF-файла и возвращает значение <поле1> этого же файла.

Если DBF-файл индексирован и индексный файл открыт, то поиск ведётся дихотомным методом, если нет – последовательным методом (подобно команде LOCATE). Если поиск оказался неуспешным, то функция возвращает пустую строку. Например, функция:

LOOKUP(KOD, “БОЛТ”, NAMD),
возвращает код детали первой записи, где в поле NAMD стоит название БОЛТ.

Для исследования быстродействия методов поиска на различных объемах DBF-файлов необходима программа для автоматического заполнения файла заданным числом записей. Если файл имеет поля только символьного и числового типов, то основными функциями в программе будут следующие.

RAND()   возвращает случайное число в диапазоне от 0 до 1.

STR(Выр.N [,
1   ...   11   12   13   14   15   16   17   18   19

Похожие:

Информационное обеспечение систем управления icon«Учебно-методический комплекс дисциплины «Информационное обеспечение систем управления»

Информационное обеспечение систем управления iconПояснительная записка
«Современная организация и технология документационного обеспечения управления». Он связан с курсами «Документоведение», «Информационное...
Информационное обеспечение систем управления iconИсследование систем управления процесс определения организационной...
Место исследований систем управления в комплексе дисциплин по теории и практке управления
Информационное обеспечение систем управления iconПрограммное обеспечение для отладки систем управления упругими объектами
Целью данной работы является разработка программного обеспечения для лабораторного стенда для изучения систем управления упругими...
Информационное обеспечение систем управления iconРабочая программа дисциплины «Информационное обеспечение, базы данных»
Факультет информационных систем и технологий Кафедра Прикладной математики и вычислительной техники
Информационное обеспечение систем управления iconУчебная программа по дисциплине " информационное обеспечение управления "
Изучение теоретических, методических и практических вопросов разработки, внедрения и совершенствования информационного обеспечения...
Информационное обеспечение систем управления iconРоссийской Федерации Самарский государственный архитектурно-строительный...
Информационные системы” являются информационные системы и сети, их математическое, информационное и программное обеспечение, способы...
Информационное обеспечение систем управления iconРабочая программа дисциплины «Архитектура ЭВМ и вычислительных систем»...
«Автоматизированные системы обработки информации и управления» (по отраслям) и 230105 «Программное обеспечение вычислительной техники...
Информационное обеспечение систем управления iconИсследование систем управления
Целью работы является рассмотрение частных методов исследования систем управления, а именно эксперимент, наблюдение и опрос
Информационное обеспечение систем управления iconПримерная тематика рефератов по курсу «Исследование систем управления»
Современный менеджмент и необходимость исследования систем управления социально-экономической организацией
Информационное обеспечение систем управления iconОрганизационно-правовое обеспечение правовой деятельности
Информационное обеспечение организации и проведения внеучебной работы
Информационное обеспечение систем управления iconИсследование систем управления Специальности: «Менеджмент организации»
«Исследование систем управления» является ведущей,в учебном процессе среди смежных дисциплин
Информационное обеспечение систем управления iconРеферат по дисциплине "Избирательное право" тема: Информационное...
Информационное обеспечение выборов. Правовое регулирование предвыборной агитации в РФ
Информационное обеспечение систем управления iconИнформационное обеспечение управления
В настоящее время классификационные схемы (классификаторы) строятся не только на основе соподчинения понятий (метод иерархии), но...
Информационное обеспечение систем управления iconКурсовая работа По дисциплине «Базы данных»
Программное обеспечение для создания систем управления базами данных
Информационное обеспечение систем управления iconРабочая программа учебной дисциплины «исследование систем управления»
Студенты научатся методам планирования эксперимента и организации исследования систем управления и научатся использовать приобретенные...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск