vb. (694737), страница 21

Файл №694737 vb. (Програмирование на Visual Basic) 21 страницаvb. (694737) страница 212016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 21)

Text3.Text = “”

Text4.Text = “” Textl.Setbocus End If End Sub

Private Sub Text5_KeyPress(KeyAscii As Integer) If KeyAscii - 13 Then

If TextS.Text = “” Then

Label7.Caption = “Предупреждение” Text7.Text - “Введите подразделение” Texi-S.SetFocus GoTo Finish4 End If

If Label7.Caption = “Предупреждение” Then Label7.Caption = “Результат” Тех!”7. Text = “” End If Text6.SetFocus t End If Finish4:

End Sub

Рис 332

Таблица 4 3

Значения свойства ScaleMode

Единицы измерения

0

Определяются пользователем

1

twips (no умолчанию)

2

Пункты (0 035 см)

3

Пикселы (зависит от разрешения дисплея)

4

Символы (1/6 дюйма по вертикали и 1/12 дюйма по горизонтали)

5

Дюймы

6

Миллиметры

7

Сантиметры

Единицы измерения координат и размеров объектов на форме определяются значением свойства ScaleMode для формы В табл 4 3 приводятся значения свойства ScaleMode и соответствующие им единицы измерения.

При значении ScaleMode равном 0 можно задать собственную систему единиц Для этого также нужно настроить свойства ScaleHeight (шкала по Y) и ScaleWidth (шкала по X) Если, например, ScaleWidth приравнять 100 и ScaleHeight приравнять 200, то ширина формы будет равна 100 единицам, а высота 200 единицам Если для размещаемого после этого на форме текстового окна свойству Width присвоить значение 25, то оно будет занимать четверть ширины формы

Как было сказано, начало координат по умолчанию находится в верхнем левом углу. Это положение определяется значениями свойств ScaleLeft и ScaleTop, которые по умолчанию равны 0. Задавая другие значения, можно изменить положение начала координат

Например, при задании ScaleLeft = 5 и ScaleTop = — 6 начало координат смещается из (0,0) в (5, — 6). Координаты нижнего правого угла формы определяются как (ScaleLeft + ScaleWidth, ScaleTop + ScaleHeight) Если задать ScaleHeight = 18, ScaleWidth = 11, то координаты нижнего правого угла станут (16, 12) (рис 42)

Заданный масштаб формы можно изменять, варьируя значения указанных выше свойств, либо используя метод Scale

Синтаксис использования метода следующий'

[имя формы.} Scale [(координаты верхнего левого угла) — (координаты нижнего правого угла)}

Рис 42

По заданным координатам верхнего левого и нижнего правого угла вычисляются значения ScaleHeight и ScaleWidth. Применение метода Scale без параметров восстанавливает исходный масштаб окна формы и возвращает начало координат в верхний левый угол (0,0)

4.3. ГРАФИЧЕСКИЕ МЕТОДЫ

Для создания экранных изображений используются графические методы Line, Circle, Pset, позволяющие рисовать линии

и прямоугольники, дуги и отдельные точки на экране. объект — форма, окно рисунка (pictur box), объект печати, на

которых рисуется линия или прямоугольник; Line — ключевое слово;

Step — ключевое слово, обозначающее, что начальная или конечная координата линии задана относительно текущей позиции, задаваемой свойствами CurrentX и CurrentY (отсчитывается как смещение от текущей позиции);

xl, yl координаты начальной точки рисуемой линии или прямоугольника (в используемой системе координат). Тип Single. Если отсутствует координата начальной точки, то линия нчинается от текущей позиции;

х2, у2 — координаты конечной точки рисуемой линии (обязательные параметры). Тип Single;

цвет — RGB-цвет линии (может использоваться функция RGB);

В определяет рисование прямоугольника по заданным координатам противоположенных углов;

F используется только при заданном параметре В и определяет закрашивание прямоугольника тем же цветом, что и линии сторон.

Синтаксис использования метода Circle (используется для рисования окружностей, эллипсов, дуг и секторов) следующий:

[объект.]С1гс\е[81ер](х,у),радиус[, [цвет] [, [start] [,[end}[, aspect]]]} где объект — форма, окно рисунка (pictiir box), объект печати, на которых рисуется окружность, эллипс, дуга или сектор;

Circle — ключевое слово;

Step — ключевое слово, обозначающее, что центр окружности, эллипса, дуги или сектора задан относительно текущей позиции, задаваемой свойствами CurrentX и CurrentY (отсчитывается как смещение от текущей позиции);

х,у координаты центра (обязательные параметры). Тип Single;

радиус радиус (в используемой системе координат);

цвет — RGB-цвет линии (может использоваться функция RGB);

start, end используются при рисовании дуги и определяют в радианах начальный и конечный углы дуги (диапазон — от -2 П до 2 П). По умолчанию start равен 0, end — 2 П. Для перевода значений углов из градусов в радианы используется формула ГРАДУ С*П/180.

aspect соотношение радиусов по осям Х и Y при рисовании эллипса.

Для рисования сектора задаются отрицательные значения параметров start и end. При рисовании проводятся радиальные линии под углом, заданными абсолютными значениями параметра.

