Тип, имя и значение переменной в Visual Basic
Разработка программного кода
Переменные предназначены для хранения и обработки данных. Переменные задаются именами, определяющими области памяти, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов.
Используемые символы.
Прописные и строчные буквы латинского и русского алфавитов;
Цифры от 0 до 9;
Знаки: . , ; ‘(апостроф) “ ( )
Символ пробела
Знаки арифметических операций: + - * / ^ < > = <=(меньше или равно) >= <>(не равно)
Знаки: @ (коммерческое “эт”, # (диез), $ (знак доллара), %, &(амперсанд или коммерческое “и”), \ (косая черта), _ (подчеркивание), ! , ?
Представление чисел.
Числа в VB представляют собой последовательность цифр со знаком + или -, например: +7, -18, 32. Если в числе имеется дробная часть, то она отделяется от целой части точкой. При этом, если целая часть равна нулю, то ее можно опустить, например: 0.5, -5.68, -.12. описанная форма записи чисел носит название основной.
Кроме основной, возможна запись чисел в экспоненциальной форме (в форме с порядком), например: число 0.0095 можно записать 9.5E-4 , число 52000000 можно записать 52E+6 или 52E6. Латинская буква E называется порядком, перед которым обязательно должно следовать число в основной форме.
Типы переменных.
Перед тем, как использовать переменную, ее необходимо описать при помощи оператора следующего вида:
Dim переменная [As тип]
Dim – ключевое слово, свидетельствующее о том, что объявляется переменная
переменная – имя переменной, которая объявляется
As – служебное слово, используемое при обозначении типа данных для объявляемой переменной
тип – тип данных для указанной переменной
В одном операторе можно одновременно описать несколько переменных, указывая каждую последующую через запятую.
В языках программирования ключевыми (служебными) словами называются такие слова, которые используются только для описания операторов и не могут использоваться программистом в качестве имен переменных. Среда программирования VB6 настроена таким образом, что при написании текста программы в окне кода все используемые ключевые слова по умолчанию будут обозначаться синим цветом, в то время как весь остальной текст изображается черным. Таким образом, программист может легко определить являются ли слова, которые он планирует использовать, например, в качестве имен переменных, ключевыми словами VB6 или нет.
В VB6 каждый оператор пишется в отдельной строке. Количество пробелов и знаков табуляции между частями оператора не имеет значения. Справа от любого оператора можно записывать комментарии для него, поясняющие оператор. Перед началом комментария ставится апостроф ‘. В записи оператора строчные и прописные буквы равноценны, поэтому для повышения читаемости текста программы служебные слова обычно начинаются с прописной буквы, например: Dim n
Чтобы расположить несколько операторов в одной строке, между ними ставится символ : Например: a = 1: b = 3
В случае необходимости расположения одного оператора на нескольких строках следует в конце каждой строки ставить символ подчеркивания, отделяя его пробелом от последнего символа строки. Например:
If x<0 _
And y<0 _
And z<0 Then p=x+y+z
Когда программист выбирает имя для своей переменной, он имеет широкие возможности, например, переменную, которая будет использоваться в качестве счетчика циклов, можно назвать стандартным именем i, но это имя не несет никакой смысловой нагрузки. С другой стороны, можно назвать переменную длинным составным именем, например NumberOfSelectedElements (количество выбранных элементов), которое будет достаточно информированным, но на написание такого имени в различных местах программы будет уходить много времени, поэтому не следует давать переменным длинные имена.
Ограничения на имена переменных:
- имя должно начинаться только с латинской буквы;
- в имени не должно быть точек;
- необходимо соблюдать уникальность имен в рамках одной процедуры;
- количество символов в имени не должно быть более 255.
Зачастую для повышения информативности используемых переменных программисты используют в именах так называемые префиксы, которые определяют принадлежность данных к определенному типу.
Префиксы типов данных в имени переменных
Префикс | Тип переменной | Пример |
bln | Boolean (булевский) | blnCheckOn |
byt | Byte (байт) | bytCounter |
cur | Currency (денежный) | curMoney |
dbl | Double (число с плавающей десятичной точкой двойной точности) | dblExperience |
dtm | Date (дата и время) | dtmToday |
int | Integer (целое) | intNumber |
lng | Long (длинное целое) | lngResult |
obj | Object (объект) | objMainForm |
str | String (строка) | strAnswer |
sng | Single (число с плавающей десятичной точкой одинарной точности) | sngResearch |
vnt | Variant (произвольный) | vntAnything |
arr | Array (массив) | arrCoord |
g | Глобальная переменная | gMainCount |
m | Локальная переменная в форме | mFormNum |
Если переменную в программе заранее не определить, то компилятор автоматически, встретив ее первый раз, выделит ей место в памяти, однако в этом случае будет очень трудно находить ошибки.
Используемые в VB типы данных и их описание
Тип | Содержимое | Память, байт | Диапазон возможных значений |
Integer | Целые числа | [-215 ; 215-1] | |
Long | Целые числа | [-231 ; 231-1] | |
Single | Вещественные числа одинарной точности | [-2128 ; -2149] и [2-149; 2128-1] | |
Double | Вещественные числа двойной точности | [-21024 ; -2-1074-1] и [2-1074 ; 21024-1] | |
Currency | Вещественные числа (целая часть до 15 цифр, дробная до 4) | [-215;215-1] | |
String | Текст | 1 для каждого символа | До 216 символов для строк фикс. длины до 231 символов для динам. строк |
Byte | Целые числа | [0 ; 28-1] | |
Boolean | Логические значения | [True ; False] | |
Date | Дата и время | [1.01.100 ; 31.12.9999] | |
Object | Объект | Ссылка на объект | |
Variant | любая | 16+(1 для каждого символа) | Диапазон не определен |
Рассмотренный способ объявления переменных называется явным. Для объявления переменных используются и другие ключевые слова: Private, Static, Public, которые влияют на видимость объявляемой переменной (область программы, в которой ее можно использовать)
Private переменная [As тип]
Static переменная [As тип]
Public переменная [As тип]
Переменная может использоваться только в конкретной процедуре, во всех процедурах определенной формы или в любой процедуре данной программы.
Когда переменная объявляется ключевым словом Dim, областью ее использования будет только та процедура, в которой она описана. Такие переменные называются локальными (закрытыми). После выполнения данной процедуры они будут потеряны, их удобно использовать в качестве счетчиков в разных процедурах.
Когда переменная объявляется ключевым словом Static, она также будет локальной, но после очередного выполнения процедуры ее последнее значение не будет утеряно.
Если нужно, чтобы значение переменной было доступно в нескольких процедурах одного модуля, то необходимо использовать оператор Private, причем объявление переменной необходимо осуществить в разделе Declarations текущего модуля.
Когда необходима переменная, которая будет доступна всем модулям приложения, ее следует объявить как Public, такие переменные называются глобальными (открытыми), они также должны описываться в разделе Declarations текущего модуля.
Использование констан.
При описании в программе какой-нибудь константы ей присваивается определенное значение, которое в дальнейшем не может быть изменено другими операторами. Существует две разновидности констант: встроенные и пользовательские. Встроенные константы VB предназначены для хранения самой разнообразной информации: коды “горячих” клавиш, цвета и т.д., они имеют префикс vb, например: vbWhite. В окне Object Browser ( F2) можно найти всю информацию о встроенных константах. Часто возникает необходимость описать в программе собственные (пользовательские) константы. Для этого используется оператор:
Const константа [As тип] = значение
Const – ключевое слово, объявляющее константу
As - ключевое слово для объявления типа данных
Константа - имя описываемой константы
Тип - тип данных для константы
Значение - присваиваемое константе значение указанного типа
Например: Const intMin=0, intMax=1000
Типы данных Object и Variant
В том случае, когда необходимо работать с различными объектами, удобно использовать тип Object(объектный). Переменная этого типа содержит ссылку на объект и представляет собой 4-байтный адрес соответствующей области памяти. Присвоение объектной переменной какого либо значения выполняется при помощи оператора Set.
Если в процессе работы программы переменная должна содержать значения различных типов, то следует использовать для ее описания тип Variant ( произвольный). При этом во время выполнения различных операций нет необходимости следить за тем, значение какого типа в данный момент в ней находится, так как необходимые преобразования осуществляются автоматически. Например:
Dim vntAny ‘ тип Variant
vntAny = “144” ‘строка “144”
vntAny = vntAny/12 ‘ число 12
Арифметические выражения
Выражения могут содержать в себе числа, функции, которые соединены между собой знаками арифметических операций.
Примеры арифметических выражений:
Математическая запись | Запись на Visual Basic |
x+7 | X+7 |
5x+12y | 5*x+12*y |
x/y | |
y^x |
Кроме обычных операций в языке VB можно также выполнить целочисленное деление (\) и определить остаток от деления с помощью оператора Mod.
Например:
Dim m, n, x
m = 5
n = 2
x = m / n ‘x=2,5
x = m \ n ‘x=2
x = m Mod n ‘x=1
При наличии в выражении нескольких арифметических операций подряд их выполнения определяется правилами приоритета.
Возведение в степень (^)
Умножение и деление – обычное и целочисленное (* / \)
Остаток от делении (оператор Mod)
Сложение и вычитание ( + -)
Операции с одинаковым приоритетом выполняются в соответствии с порядком их записи в операторе слева направо. Если в выражении какие-либо операторы заключены в скобки, то независимо от приоритета они выполняются в первую очередь.
Например: математическое выражение запишется на языке Vb следующим образом: z=x^3+18*x-15/(y+9)