![]() |
Строковые переменныеDate: 2015-10-07; view: 369. Строковые переменные очень важны. Без них, например, невозможен разговор с компьютером. Да и вообще, значительная часть информации, с которой работает компьютер, текстовая (то есть строковая). Создайте двухкнопочный проект с такой программой: Dim a As Integer Dim b As String _____________________________ Private Sub Command1_Click() a = 98 Debug.Print a End Sub _____________________________ Private Sub Command2_Click() b = "Привет всем!" Debug.Print b End Sub
Сравним две процедуры. Объявление Dim a As Integer говорит о том, что переменная a обязана иметь числовое значение, и поэтому в первой процедуре оператор a=98 записывает в ячейку a число 98. Объявление Dim b As String говорит о том, что переменная b обязана иметь строковое (текстовое) значение, то есть ее значением будет не число, а произвольная цепочка символов, например, Привет всем! или рпН2Н(*fD6:u . Поэтому во второй процедуре оператор b ="Привет всем!" записывает в ячейку b строкуПривет всем! . Оператор Debug.Print b, поскольку он обязан всегда выводить на экран содержимое ячейки b, выведет на экран текст Привет всем! Обратите внимание, что в программе текст должен браться в двойные кавычки, а в памяти он хранится без кавычек и на экран выводится без кавычек. Информация в ячейке памяти под строковую переменную может в процессе выполнения программы меняться точно так же, как и в ячейке для числовой переменной. Например, при выполнении фрагмента a="Минуточку!" : Debug.Print a : a="Здравствуйте!" : a="До свидания!" : Debug.Print a в ячейке a будут по очереди появляться строки Минуточку! Здравствуйте! До свидания! а на экран будут выведены строки: Минуточку! До свидания! Еще пример: a="Цикл" : Debug.Print a : a=a+a : Debug.Print a+a+a +"Конец цикла" Поскольку знак + по отношению к строкам есть знак соединения, то a+a будет равняться "ЦиклЦикл" и это же - новое значение a. Поэтому здесь на экран будут выведены строки: Цикл ЦиклЦиклЦиклЦиклЦиклЦиклКонец цикла Выражения a+a и a+a+a +"Конец цикла" в последнем примере являются ни чем иным, как строковыми выражениями, по той простой причине, что в них производятся действия, результатом которых является строка. Строковую переменную можно задавать не только оператором присваивания, но и функцией InputBox. При вводе ставить кавычки тоже не надо. Пример: Dim a As String Private Sub Command1_Click() a = InputBox("Введите какое-нибудь слово") Debug.Print "Вы ввели слово "; a End Sub Обратите внимание на пробел перед второй кавычкой в операторе Debug.Print. Он нужен для того, чтобы слова при выводе не сливались. Прежде, чем идти дальше, нужно, конечно, разобраться с хитросплетениями запятых, точек с запятыми, кавычек и пробелов в операторе Print:
|