КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Переменные
Процедуры и операторы Процедура – это логически законченный блок программного кода. Процедуры могут принимать какие-либо входные значения и возвращать результат. Использование процедур сокращает объём программы, упрощает её структуру и делает легче отладку программы. Процедуры можно включать в состав других процедур. В VB существуют основные типы процедур: - Sub; - Function. Процедура типа Sub (стандартная) не возвращает значения и чаще всего применяется для обработки какого-либо события (event). Её можно помещать в стандартные модули, модули классов и форм. Она заканчивается оператором End Sub. Процедура типа Sub имеет основные параметры, указывающие её уровень доступности (или видимости): - Public – процедура общедоступна в проекте, в котором объявлена; - Private – процедура доступна только в том классе или модуле, в котором объявлена; - Friend – процедура доступна только внутри той сборки, в которой объявлена. Сборка – это комплекс объектов из классов, используемых в программе, т. е. Friend – это указание видимости в пределах программы. Процедура типа Function может возвращать значение в вызывающую процедуру. Возвращаемое значение чаще всего присваивается самому имени функции. В качестве уровня доступности функции могут быть также параметры Public, Private и Friend и др. Процедура типа Function объявляется оператором Function и заканчивается оператором End Function. Процедуры состоят из операторов – наименьших жизнеспособных единиц программного кода, которые занимают, как правило, одну строку кода. Операторы осуществляют действия над процедурами, переменными и константами. Переменная (variable) – это объём оперативной памяти, зарезервированный для временного хранения данных. Строго говоря, переменная (как контейнер для хранения данных) и хранящаяся в ней информация – это не одно и то же, и надо бы говорить: "информация, представляемая переменной", т. к. надо иметь в виду, что переменная может не только содержать данные, но и стать командой. Каждая переменная имеет собственное имя и, чтобы обратиться в программе к содержанию переменной, достаточно указать её имя. Правила выбора имен для переменных Для того чтобы сделать переменные простыми для понимания, следует давать им имена, имеющие определённое смысловое значение. При выборе имени переменной должны выполняться следующие правила: - имя переменной может содержать любые буквы, цифры и символ подчёркивания; - первый символ в имени переменной должен быть буквой или символом подчеркивания; - в имени переменной должны отсутствовать пробелы, знаки пунктуации и символы, используемые для математических операций и операций сравнения; - имя должно быть уникальным внутри области видимости переменной; - имя переменной не должно быть ключевым словом VB. Имена переменных "не чувствительны" к состоянию регистра, т. е. употребление прописных или строчных букв в имени переменной значения не имеет. Типы переменных Переменные могут хранить данные следующих типов:
Переменная типа Boolean принимаеттолько два значения: True или False. При переводе числовых значений в логические "0" становится False, а "1" – True. Когда логические значения переводятся в числовые, False становится "0", а True – "1". Начальное значение переменной типа Boolean присваивается (по умолчанию) - False. Для хранения двоичных чисел используется либо переменная, либо массив чисел типа Byte. Для хранения текстовых данных предназначены переменные типов Char и String. Первый из них хранит символ в кодировке Unicode, а второй – строку от 0 до 2 млрд. символов. Строка –последовательность символов, заключённая в кавычки. Значение даты заключается в знаки # (решётка) в формате # месяц /день/год #. Переменной типа Date присваивается начальное значение (по умолчанию) – 12:00 1 января 0001 года. Для хранения целых чисел со знаком служат переменные типа Sbyte, Short, Integer, Long, а для чисел без знака - переменные типа Byte, UShort, Uinteger, ULong. Переменные типа Decimal применяются в сложных вычислениях, когда недопустимо появление ошибок округления, которые могут возникнуть при обработке чисел с плавающей точкой. Преобразование чисел из одних типов данных в другие может быть неявным, в этом случае определённое значение присваивается переменной автоматически. В случае явного преобразования используется конвертирование с помощью методов класса System.Convert. Тип данных Object может хранить различные данные и изменять их тип во время выполнения программы. При разработке программ в зависимости от типа данных переменных можно использовать префиксы, что уменьшает вероятность появления синтаксических ошибок, а именно:
Объявление переменных (variable declaration) Самый простой способ создания переменной – это использование ее с оператором (=), который называется оператором присвоения. Сохранение значения данных в переменной называется присваиванием переменной. Например: MyVar = 25, т. е., в ячейку под именем MyVar заносится значение 25. Создание переменной присваивания ей значения без объявления называется неявным объявлением переменной (implicit variable declaration). Явное объявление переменной (explicit variable declaration) обеспечивается операторами объявления (ключевыми словами): Dim, Private, Static и Public, которые имеют следующий синтаксис. Dim имяПеременной [As типДанных] [= Значение] Private имяПеременной [As типДанных] [= Значение] Static имяПеременной [As типДанных] [= Значение] Public имяПеременной [As типДанных] [= Значение]
Как видно из синтаксиса, объявление и присвоение переменной значения может осуществляться в одной строке, но чаще эти операции разделяются. Наиболее часто для объявления переменных используется ключевое слово Dim (Dimension – размер), создающее пространство для хранения данных, на которое ссылается переменная. Явное объявление переменной имеет следующие преимущества: - ускоряется выполнение кода; - уменьшается количество ошибок в результате неправильного написания имени переменной; - код становится более читабельным и понятным; - можно нормализовать выделение имени переменной прописными буквами, при этом за основу всегда берется объявленное имя. По умолчанию компилятор VB устанавливает режим явного объявления переменных (Option Explicit On). Для того чтобы отменить этот режим, нужно в начале программного кода ввести оператор Option Explicit Off или выделить в окне Обозреватель решений соответствующий проект, выбрать в контекстном меню пункт Свойства, затем - вкладку Компиляция и установить для параметра компиляции Явное объявление переменных значение Off. Область видимости переменных Глобальные переменные объявляются внутри проекта (в классе) оператором Public. Это означает, что такая переменная имеет доступ в проекте без каких-либо ограничений. Такая переменная не может быть объявлена внутри процедуры. Переменная, объявленная с ключевым словом Private, доступна только в пределах контекста, в котором объявлена. Она может быть объявлена внутри модуля или класса, но не внутри процедуры. Переменная, имеющая видимость внутри модуля, создаётся в разделе объявлений модуля с объявлением, как правило, оператором Dim, а также и оператором Private. Если же переменная объявлена оператором Dim внутри процедуры, то она становится доступной только в пределах этой процедуры. Такая переменная называется локальной. Локальные переменные, т. е. переменные уровня процедуры, объявляются только операторами Dim или Static. Если переменная при объявлении указана как Static, то она сохраняет своё прежнее значение после завершения процедуры, в которой была объявлена. Она не может быть объявлена вне процедуры. Присваивая имена переменным с учётом области их действия, можно использовать для уменьшения ошибок префиксы:
При наличии в одной области видимости нескольких переменных с одним именем для вычислений используется переменная с большей степенью локализации, например: Public intA As Integer Module Module1 Dim intA As Integer Sub Main() Dim intA As Integer intA = 10 'используется локальная переменная из процедуры Sub Main End Sub End Module С помощью одного оператора можно через запятую объявлять несколько переменных, например: Private Успех As Boolean, Цена As Single Dim Фамилия, Имя, Отчество As String, Сумма As Double Указание типа данных (As типДанных) переменной не является обязательным, и, если тип данных не указан, то VB назначит переменной тип значения, которое ей присваивается. Если тип данных при объявлении переменной не указан, и переменной не присвоено какое-нибудь начальное значение, то ей назначается тип Object. Как правило, используется объявление переменных с указанием типа данных, что снижает вероятность синтаксических ошибок при программировании. При выполнении программы принципиальное значение имеет область видимости используемых переменных. Попытка применения переменной, которая не действует в данном месте программы, приводит к синтаксической ошибке. Присвоение значения (инициализация) переменной Присвоение значения переменной обеспечивается с помощью оператора присвоения (=), при этом аргумент (имя переменной) инициализируется: - конкретным значением; - другой переменной; - константой; - созданной функцией; - стандартной функцией VB; - комплексным выражением. Например: intСчетчик = 100 sngРезультат = sngRest + 346.24 strName = "Фирсов" & strКоманда Присвоение значений нескольким переменным может осуществляться также и в одной строке. В этом случае операторы присвоения разделяются двоеточием. Нулевые значения переменных Каждый раз, когда создается переменная, ей по умолчанию приписывается некоторое начальное значение означающее, что в переменной "ничего не хранится", при этом: - строки инициализируются строками нулевой длины (" "); - числа инициализируются нулевым значением (0); - даты – значением "30 декабря 1899 года". Это значение визуализируется как #12:00:00 AM#; - в случае логической переменной типа Boolean, при отсутствии у неё определённого значения для присвоения ей нулевого значения используется структура Nullable. Если переменная Boolean используется сразу же после объявления до присвоения ей какого-либо значения, то её нулевое значение обязательно должно записываться в программный код. При этом нулевое значение переменной Boolean образуется описываемой ниже структурой: Dim Дети As Nullable (Of Boolean) По умолчанию при объявлении переменной типа Boolean она принимает нулевое значение False. Чтобы определить, содержит ли переменная нулевое значение определённое, используется свойство HasValue (проверка наличия значения).
Например:
Dim Дети As Nullable(Of Boolean) 'Дети = True If Дети.HasValue Then MsgBox("Дети есть") MsgBox(Дети.HasValue) Else MsgBox("Детей нет") MsgBox(Дети.HasValue) End If
В случае нулевого значения будет генерироваться сообщение: "Детей нет" и False (т. е. свойство Дети.HasValue = False). Если переменной "Дети" уже было присвоено значение True (перед проверкой условия в программу был введен оператор: Дети = True), то при проверке нулевого значения будет высвечиваться сообщение: "Есть дети" и True (т. е. свойство Дети.HasValue = True). Примеры использования переменных Dim strПриветствие As String 'используется всеми процедурами модуля Sub ПриветМир() strПриветствие = "Привет, мир!" MsgBox (strПриветствие,, "Окно приветствия") End Sub Sub ПриветПётр() strПриветствие = "Привет, Пётр!" MsgBox (strПриветствие,, "Второе сообщение") End Sub
Объявление переменной strПриветствие в процедурах не обязательно, т. к. она объявлена в разделе объявлений модуля и является общей для всех процедур модуля. Но в каждой процедуре будет действовать своё, локальное значение переменной. После имени процедуры (в скобках) записываются необходимые аргументы, например, имя файла, к которому относится данная процедура. По умолчанию скобки присутствуют всегда. Например, в структуре оператора MsgBox, визуализирующего результат выполнения процедуры, используются три аргумента: - первый – содержание сообщения (переменная strПриветствие); - второй – указание вида окна сообщений MsgBox. Если этот аргумент опускается, т. е., между запятыми – пробел, то в окно (по умолчанию) встраивается только кнопка ОК; - третий – заголовок окна сообщения. Так как заголовок - это текст, то его заключают в кавычки.
Дата добавления: 2014-01-05; Просмотров: 771; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |