Предыдущий урок -----
Следующий урок До сих пор мы ничего не говорили о типах переменных. Переменные всегда будут содержать только значения, указанного типа. Если вы будете вводить значение, другого типа, которое можно изменить так, чтобы оно соответствовало указанному типу переменной, программа выполнит такое превращение (это называется приведением типов). Например, если в переменную, объявленную как Integer записать значение 4,8 то это значение округляется до ближайшего целого числа и храниться в переменной будут значение 5. Если это невозможно- будет выведено сообщение об ошибке.
В таблице находятся наиболее часто используемые типы переменных.
Название типа | Объем памяти под переменную | Характеристика | Значения |
Integer | 2 байта | Число- целое | от -32768 до 32767 |
Long | 4 байта | Число- длинное целое | от -2147483648 до 2147483647 |
Singl | 4 байта | Число- число с плавающей запятой. | от -3,4 38до -1,4 -45 для отрицательных чисел и от 1,4 -45 до 3,4 38 для положительных |
Double | 8 байтов | Число- число с плавающей запятой двойной точности (в 2 раза больше знаков после запятой) | от -1,7308 до -4,9-324 и от 4,9-324 до 1,7308 |
Boolean | 2 байта | Логическое значение | True (правда)/False (ложь) |
Byte | 1 байт | Целое число величиной в 1 байт | от 0 до 255 |
Date | 8 байт | Дата | |
String | переменное | Строка | Длину можно указать: Dim str As String*50 (строка размером в 50 символов) |
Variant | 16 байт | Любой | Если неизвестен тип переменной |
Type | | Пользовательский | |
В VB есть возможность не указывать тип переменной и вообще ее не объявлять. В этом случае вы не получите сообщение об ошибке. Почему это возможно? Если вы не сделали объявления, то память под переменную будут отводиться в момент первого нахождения программой неизвестного ей пока имени переменной, а тип в этом случае для создаваемой переменной будет определяться как Variant.
Сопоставив размеры переменной Variant и любой другой переменной конкретного типа, видим, что допускать такое определение типа по умолчанию крайне невыгодно в смысле использования памяти (слишком много ее тратится зря). И вообще, лучше приучать себя постоянно объявлять переменные невзирая на то, что язык допускает некоторое ваше разгильдяйство. А если будет учиться писать на других языках, где подобные вольности не допускаются? Уж лучше учитесь сразу как надо!
Чтобы точно заставить себя правильно объявлять переменные, можете запретить использование переменных без объявления. Для этого в окне кода поднимитесь в самый верх и самой первой строкой кода напишите Option Explicit.
О типе, определяемом пользователем речь будет позже.
2. Комментарии. Познакомимся с очень полезным средством, которое есть в любом языке программирования (только пишется по разному) -это комментарий. Комментарии нужны, чтобы объяснять некоторые места программы, назначение переменных, функций, кратко описывать что будет происходить, если программа почему-то не работает, можете записать в комментарии свои догадки- почему это происходит и потом использовать их при доработке. Комментарии помогают другим людям понимать ваш код и ориентироваться в программе. Комментарии не вызывают НИКАКИХ действий компьютера при работе программы, они пропускаются компилятором.
Как это пишется:
однострочный комментарий- строка начинается символом "'"-одинарная кавычка. Его можно ставить отдельной строкой, а можно продолжить им строку кода.
'это однострочный комментарий
3. Компонент Форма
Далее начнем потихоньку знакомиться с возможностями, свойствами и событиями отдельных компонентов. На сегодня это будут форма и кнопка.
Свойства формы:
Свойство | Характеристика | Значение |
Name | Имя компонента в программе | текст |
Caption | Надпись, которая будет видна на компоненте | текст |
Left | Расстояние от левого края экрана | число |
Top | Расстояние от верхнего края экрана | число |
Height | Высота формы | число |
Widht | Ширина формы | число |
MaxButton | Наличие кнопки свертывания | true-кнопка естьfalse- кнопки нет |
MinButton | Наличие кнопки развертывания | true-кнопка естьfalse- кнопки нет |
ControlBox | Наличие стандартных оконных кнопок | true- кнопки естьfalse- кнопок нет |
BorderStyle | Задает стиль обрамления формы | 0-none-нет рамки, заголовка, кнопок управления окном1-fixed Single- одинарная неизменяемая рамка. Есть заголовок и кнопка закрытия окна.2-Sizable- размеры формы можно изменять. Есть заголовок и кнопки управления окном.3-fixedDialog- двойная неизменяемая рамка. Есть заголовок и кнопка закрытия окна.4-fixed Tool Window- одинарная неизменяемая рамка. Есть заголовок и кнопка закрытия формы5-Sizable Tool Window- одинарная изменяемая рамка. Есть заголовок и кнопка закрытия формы |
BackColor | Цвет формы | Выбирается в палитре (Palette) |
ForeColor | Цвет текста | Выбирается |
Методы формы:
Show | Показывает другую форму |
Hide | Скрывает активную форму |
События формы:
Событие | Возникает |
Activate | При активизации формы ) появление ее на экране |
Deactivate | Когда форма становится неактивной (например, при активизации другой формы) |
Initialize | При создании формы |
Load | При загрузке формы в память |
Resize | При изменении размера формы |
Terminate | При удалении |
Unload | При выгрузке из памяти |
Click | При щелчке на форме |
Задание: - Создайте форму на которую поместите этикетку и кнопку.
- Создайте вторую форму на которую поместите только кнопку. При добавлении новой формы используйте кнопку панели инструментов "Добавить форму"
- Сделайте эти две формы сильно отличающимися по цвету (используйте свойство BackColor в окне свойств)
- При загрузке первой формы на этикетке должна появляться надпись. Например, "Привет". (Используйте событие формы Load. В нем должна находиться строка кода, которая присваивает свойству формы значение "Привет"). Запомните! При программном присвоении свойству или переменной текстовой строки, она ВСЕГДА берется в кавычки! Допустим первая форма будет называться frm1, а этикетка- lblText, тогда ваш код будет выглядеть так:
Private Sub frm1_Load
lblText.Caption="Привет"
End Sub
- При щелчке на форме на этикетке должна меняться надпись на "Ой! Кто это по мне щелкает!!!". Как это написать попробуйте подумать самостоятельно, по аналогии с предыдущим событием.
- При щелчке на кнопке (пусть кнопка называется cmdOpen2, тогда обрабатываемое событие будет cmdOpen2_Click) должна открываться вторая форма.
Private Sub cmdOpen2_Click
frm1.Hide 'эта строка скрывает текущую форму
frm2.Show 'эта- показывает новую форму
End Sub
- При щелчке на кнопке второй формы должна открыться форма1. То есть, действие обратное предыдущему. Написать самостоятельно.
Автор: Never