Рубрикатор
|
Описание переменныхВиды переменныхДля чего вообще придумали какое-то описание переменных вы задумывались? Не всё так просто как кажется. Переменная в определённой программе выполняет свою роль. Это сделано для того, что бы мы сразу могли указать программе каким образом необходимо "думать". Если у нас переменная содержит какую-то дату, то мы можем это описать, и наш компьютер не будет ломать свою "голову" и думать к какому типу отнести эту переменную и с чем её есть. Если наша переменная - некоторое число, то мы можем сразу указать нашей программе, что сейчас эта переменная некоторое число, а не дата. Многие наверно уже поняли, что от того как мы опишем переменную в нашей программе, будет зависеть скорость её выполнения. Если у нас переменные не описаны, то программа будет подбирать необходимое свойство для наших переменных вручную. А если мы укажем, что переменная известна (её тип), то программа сразу начнёт её выполнять. Теперь посмотрим как можно описать переменную, один из примеров показан ниже: Dim R As ByteDim - это оператор Где же описывают эти переменные? Желательно описать переменные в начале вашего кода (программы), т.е. так: Sub Programms() Dim Ghd As Byte Dim Ia As Long Dim Rd As Integer Dim Rx As Byte дальше идёт код вашей программы... Посмотрим какие есть переменные и какие значения возможно присвоить этим переменным.
Одним оператором Dim можно описать произвольное число переменных, но конструкция Аs должна быть указана для каждой из них, иначе переменным без Аs будет присвоен тип Variant. Dim A As Byte, B As Integer, C, D As String A - это переменная байтового типа После всего этого может возникнуть вопрос, а возможно ли объявить переменную в начале всего документа чтобы потом её не объявлять? Ответ - можно. Называется это глобальная переменная, которая объявляется в начале вашего модуля, и после этого идут наши процедуры. Записывается она следующим образом: Public A As ByteА в нашей программе это будет выглядеть так: Public A As Byte Public B As Integer Public C As Integer Sub Primer() Dim Ghd As Byte Dim Ia As Long Dim Rd As Integer Dim Rx As Byte .............. End sub Sub Primer1() Dim d As Byte Dim f As Long Dim g As Integer Dim k As Byte .............. End sub Это нас радует, потому что не надо теперь в каждой процедуре объявлять одну и ту же переменную. Но вот не задача, данные нашей переменной живут только пока выполняется наш макрос. Как только процедура заканчивается, наша переменная сбрасывается. Но и на это есть способ сохранить данные в переменной. Это называется статическая переменная. И описывается она следующим образом: Static A As ByteНо к сожалению объявлять её можно только на уровне процедуры. И в нашей программе это будет выглядеть так: Sub Primer() Dim A As Byte Dim B As Long Static C As Integer A = 1 B = 2 C = A + B + C End Sub Если запустить данный макрос, то C в первоначальный момент будет равно 0, после завершения процедуры переменная C будет равняться 3. Если запустиь данный макрос ещё раз, то начальное значение переменной C будет равно уже 3, а в конце процедуры 6. Если так и выполнять наш макрос, то значение C будет повышаться каждый раз на 3, так как A + B = 3. Возможно кто-то задумался, а можно ли сразу задать нашей переменной некоторое значение? И это можно, но только называется это уже не переменная, а константа, которая описывается так: Const ИМЯConst = ...или Const A As Integer = 2323 При этом описывать её как переменную не следует. Наш код будет выглядеть, например, так: Const AConst = 10 Sub Primer() Dim C As Long Dim B As Integer B = 2 C = AConst + B End Sub или Const A As Integer = 10 Sub Primer() Dim C As Long Dim B As Integer B = 2 C = AConst + B End Sub Существует ещё такой тип описания переменной: Private A As IntegerНо данное объявление переменной, видимо только в своём модуле. Private A As Byte Sub Primer() Dim B As Integer B = 2 A = A + B End Sub
|
Поиск
|
||||||||||||||||||||||||||||||||||||||