Свойства FillColor и FillStyle (относятся к объекту) определяют соответственно цвет заполнения прямоугольника, окружности, дуги или сектора и стиль заполнения. Синтаксис применения свойства FillColor следующий:

{[/or;n.][cгде цвет — RGB — цвет или QBColor — функция (возвращает значение RGB — цвета для 16 фиксированных цветов, см. Справочную систему Visual Basic). По умолчанию — черный цвет.

Синтаксис применения свойства FillStyle:

{|/style] где style принимает следующие значения:

О — полное заполнение;

1 — прозрачное (по умолчанию);

2 — горизонтальные линии;

3 — вертикальные линии;

4 — диагональ (направленная вверх);

5 — диагональ (направленная вниз);

6 — крест на крест;

7- крест на крест по диагонали.

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

[объект.] PSet[Step](^,^)[,uBeT]

где объект форма, окно рисунка (pictur box), объект печати, на которых рисуется точка;

Pset — ключевое слово;

Step — ключевое слово, обозначающее, что координаты точки заданы относительно текущей позиции, задаваемой свойствами CurrentX и CurrentY (отсчитывается как смещение от текущей позиции);

х, у — координаты точки (обязательные параметры). Тип Single;

цвет — RGB-цвет или QBColor-функция (возвращает значение RGB-цвета для 16 фиксированных цветов, см. справочную систему Visual Basic). Если этот параметр отсутствует, то Цвет определяется свойством ForeColor.

Толщина и вид рисуемых линий, а также размер и внешний вид точки определяется значением свойств DrawWidth, DrawStyle и DrawMode. При значении DrawWidth = 1 (измеряется в пикселах) толщина линии и точки равна 1 пикселу. При увеличении значения толшина увеличивается (координата точки определяет ее центр). Значения свойства DrawStyle от 0 до б определяют, какой будет линия:

сплошной, пунктирной, точечной и др.

Свойство DrawMode может принимать одно из 16 значений которые определяют характер взаимодействия вычерчиваемого изображения с уже имеющимся на экране. Например, по умолчанию DrawMode равно 13 (Copy Pen) и означает, что новое изображение закрывает собой существующее.

Метод Point возвращает цвет заданной точки. Синтаксис:

[объект.} Point (x,y)

Возвращает значение цвета в RGB-кодировке пиксела в заданных координатах х и у.

Рассмотрим примеры использования приведенных графических методов. Приводится текст процедуры рисования объектов на форме. Нарисованные объекты показаны на рис. 4.3.

Текст процедуры:

Private Sub Form_Pa-Lnt ( )

Scale (-10, 10)-(10, -10) 'установка масштаба

Line (-10, 0)-(10, 0) 'ось X

Line (0, -10)-(0, 10) 'ось Y

Line (-8.5, 9.2)-(9.01, -2.1) 'прямая линия Line (-5, 2)-(2, 1), , В 'не закрашен, прямоугольник Line(-8.5,3.5)-(-5.5, -4),,F 'закрашен, прямоугольник

Circle (1, 2), 5 'окружность

Circle (-1, -5), 3, , , , 0.4 'эллипс

Circle (-7, -9.5), 4, , -0.7, -2.1 'малый сектор Circle (6, -6), 3.5, , -2.1, -0.7 'большой сектор DrawWidth = 10 'изменение ширины линии 'или размера точки

PSet (7, 6.5) 'точка

End Sub

Методы, осуществляющие вывод информации на форму, позволяют направлять ее непосредственно на принтер. Принтер (объект Printer) рассматривается как особая форма, размер которой -совпадает с размером печатаемой страницы. Метод Scale применим и для объекта Printer и позволяет установить нужную систему координат.

Рис 43 4.4. ПОСТРОЕНИЕ ГРАФИКОВ ФУНКЦИЙ

Использование пользовательской системы координат удобно при построении на экране графиков функций. В этом случае нет необходимости переводить и масштабировать значения аргументов и функций в единицы измерения координатных осей. Достаточно задать систему координат соответственно значениям аргументов и функций.

Для задания стандартной системы координат с точкой (0,0) в середине экрана свойству ScaleTop присваивается некоторое Положительное значение, а свойству ScaleHeight отрицательное значение, которые определяют диапазон значений шкалы Y. На-“ример, ScaleTop = 50, ScaleHeight = -100, шкала Y имеет диапазон от -50 до +50. Аналогично свойству ScaleLeft присваивается некоторое отрицательное значение, а свойству ScaleWidth положительное значение. Зти значения определяют диапазон значений шкалы X. Например, ScaleLeft = -20, ScaleWidth = 40, шкала \ имеет диапазон от -20 до +20 (рис. 4 4)

Построим график функции

у = -.25 * х л 3 + .14 * х л 2 + .25 * х - 25 на отрезке значений аргумента [-10,+10]. Анализ показывает, что область значении функции на этом отрезке: -270 < у < +270. Для вычисления значения функции зададим функцию Primer_Function:

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

‘значение У

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

Лондон

Каждый вид детали имеет уникальный номер. Город — место хранения детали. Предполагается, что каждый вид детали имеет только один цвет и хранится на складе только одного города.

Характеристики

Тип файла
Документ
Размер
1,22 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее