|
[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ] |
Переменные
В Visual Basic переменные хранят информацию (значения). При их использовании Visual Basic резервирует область в памяти компьютера для хранения данной информации. Имена переменных могут достигать 255 символов в длину, начинаются они с буквы, за которой могут следовать другие буквы, цифры или символы подчеркивания. Регистр символов и наименований переменной значения не имеет. Следующая таблица перечисляет некоторые возможные имена переменных и объясняет, подходят ли они по стандарту.
Все символы в имени переменной являются значимыми, но их регистр не имеет значения. BASE обозначает ту же переменную, что и base. С другой стороны, Base отличается от Base 1, и оба они - от Base_ I. Однако Visual Basic всегда изменяет первую букву переменной на заглавную при ее определении. Использование осмысленных имен помогает документировать текст программы и облегчает неизбежный процесс ее отладки. Выразительное имя переменной является прекрасным способом для объяснения смысла применения многих инструкций в коде программы. В качестве имен новых переменных нельзя использовать зарезервированные слова; например. Print не подходит для этого. Однако такие слова могут присутствовать как часть имени переменной, например, Printlt. Visual Basic будет выдавать сообщение об ошибке, если программист попытается использовать зарезервированное слово в качестве названия своей переменной, причем обычно сразу после нажатия клавиши ENTER. Одно из наиболее общих соглашений об именах переменных состоит в использовании заглавных букв в начале каждого из слов, составляющих данное имя (например, Printlt, а не Printit). Это соглашение носит название "имена переменных со смешанным регистром". Оно используется и в данной книге, поскольку большинство людей находят такие имена переменных более читабельными. Некоторые еще используют и символ подчеркивания (например, Print_It), но здесь данный стиль не используется, поскольку отнимает много места и иногда вызывает проблемы при отладке. Visual Basic работает с 14 стандартными типами переменных. Кроме того, программист может определить собственный тип данных. В данном разделе описаны те из них, которые в основном применяются при работе с данными. String
Integer
Long Integer
ALongIntegerVariableS = 123456789 Single Precision Идентификатором для данных чисел является символ "!". Данный тип переменной позволяет хранить дробные числа с точностью до семи цифр. Это означает, что если получается результат 12345678.97, то часть 8.97 не является точной. Результат может быть равен, к примеру, 12345670.01. Длина чисел может достигать 38 знаков. Вычисления с данными переменными тоже будут приблизительными. Более того, арифметические действия выполняются медленнее, чем с целочисленными переменными. Double Precision
Currency
Date
Byte
Boolean
Variant
В отличие от большинства версии
BASIC, в одной программе Visual Basic нельзя использовать имена переменных,
отличающиеся только типом (идентификатором), например, А% и А!. При попытке
использовать двойное имя возникает ошибка "двойное определение" (duplicate
difmition) при запуске программы.
Пример: обмен значениями
х = у
Такой вариант работать не будет, но важно разобраться из-за чего. Первый оператор присваивает переменной х значение переменной у, но тем самымуничтожает старое значение х.. В результате второй оператор присваивает переменной у ее же первоначальное значение. Решение состоит в использовании временной переменной: temp = х 'Копирует старое значение
х в temp
Объявление переменных: оператор Dim для различных типов данных Большинство людей предпочитают не пользоваться идентификаторами для обозначения типа переменной (тем более, что для таких типов, как дата/время, вообще не существует идентификаторов). Вместо этого они используют оператор Dim. Такая операция носит название объявления. Объявление типов переменных в процедурах обработки событий перед их использованием - и, естественно, с комментариями - является хорошим стилем в программировании. Это также помогает улучшить читабельность текстов программ. Private Sub cmdCalculate Click
Объявления переменных можно комбинировать в
одной строке, например:
Предупреждение: Общей ошибкой является использование следующего выражения: Dim X, Y, Z As Integer в предположении, что все три переменные будут
целого типа. Фактически в данном случае переменные Х и Y будут объявлены
как variant, и только Z - как integer. Чтобы избежать этого, необходимо
каждый раз использовать идентификатор типа.
Если переменная объявлена при
помощи оператора Dim, в случае использования переменной с тем же именем
и другим идентификатором типа произойдет ошибка "двойное определение" при
запуске программы. Например, если следующее выражение Dim Count As Integer
объявляет переменную Count, то нельзя использовать переменные CountS, Count!,
Count# и Count@. Можно использовать только имя Count%, но это всего лишь
другая форма для имени переменной Count.
Dim Foo 'объявляет Foo переменной типа variant Можно написать и так: Dim Foo As Variant ' проще для прочтения
Примечание: Некоторые программисты используют соглашение о наименованиях, по которому перед именем переменной указывается префикс с ее типом строчными буквами, например, sngInterestRate или intCount. Необходимость объявления переменных Одной из наиболее общих ошибок
в программах является использование необъявленных переменных. Проблема
состоит в том, что Visual Basic позволяет создавать переменные "на лету",
как только они первый раз встречаются в программе. Если перепутать имя
переменной. Visual Basic создаст новую с похожим именем и присвоит ей значение
по умолчанию, что тут же приведет к ошибкам. Эту ошибку трудно обнаружить,
поскольку имена переменных очень похожи.
Примечание: Любая информация, которая должна быть доступна всем процедурам обработки событий, относящихся к форме, размещается в разделе (General) данной формы. Для того чтобы поместить Option
Explicit в раздел (General), необходимо:
Примечание: Часто использовать объявления на уровне формы в разделе (General) понадобится, когда читатель будет экспериментировать с примерами программ из справочной системы. (Для копирования примера программы
из справочной системы можно использовать кнопку Copy в окне Code для примера.
Затем можно использовать пункт Paste из меню Edit для вставки примера в
окно Code.). После того как Visual Basic встречает команду Option Explicit,
он более не позволяет использовать необъявленные переменные. Если попробовать
все же применить такую переменную, будет выдано сообщение об ошибке, как
показано ниже.
Совет: Чтобы использовать обязательное объявление типа переменной, можно воспользоваться страницей Editor диалоговой панели Tools|0ptions. Автор (и, по его сведениям, все серьезные программисты) всегда устанавливает данный флажок. После этого оператор Option Explicit автоматически вставляется в те места кода, где это необходимо. Изменение значений по умолчанию для типов Следующее выражение автоматически присваивает переменным I, J и К тип variant: Dim I, J, К Предположим, в новой программе
почти все переменные должны быть целочисленными. В таком случае удобно
организовать их объявление так, чтобы переменная, для которой не указан
тип, больше не объявлялась как variant. Для этого используется оператор
DefType. В следующей таблице приведено несколько примеров его использования:
В частности, можно установить соглашение, что все переменные, начинающиеся с I, будут целочисленными, с помощью Deflnt I. После этого оператор Dim I... будет объявлять переменные типа integer. Основные формы различных операторов DefType, необходимых в данной главе: Deflnt
диапазон букв (для integer)
Буквы не обязательно должны быть заглавными: DefStr s-Z и DefStr S-Z работают одинаково. Соглашения о типах можно всегда изменить, используя идентификатор или оператор Dim для конкретной переменной. Оператор DefType размещают в том же разделе (General), что и Option Explicit. Программисты применяют термин
область видимости, когда хотят сказать о возможности использования переменной
из одной части программы в другой ее части. В старых языках программирования
все переменные были доступны во всех частях программы, поэтому сохранение
целостности наименований представляло большую проблему. Например, если
в приложении использовались две переменные Total, то их значения уничтожали
друг друга.
|
|
|
|
>>>Если у вас есть статья которой нет на сайте
пришлите ее мне--------> Послать статью >>>Если вы хотите задать вопрос пишите--------> Мне нужна помощь |
|
|
|