Построение приложений с графическим интерфейсом

19.Построение приложений с граф интерфейсом. Примеры компонентов. Процедура обработки событий.

Элемент управления Label, свойство Caption

Это — самый простой эл-т управления. Надпись — это просто область формы, в которой выводится какой-то текст.

Пользователь не может изменять этот текст. Чаще всего элемент управления Label использ-ся как строка состояния с объяснением того, что сейчас произошло/происходит/должен сделать пользователь и т.п. Этот эл-т управления может использ-ся и как пояснение для других элементов управления, таких, как ползунок.

Самое главное св-во эл-та управления Label — это Caption, тот текст, который будет выводиться на форме. Большая часть остальных св-в относится к форматированию этого текста или настройке внешнего вида этого эл-та управления.

Несмотря на то, что для этого эл-та управления предусмотрен набор событий ( Click, Error и т.п.), использовать их не принято: пользователю обычно не приходит в голову, что по надписи нужно щелкать мышью.

Элемент управления ListBox на формах VBA, его применение

Этот эл-т управления очень похож на комбинированный список, но применяется гораздо реже по двум причинам:

в нем нельзя открыть список знач-й по ниспадающей кнопке. Все знач-я они видны сразу в поле, аналогичном текстовому, и поэтому большое кол-во позиций в нем уместить трудно;

пользователь не может вводить свои знач-я — только выбирать из готовых.

Но у этого эл-та управления есть и преимущества: в нем пользователь может выбирать не одно значение, как в ComboBox, а несколько.

Обычно ListBox используется:

как промежуточное средство отображения введенных/выбранных пользователем через ComboBox значений (или любых других списков, напр, списков выбранных файлов);

как средство редактирования списка значений, сформированных вышеуказанным образом или полученных из базы данных (для этого можно рядом с ListBox разместить кнопки Удалить или Изменить).

Основные св-ва, методы и события у ListBox — те же, что и у ComboBox. Главное отличие — то, что имеется свойство MultiSelect, которое позволяет пользователю выбирать несколько значений. По умолчанию это свойство отключено.

Эл-т управления ComboBox, метод AddItem(), свойство Value

Комбинированный список также используется очень часто. Этот эл-т управления позволяет пользователю как выбирать "готовые" значения из списка, так и вводить значения самост-но (хотя это можно запретить).

Обычно ComboBox исп-ся в двух ситуациях:

когда пользователю необходимо выбрать одно или несколько знач-й из списка размером от 4-х до нескольких десятков позиций. Если позиций меньше, то проще использовать переключатели, если больше — то ориентироваться в списке становится неудобно и необходимо использовать специальные приемы, когда пользователь вводит первые буквы нужного слова и в списке остаются только значения, которые начинаются на эти буквы;

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

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

Параметр varIndex (необязательный) может использоваться для определения положения элемента в списке, но он не может превышать значения ListCount и поэтому для начальной загрузки ComboBox не подходит.

Самые важные свойства комбинированного списка:

ColumnCount, ColumnWidth, BoundColumn, ColumnHeads, RowSource — свойства, которые применяются при работе со списками из нескольких столбцов. Пользователями нелюбимы и к использованию не рекомендуются (гораздо проще сделать несколько комбинированных списков);

MatchEntry — будут ли при вводе пользователем первых символов значения выбраться подходящие позиции из списка. возможность очень удобная, рекомендуется сохранить значение, которое используется по умолчанию.

MatchRequired — разрешается ли пользователю вводить то значение, которого нет в списке. По умолчанию False, то есть разрешено.

Value (или Text) — позволяет программным способом установить выбранное значение в списке или вернуть выбранное/введенное пользователем значение.

Остальные свойства (AutoSize, Enabled, Locked, ControlText, ControlTipText, MaxLength) — применяются точно так же, как и для TextBox.

Главное событие для комбинированного списка — Change, то же, что и для TextBox. Обычно в обработчике этого события проверяются введенные пользователем значения, эти значения переносятся в текстовое поле или ListBox (если нужно дать пользователю возможность выбрать

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

Picture — если просто надпись вас не устраивает, можно назначить кнопке рисунок;

TakeFocusOnClick — будет ли передаваться управление этой кнопке при нажатии на нее. По умолчанию True.

Элемент управления Image, его применение, свойство Picture

Пожалуй, самый простой из элементов управления. Позволяет отобразить на форме рисунок в одном из распространенных форматов, который будет реагировать на щелчок мышью (а может просто использоваться для украшения формы). Некоторые замечания по использованию Image:

в качестве альтернативы можно использовать свойство Picture для формы (особенно если вам нужен фоновый рисунок для всей формы);

еще две альтернативы — применение свойства Picture для элементов управления Label или CommandButton. Функциональность получается практически одинаковая;

при использовании этого элемента управления само изображение копируется внутрь документа и внешний его файл больше не нужен.

Главное событие элемента управления Image — событие Click.

Главные свойства:

Picture — позволяет выбрать само изображение для формы;

PictureAlignment — позволяет выбрать местонахождение изображения в отведенной ему области. По умолчанию — по центру;

PictureSizeMode — позволяет выбрать режим растяжения/уменьшения элемента в случае, если он не точно соответствует размеру области;

PictureTiling — размножать ли маленький рисунок, чтобы он покрыл все отведенную ему область (делать "черепицу").

несколько значений, поскольку свойства MultiSelect у ComboBox нет) и т.п.

Элементы управления CheckBox (флажок), ToggleButton (кнопка с фиксацией), свойства Caption и Value, событие Change

Флажки (пользователи часто называют их "галками" или "птичками") и кнопки с фиксацией используются для выбора невзаимоисключающих вариантов (если этих вариантов немного).

У CheckBox три главных свойства:

Caption — надпись справа от флажка, которая объясняет, что выбирается этим флажком;

TripleState — если в False (по умолчанию), то флажок может принимать только два состояния: установлен и нет. Если для TripleState установить значение True, то появляется третье значение: Null, когда установлена "серая галка". Такое значение часто используется, например, при выборе компонентов программы при установке, когда выбраны не все компоненты, а лишь некоторые;

Value — само состояние флажка. Может принимать значения True (флажок установлен), False (снят) и Null — "серый флажок" (когда свойство TripleState установлено в True).

Главное событие — Change.

ToggleButton выглядит как кнопка, которая при нажатии становится "нажатой", а при повторном нажатии отключается. У нее могут быть те же два (или три, в соответствии со свойством TripleState) состояния, что и у CheckBox. Свойства и методы — те же самые. Единственное отличие — в восприятии их пользователем. Обычно ToggleButton воспринимается пользователем как переход в какой-то режим или начало выполнения продолжительного действия.

Элементы управления OptionButton (переключатель) и Frame (рамка), свойства Caption и Value, событие Change

Классический пример, при помощи которого можно проиллюстрировать OptionButton — выбор радиостанции на радиоприемнике: сразу две радиостанции слушать нельзя (поэтому иногда этот элемент управления называют RadioButton). Главных свойств у этого элемента управления два:

Caption — надпись для переключателя;

Value — установлен флажок или нет (только два состояния — True или False).

Главное событие тоже очень привычное — Change.

Конечно, использовать один переключатель бессмысленно. Выбор должен предоставляться из нескольких вариантов, и при выборе одного из них другой автоматически очищается. Однако в некоторых ситуациях нам необходимо выбрать из нескольких наборов вариантов (например, отчет за месяц/квартал/год, тип отчета, нужный филиал и т.п.). Решение простое — переключатели нужно сгруппировать.

Самый простой вариант группировки — просто использовать форму/вкладку на форме. Если переключатели находятся на одной форме (или одной вкладке) они автоматически считаются взаимоисключающими. Если же нужно более точно выбрать группы, то необходимо использовать элемент управления Frame.

Frame — это просто рамка, которая выделяет прямоугольную область на форме и позволяет организовать элементы управления.Помещенные внутрь рамки переключатели считаются взаимоисключающими, остальные элементы управления ведут себя точно так же, хотя иногда бывает полезно с точки зрения наглядности свести вместе под одной рамкой, к примеру, набор флажков. При желании рамку можно сделать невидимой, установив для свойства BorderStyle значение 1 и убрав значение свойства Caption.

Элемент управления CommandButton (кнопка), событие Click, свойства Caption, Cancel и Default

Элемент управления CommandButton (кнопка) — самый распространенный элемент управления в формах.

В большинстве форм обязательно будет по крайней мере две кнопки: Отмена (Cancel) и OK. По нажатию кнопки Отмена форма должна закрыться, по нажатию кнопки OK должно выполниться то действие, ради чего создавалась эта форма.

Главное событие для кнопки — это, конечно, Click. Как правило, к этому событию и привязывается тот программный код, ради которого создавалась кнопка.

Самые важные свойства кнопки:

Cancel — если для него установить значение True, то это значит, что кнопка будет нажиматься при нажатии на клавишу <Esc>. Как правило, на такие кнопки помещаются надписи типа "Отмена", "Выход", "Вернуться в окно приложения". Однако кроме назначения клавише <Esc>, ничего больше этой кнопке такое свойство не дает. Необходимо будет еще добавить код в обработчик события Click, например, такой:

Unload Me

Caption — надпись, которая будет на кнопке;

Default — такая кнопка будет считаться нажатой, если пользователь нажал на клавишу <Enter>, а фокус находился в другом месте формы (но не на другой кнопке). Обычно такие

20. Реляционные БД. Правила Кодда. Аномалии в реляционных БД. Нормальные формы.

Реляционная БД – это БД, в кот. Инф-я представлена в виде совокупности взаимосвязанных таблиц. Теорию реляционных БД создал Э.Ф. Кодд в 1970 году.

Реляц. БД основаны на спец.разделе математики, называемом «реляционная алгебра».

В теории реляц. БД одно и тоже понятие часто обозначается разными терминами

Отношение-кортеж-атрибут

Файл – запись – поле

Таблица – строка – столбец

Математик- программист – пользователь

Ключ- набор атрибутов, кот. Однозначным образом идентифицирует(определяет) запись.

В рамках реляц. Модели может встречаться сит-я, когда атрибут или набор атрибутов (необяз-но ключевых) однозначно опред-ют знач-е каких-либо др. атрибутов (необяз-но всех).

Такая ситуация называется функциональной зависимостью. Совокуп-ть определяющих атрибутов назыв. детерминантом.

Вообще говоря, не люб. Табл. Может осущ-ся в реляц. БД. Все табл. Должны удовл. аксиомам отн-я:

В кажд. Ячейке табл. Наход. Только одно знач-е

Дан. Для всех ячеек одного столбца имеет один и тот же тип

Кажд. Столбец имеет уникальное имя

Порядок столбцов несущественен

В табл. Нет 2-х одинаковых строк

Порядок строк несущественен

Главная проблема при проектировании реляц. БД связана с возникновением так называемых аномалий. Чаще всего встречаются 3 вида аномалиий:

Аномалии вставки

Удаления

Обновления

Фамилия

секция

стоимость

Петрова

танцы

300

Иванова

танцы

300

Сидоров

бокс

100

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

Если последний студент уйдет из секци бокса, то при удалении соответ-щей записи из табл. Будет безвозвратно потеряна инф-я о стоим-ти обуч-я в этой секции.

В случае измен-я стоим-ти занятий в секции танцев, в кот. Занимается более одного студента, необходимо вносить инф-ю о новой стоимости отдельно для кажд. Студента, занимающегося в этой секции.

фамилия

Секция

секция

стоимость

Чтобы избежать аномалий, табл. Разбивается на 2. Подобный проц. преобразования БД с целью избежать возникновения аномалий, называется приведением БД к норм. форме или нормализацией.

Обратный процесс – денормализацией

Существует неск. Форм БД:

1 нф

2 нф

3 нф

БКНФ (Бойса-Коддана)

4 нф

5 нф

ДКНФ

ДКНФ – доменно – ключевая норм.форма

Чем ближе н.ф. к центру табл., тем меньше аномалий может возникнуть в соответ-щей БД.

Однако, при приближении н.ф. к центру табл. Проц. нормализации становится сложнее, а получаемая в рез-те структура БД все запутаннее. В частности, доказано, что для баз в ДКНФ аномалии отсутствуют. Однако, алгоритм приведения к этой форме неизвестен и более того неизвестно любую ли реляц. БД можно преобразовать в ДКНФ. На практике обычно ограничиваются приведением БД к 3 нф или БКНФ.

БД находится в 1 нф, если все входящие в нее табл. Удовл. сформулированным выше аксиомам отн-я.

БД находится во 2 нф, если кажд. Ее неключевой атрибут зависит от всего ключа, а не от части.

БД находится в 3 нф, если в ней нет транзитивных зависимостей (транзитивные зависимости – есть три атрибута a,b,c. такие, что b зависит от а, c от b).

Пример БД в 3 нф, допускающая аномалии.

№ зачетки

Спец. курс

Преподаватель

Сделаем предположение, что каждый студент может посещать неск. спец.курсов. Спец.курс с одним названием может вести неск.преподавателей и каждый преподаватель может вести только один спец. Курс. Можно проверить, что при этих предположениях БД находится в 3нф. Однако, имеют аномалии удаления.

БД находится в БКНФ, если детерминант любой функциональной завис-ти может быть выбран в кач-ве ключа.

Правила  Кодда

В 1985 году в двух статьях в журнале Computer World  Э.Ф. Кодд сформулировал правила, которым должны соответствовать настоящие реляционные базы данных:

·        Правило 0 (фундаментальное правило).  Реляционная система для управления базами данных должна использовать исключительно реляционные возможности. Другими словами для управления реляционными базами данных СУБД не может предоставлять какие-либо не реляционные операции. 

·        Правило 1 (правило информации). Вся информация в реляционной базе данных (включая имена таблиц и столбцов)  представляется в явном виде только на логическом уровне (см. рисунок 2.3) и только в виде значений, хранящихся в таблицах. 

·        Правило 2 (правило гарантированного доступа). Логический доступ ко всем и каждому элементу данных в реляционной базе данных обеспечивается комбинацией имени таблицы, имени столбца и значением первичного ключа. 

·        Правило 3 (правило обработки неизвестных значений). В реляционной базе должна быть реализована возможность представлять неизвестные значения. 

·        Правило 4 (правило доступа к словарю базы данных). Логическая структура словаря базы данных должна быть реляционной, чтобы пользователь, имеющий соответствующие права могли бы управлять структурой базы данных с помощью стандартного реляционного языка.

·        Правило 5 (правило полноты языка управления данными). Должен существовать, по крайней мере, один язык управления реляционными базами данных, который поддерживал бы интерактивное и программное использование, и который должен быть представлен в виде набора команд, каждая из которых может быть представлена в виде одной строки. 

·        Правило 6 (правило обновления представлений). Все представления, которые теоретически можно обновить, должны быть обновляемы.

·        Правило 7 (правило множественности обновлений). Операции вставки, удаления и обновления должны быть применимы к базовым таблицам, как и чтение данных из таблицы.

·        Правило 8 (правило независимости на физическом уровне). Какие бы изменения на физическом уровне не происходили с данными или аппаратной частью, это не должно сказаться на функционировании прикладных программ или утилит управления данными.

·        Правило 9 (правило независимости на логическом уровне). Прикладное программное обеспечение не должно зависеть от изменений, вносимых в структуру базы данных, которые теоретически не должны изменять хранящиеся в базе данные.  

·        Правило 10 (правило независимости условий целостности). Должна существовать возможность формулировки правил целостности специфических для данной базы данных на языке реляционных баз данных. 

·        Правило 11 (правило независимости распространения). База данных может быть распределенной или переносится на другие компьютеры и это не должно сказаться на функционировании прикладного программного обеспечения.

·        Правило 12 (правило единственности).  Если в реляционной системе имеется низкоуровневый язык, то  должна отсутствовать возможность использование его для того, чтобы обойти правила и условия целостности, сформулированные на реляционном языке и хранящиеся в каталоге базы данных.

← Предыдущая
Страница 1
Следующая →

Файл

шпора 19,20.docx

шпора 19,20.docx
Размер: 42.3 Кб

.

Пожаловаться на материал

Построение приложений с графическим интерфейсом. Примеры компонентов. Процедура обработки событий. Реляционные БД. Правила Кодда. Аномалии в реляционных БД. Нормальные формы.

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Похожие материалы:

Теоритические основы дизайна интерьера

Дизайн интерьера, Интерьер: виды интерьера. Общественные интерьеры. Концепция жилых интерьеров. Композиция решение художественной интерьера. Цветовой нюанс и контраст.

Экологическая биотехнология

Экобиотехнология. Аэробная очистка сточных вод. Прикладное использование экологической биотехнологии. Биологическая очистка и дезодорация газов. Восстановления поверхностного слоя и свойств почв. Переработка органических отходов. Биодеградация ксенобиотиков.

Коммуникативная компетенция

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

Растениеводство

Зимостойкость и морозостойкость озимой пшеницы. Причины гибели озимых хлебов в осеннее-зимний и ранневесенний периоды. Фазы вегетации у зерновых хлебов. Способы подготовки почвы. Требования, удобрения озимой пшеницы. Озимый ячмень. Яровая пшеница. Кукуруза. Значение группы зернобобовых культур. Приемы возделывания гороха и сои. Подсолнечник. Многолетние бобовые травы. Приемы возделывания люцерны. Картофель. Кормовые корнеплоды.

Территориальное устройство. Швейцарский федерализм

Начало возникновения Швейцарии как государства было положено в XIII веке. В настоящее время Швейцария состоит из 26 кантонов, 6 из которых разделены на два полукантона каждый.

Сохранить?

Пропустить...

Введите код

Ok