Реферат: Програмирование на Visual Basic
Function Primer_Function(ByVal х As Single) у = -0.25 * х •”• 3 + 0.14 * х - 2 + 0.25 * х - 25
Debug.Print у Primer_Function = у End Function
Рис 44
Алгоритм построения графика поместим в процедуру обработки события Form_Click:
Private Sub Form_Ciick()
Scale (-10, 270)-(10, -270) 'установка масштаба CIs 'очистка экрана
DrawWidth = 1 'установка толщины линии Line (-10ft, 0)-(10#, 0) 'ось Х Line (0, -270ft)-(0, 270ft) 'ось Y CurrentX = -10# 'текущее значение Х CurrentY = Primer_Function(-10ft)
'текущее значение Y • For х = -10ft То 10ft Step 0.5
Line -(х,Primer_Function(х))'построение отрезков
‘графика Next End Sub
Построенный график показан на рис. 4.5. Процедуру Sub Foim_Click () можно преобразовать для печати графика на принтере'
Private Sub Form_Click()
Printer.Scale (-10, 270)-(10, -270) 'установка
'масштаба DrawWidth = 1 'установка толщины линии Printer.Line (-10<t, 0)-(10#, 0)'ось X Printer.Line (0, -270ft)-(0, 270ft) 'ось Y CurrentX = -10ft 'текущее значение X CurrentY = Primer_Function(-10ft) 'текущее
‘значение У
For x = -10ft To 10ft Step 0.5 Printer.Line -(x, Primer_Function(x))
'построение отрезков графика Next Printer.EndDoc End Sub
Кроме того, выведя графическую информацию на форму, можно использовать метод PlintFoirn для распечатки растровой копии формы на принтере.
Рис 45
4.5. АНИМАЦИЯ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ
Если в последовательные моменты и изменять координаты графических объектов на экране, то объекты будут “перемешаться” по экрану. Для инициирования некоторых событий (в случае анимации изображений в моменты свершения этих событий необходимо изменять координаты графических объектов) через регулярные промежутки времени используется инструмент Таймер (timer). Таймер программируют присвоением определенных значений свойству Interval, которое задает периодичность возникновения событий, связанных с таймером.
Значение свойства Interval задается в миллисекундах (мс) и может принимать значение О...65535 и теоретически способно заставить систему генерировать события со скоростью от 1000 раз
секунду до 1 раза в минуту. Интервал, равный 0 (по умолчанию), отключает таймер. Для того, чтобы события возникали п раз, задаваемое значение свойства Interval можно пассчитывать приблизительно по формуле 1000/п (событие генерируется 2 раза при значении свойства Interval равном 500). Однако необходимо учитывать, что технически для компьютера имеется порог чувствительности разрешения таймера (примерно 18 событий в секунду или 56 мс).
В качестве примера рассмотрим перемещение окружности по форме из нижнего левого угла в правый верхний. Это обеспечивается размещением на форме инструмента таймер, заданием значения свойства Interval отличного от 0 (при выполнении приложения таймер не виден на форме) и следующей программой, включающей описание переменной в разделе general формы, задание начального значения этой переменной в процедуре обработки события Forml_Load и процедуру Timerl_Timer :
Option Explicit Dim I As Integer
Private Sub Form_Load()
1=1 End Sub
Private Sub Timerl_Timer() Dim Dx, Dy As Single Beep 'подача звукового сигнала ' Dx = 5 'смещение по оси Х Dy •= 5 'смещение по оси Y Scale (0, 100)-(100, 0) 'оси координат
'(0,0)-в нижнем левом углу Circle (5 + Dx * (1-1), 5 + Dy * (1-1)), 5
'окружность
I =• I + 1 'переход к следующей точке End Sub
После запуска приложения на форме последовательно рисуются окружности (рис. 4.6).
По такому же принципу можно строить более сложную анимацию (например, движение предметов на экране). В отличии от приведенной картинки движущейся окружности, при движе-чии предметов в каждый момент должно показываться только текущее положение предмета. В каждом конкретном случае это может достигаться комбинацией использования свойств FillColor, FillStyle и DrawMode. В частности, при значении свойства DrawMode, равном 6 (Invert), проведенная еще раз линия или другая фигура через те же координаты рисуется цветом инверсным к первой линии (если первая черная, то вторая белая т.е. при белом фоне экрана исходная линии исчезнет).
Подробно о значениях свойств и их действии при рисовании можно узнать из справочной системы Visual Basic.
Приведем пример программы, обеспечивающей показ движения парохода по бурному морю. Вид движущегося парохода показан на рис. 4.7.
Рис 4 6
В заключение следует отметить разницу в использовании графических элементов управления (Line, Shape), которые используются для улучшения внешнего вида экранных форм, и графических методов. С помощью графических методов графические объекты рисуются на этапе выполнения приложения, а графические элементы управления размещаются на этапе проектирования. Однако, если графические методы используются с
1елью улучшения внешнего вида форм, то они используют мень-пе системных ресурсов, поскольку приложение не хранит описание графических элементов управления. Вместе с тем, результат использования графических элементов управления виден уже на этапе проектирования. Глава 5. ИСПОЛЬЗОВАНИЕ БАЗ ДАННЫХ
5.1. МЕХАНИЗМЫ РАБОТЫ С БАЗАМИ ДАННЫХ В VISUAL BASIC
Параллельно с развитием ЭВМ и их широким внедрением во все сферы деятельности увеличивались объемы и усложнялась структура обрабатываемой информации. Для решения проблемы структуризации, хранения и обработки больших объемов информации разработаны системы управления базами данных (СУБД) (database management system — DBMS). Примерами таких систем для персональных компьютеров являются Microsoft Access, Microsoft FoxPro, Borland Paradox, Borland dBase. Универсальной и очень развитой системой для различных платформ является СУБД Oracle, для больших компьютеров широко используется СУБД DB2 фирмы IBM и др.
Visual Basic использует механизм баз данных Jet фирмы Microsoft для подключения баз данных и доступа к информации, хранящейся в них. Механизм Jet является тем же самым механизмом базы данных, что используется в системе Microsoft Access. Механизм Jet позволяет работать с данными, хранящимися в собственных базах данных Jet (файлы с расширением .MDB), а также с базами данных из других систем, таких как dBase, FoxPro, Paia-dox, BTtrieve, SQL-server.
Доступ к данным из Visual Basic выполняется посредством использования объекта управления данными и связанных с данными объектов управления или объектов доступа к данным. Механизм Jet, объект управления Data (Данные) и связанные объекты управления позволяют легко обрабатывать ввод и вывод элементов данных. Кроме того, имеется два дополнения: Data Manager (Управление данными) и Form Designer (Разработчик данных), которые упрощают построение баз данных и создание форм для доступа к данным.
Типы данных, поддерживаемые механизмом Jet, во многом совпадают с типам данных Visual Basic и приведены в табл. 5.1.
При работе с большими объемами информации необходимо, по возможности, гарантировать правильность (корректность) информации в базе данных (прикладная информация, организованная на основе используемой СУБД). Эта корректность может обеспечиваться написанным программным приложением, средствами СУБД или и тем и другим. Механизм Jet поддерживает два
типа целостности данных (целостность первичного ключа и ссылочную целостность отношений) и две формы правильности данных (правильность на уровне поля и правильность на уровне записи). Эти функции можно реализовать на этапе создания базы данных и они далее поддерживаются и используются при обращениях к базе данных.
Таблица 5.1
Тип данного | Информация | Диапазон значении |
Text | Строки символов | 255 символов |
Memo | Длинные строки символов | До 1,2 Гбайт |
Byte | Целые | От 0 до 255 |
Integer | Целые | От -32768 до 327670 |
Long | Целые | От -2147483648 до 2147483647 |
Counter | Длинные целые с приращением | |
Single | Вещественные | От-3,4*10-38 до 3.4* 10”38 |
Double | Вещественные | От -1,8*10”308 до 1.8*10”308 |
Yes/No | Логическая | |
Date | Значение д>пъ1 | |
Binary | Двоичные | До 1,2 Гбайт |
OLE | OLE — объекты | До 1.2 Гбайт |
Кроме механизма Jet можно также использовать драйверы связи открытых баз данных (ODBC — Open Database Connectivity) для доступа к другим базам данных. Существуют также разнообразные механизмы баз данных других фирм, которые можно использовать с Visual Basic.
Система Visual Basic позволяет хранить и использовать информацию в реляционных системах управления базами данных (английская аббревиатура — RDBMS).
5.2. РЕЛЯЦИОННАЯ СТРУКТУРА ДАННЫХ
В подавляющем большинстве существующие СУБД построены на основе реляционной модели данных, которая, несмотря на свою внешнюю простоту, базируется на прочном фундаменте масштабных теоретических исследовании, основы которых были заложены Э. Коддом в 1969 г. Результаты этих теоретических исследований позволяют сделать данные полными непротиворечивыми и не избыточными, чтобы все факты оказав лись учтены, но при этом каждый из них хранился только один' раз. Специалисты в области создания и сопровождения баз данных должны знать и уметь использовать эту теорию.
Реляционная база данных это такая база данных, которая состоит из таблиц (и ничего иного, кроме таблиц). Ссылка из одной таблицы на другую через какое-нибудь общее поле (common field) называется отношением (relation) ( отсюда и название реляционная).
Рассмотрим пример реляционной базы данных состоящей из трех таблиц или отношений, таблица поставщиков, таблица деталей и таблица поставки деталей.
Таблица поставщиков
Номер постав щика | Фамилия | Состояние | Город |
si | Смит | 20 | Лондон |
s2 | Джонс | 10 | Париж |
s3 | Блеик | 30 | Париж |
s4 | Кларк | 20 | Лондон |
s5 | Адаме | 30 | Атенс |
Каждый поставщик имеет уникальный номер, фамилии могут повторяться. Каждый поставщик находится только в одном городе.
Таблица деталей
Номер детали | Название | Цвет | Вес | Город |
Pi | Гайка | Красный | 12 | Лондон |
р2 | Болт | Зеленый | 17 | Париж |
РЗ | Винт | Голубой | 17 | Рим |
р4 | Винт | Красный | 14 | Лондон |
р5 | Кулачок | Голубой | 12 | Париж |
Р5 | Заклепка | Красный | 19 | Лондон |
Каждый вид детали имеет уникальный номер. Город — место хранения детали. Предполагается, что каждый вид детали имеет только один цвет и хранится на складе только одного города.
Таблица поставки деталей
Номер поставщика | Номер детали | Количесшо |
Si | Pi | 300 |
Si | Р2 | 200 |
si | РЭ | 400 |
sl | Р4 | 200 |
si | Р5 | 100 |
sl | р6 | 100 |
s2 | Р' | 300 |
s2 | Р2 | 400 |
s3 | Р2 | 200 |
s4 | Р2 | 200 |
s4 | Р4 | 300 |
s4 | Р5 | 400 |
Таблица поставки деталей служит для связи между собой двух первых таблиц. Например, первая строка этой таблицы связывает поставщика “sl” из таблицы поставщиков с деталью “р1” из таблицы деталей (представляет поставку детали вида “р1” поставщиком с номером “sl” в количестве 300 деталей). Предполагается, что в каждый момент существует только одна поставка для заданного поставщика и заданной детали, т.е. комбинация Но-мер_поставщика, Номер_детали является уникальной для заданной поставки относительно множества поставок в данный момент.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22