|
[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ] |
Урок № 9. Из чего состоит код?Итак, мы научились проектировать интерфейс программы. Но для полноценной программы этого не достаточно. Нужно написать код программы, который будет манипулировать элементами управления и производить какие-то вычисления. Это самый сложный этап. Во всех языках высокого уровня программный код состоит из:
Опишем каждый тип подробнее: Переменные. В Visual Basic переменые хранят информацию (значения). При их использовании
Visual Basic резервирует область в памяти компьютера для хранения данной
информации. Каждая переменная имеет своё имя. Оно может достигать 255
символов в длину, начинается всегда с буквы латинского алфавита, за которой
могут следовать другие буквы, цифры и знак подчёркивания. Регистр символов
значения не имеет. Приведём несколько примеров имён переменных:
Постарайтесь чтобы именование переменных согласно такой схеме у вас вошло в привычку. Я советую, но не настаиваю. Не нравится - пожалуйста, нызывайте как вам угодно, вот только так вы никогда не станете профессиональным программистом. Каждая переменная имеет определённый тип. Всего в VB 14 типов переменных. Кроме того, программист может определить и свой тип. Перечислим основные типы переменных VB: Byte - предназначен для хранения целых чисел от 0 до 255. Если переменной такого типа присвоить значение, выходящее за эти пределы, то Visual Basic сгенерирует ошибку. Integer - предназначен для хранения целых чисел в диапазоне Long - предназначен для хранения целых чисел в диапазоне String - предназначен для хранения строковой (символьной) информации, т.е. попросту говоря - текста. Может хранить до 2 Гб. текста. Символ для обозначения - "$". Single - предназначен для хранения дробных чисел, с точностью до 7 цифр. Диапазон отрицательных значений от -3.402823Е38 до -1.401298Е-45. Диапазон положительных значений от 1.401298Е-45 до 3.402823Е38. Длина числа может достигать 38 знаков. Занимает 4 байта памяти. Вычисления с данными переменными будут приблизительными и менее быстрыми, чем с переменными целого типа. Символ для обозначения - "!". Double - предназначен для хранения дробных чисел, с точностью
до 16 цифр. Диапазон отрицательных значений Currency - Данный тип создан для того, чтобы избежать ошибок при преобразовании чисел из десятичной формы в двоичную и наоборот (Невозможно представить 1/10 как сумму 1/2, 1/4 и т.д). Данный тип может иметь до 4 цифр после запятой, и до 14 перед ней. Внутри данного диапазона вычисления будут точными. Вычисления выполняются так же медленно, как и в случае переменных Single и Double. Данный тип очень подходит для финансовых расчётов. Символ для обозначения - "@". Date - Этот тип данных позволяет хранить значения времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Если переменной присвается только значение даты, то время равняется 00:00. Boolean - очень важный и распространённый тип данных. Позволяет хранить так называемые булевы значения, т.е. только два значения - True и False. (По русски Правда и Ложь). Используется тогда, когда вам нужно хранить только значение Да или Нет. Variant - Переменная типа Variant может содержать данные любого типа. Visual Basic автоматически производит необходимые преобразования данных, поэтому не стоит беспокоится об этом. Использование такого типа данных замедляет работу программы, т.е. требуется время и ресурсы для преобразования типов. Поэтому рекомендую всегда воздерживаться от применения этого типа данных, за исключением специфических случаев, например, возвращение функцией массива возможно только при использовании типа Variant. В Visual Basic переменные объявляются с помощью оператора Dim, после которого следует As и Имя_Типа переменной. Например: Dim
a As Long Если не указывать As Имя_Типа, то переменная будет объявлена как Variant. После объявления переменной ей присваивается значение по умолчанию. Для стоки это - "" (пустая строка). Для чисел - 0. Для Boolean - False. Переменная может быть использована сразу после объявления. Переменные можно объявлять и в одной строчке, разделяя объявления запятыми: Dim a As Long, Dim b As Integer Здесь очень важно заметить следующую особенность. Логично было бы объявить 3 переменные типа Long следующим образом: Dim a, b, c As Long Такая привычка могла перейти, например, из языка C. Там все переменные действительно имели бы тот тип, который указан после последней переменной. Но не в Visual Basic! В результате такого объявления VB объявит 3 переменные, первая и вторая будут иметь тип Variant, и только третья - Long! Запомните это! А вообще, лучше объявлять каждую переменную в отдельной строчке. И, если необходимо, то логически отделить эти объявления можно просто вставив пустую строку между теми объявлениями, которые вы хотите отделить логически. Например, так: Dim
a As Long Dim
myString1 As String Такие логические пробелы между строчками необходимы для избавления кода от его монотонности. Присвоить значение переменной можно при помощи знака равно "=". Например: a =
1234567 В данном примере переменным присваивались константы. Но часто бывает необходимо присвоить одной переменной значение другой. Это делается следующим образом: a =
b a =
b + c isLoaded
= a Выше, при описании типов переменных я указывал символ для обозначения. Этот символ можно (а иногда и нужно) использовать для объявления переменной, но без использования зарезервированных слов As Тип. Т.е. к примеру: Dim
myLongParam& Здесь объявлены 2 переменные, первая имеет тип Long, вторая - String. Также можно употребрять эти спец. символы для явного указания типа константам, например: Call MyProc (myParam1, myParam2, 5&) Здесь, при вызове процедуры MyProc, последний параметр имеет тип Long.
Если бы мы не указали значок &, то он (параметр) имел бы тип Byte.
Это необходимо при использовании API функций. Выше я уже отмечал, что Visual Basic часто, незаметно для разработчика, занимается преобразованием типов переменных на лету. К примеру, мы рассматривали такой пример: myString = a Переменная a имеет тип Long, а myString - String. Visual Basic сам преобразует переменную a в тип String, а затем присвоит значение переменной MyString. Это необходимо знать. Также, Visual Basic предоставляет в ваше распоряжение несколько функций преобразования типов: CLng, CBool, CDate, CStr и т.д. Каждая функция преобразует выражение к соответствующему типу. Рассмотрим распространённую ошибку программиста на VB. Пусть у нас есть код типа: Dim
a As Byte Казалось бы, что если запустить такой код на выполнение, то в переменной c будет находиться значение 400 (200 + 200). Но не тут-то было :(. Visual Basic на строке c = a + b сгенерирует ошибку Overflow (Переполнение). Дело в том, что в выражении справа от знака равно складываются 2 переменные типа Byte, и Visual Basic решает, что после вычисления этого выражения, должен остаться тот же тип - Byte. Но если вспомнить то, что тип Byte может хранить значения в диапазоне 0-255, можно понять почему VB генерирует Overflow (Переполнение). 400 далеко выходит за диапазон Byte... Здесь может возникнуть вопрос: "А как же быть? Объявлять переменные a и b типом Long?". Можно поступить и так. А можно воспользоваться функций преобразования типа CLng. Тогда работоспособный код будет выглядеть следующим образом: Dim
a As Byte Немного о константах: В Visual Basic можно объявлять не только переменные, но и константы. Константа как и переменная, тоже хранит некоторое значение, но в отличие от переменной хранимое значение не может изменяться. Чтобы объявить константу необходимо использовать зарезервированное слово Const, за которым следует имя и значение (и возможно тип) константы: Const PI = 3.1415 Здесь объявлена константа c именем pi и значением 3.1415. После объявления она может быть использована по назначению. Можно отметить следующую особенность VB: для констант с плавающей точкой тип по умолчанию - Double, для целых чисел - Integer. (Это легко можно проверить встроенной функций VB - VarType). Для того, чтобы явно задать тип константы, необходимо после имени задать тип, к примеру Const PI As Long = 3 ' PI = 3, PI имеет тип Long В Visual Basic существует очень много встроенных констант, которые с легкостью могут быть использованы в ваших программах. Например, константа vbNewLine - содержит 2 символа, с ASCII кодами 13 и 10, т.е. переход на новую строку. Список констант можно посмотреть в Object Browser'е. Для его вызова необходимо нажать F2, находясь в среде Visual Basic. "Видимость" переменных: Объявлять переменные можно в самых разных местах:
Период существования переменных: Период существования переменной означает, как долго переменная является доступной. Переменные, объявленные в процедуре (или функции) будут "живы" только пока выполняется эта процедура (или функция). При выходе из процедуры - переменная удаляется. При очередном вызове этой процедуры - переменная заново инициализируется. Кстати, к словам Private, Public и Dim, в процедурах и функциях можно использовать зарезервированное слово Static. Такая переменная при повторном вызове этой процедуры не будет заново инициализироваться. Она будет сохранять то значение, которое было в ней после предыдущего вызова. (такие переменные очень удобно использовать в обработке события Timer'а). Например: Static myStat As String ' Private Static переменная Переменные уровня формы будут "живы" только пока "жива" форма. Как только объектная переменная формы будет установлена в Nothing (или после выполнения оператора Unload), все переменные уровня этой формы удаляются. Переменные уровня модуля "живы", пока "живёт" ваше приложение. Т.е. "живы" всегда. Некоторые замечания: Перед использованием переменной, её обязательно нужно объявить. Это избавит вас от лишних ошибок. Переменным нужно давать осмысленные имена. Т.е. старайтесь не использовать имена типа a1,a2,a3,ab,ccc и т.п. Поверьте, рано или поздно вы запутаетесь в своей же программе! Лучше всего переменным давать английский эквивалент того, что хранит данная переменная. Например, для хранения некоторой суммы денег, переменная может быть названа как cashMoney. Если у вас английским не очень, то можете использовать транслит, т.е. переменную назвать, например как summaDeneg. Ну и т.п. Кириллицу в имени переменной использовать нельзя. Переходим к следующему уроку. |
|
|
|
>>>Если у вас есть статья которой нет на сайте
пришлите ее мне--------> Послать статью >>>Если вы хотите задать вопрос пишите--------> Мне нужна помощь |
|
|
|