Книга Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник - читать онлайн бесплатно, автор Евгений Матвеев. Cтраница 6
bannerbanner
Вы не авторизовались
Войти
Зарегистрироваться
Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник
Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник
Добавить В библиотекуАвторизуйтесь, чтобы добавить
Оценить:

Рейтинг: 0

Добавить отзывДобавить цитату

Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник

End Sub


В данной процедуре, кроме обычных операторов и инструкций языка Visual Basic были использованы комментарии, представляющие собой текст, поясняющий код программы.

Чтобы Visual Basic не воспринимал комментарии в качестве неверного кода, перед ними ставится символ «» или инструкция Rem. Когда Visual Basic встречает признак комментария, он игнорирует остальные символы до конца текущей строки.



Теперь в коде любой другой процедуры данной формы можно осуществлять вызов процедуры Trill с аргументом – количеством гудков:


Trill 10


Чтобы процедуру можно было вызывать извне текущего программного модуля, при ее вызове требуется дополнительно указать имя формы или модуля, где она была определена. Например, если процедура Trill находится в форме Проба, то она вызывается аналогично методу данной формы:


Проба.Trill 10


Проиллюстрируем режим сохранения значения внутренних переменных между вызовами процедуры, благодаря использованию ключевого слова Static (Постоянный). Можно привести пример такой процедуры, которая выполняет какие-то действия только ограниченное число раз:


Public Static Sub Proc1 () ‘ процедура Proc1 без аргументов

Dim CallCount As Integer ‘ объявляем целую переменную

If CallCount> = 5 Then Exit Sub ‘ если CallCount> =5 – выход

CallCount = CallCount +1 ‘ увеличиваем переменную на 1


…далее выполняется что-то полезное…


End Sub ‘ завершение процедуры


Эта процедура подсчитывает количество своих вызовов, сохраняя его в переменной CallCount. Процедура Proc1 выполняет какие-то полезные действия только в течение первых 5-ти вызовов, а следующие работают «вхолостую».

Данный пример иллюстрирует тот факт, что значение переменной CallCount хранится в памяти компьютера между вызовами процедуры.

6.3. Процедура Function (Функция)

Объявление процедуры Function (Функция) по своему синтаксису подобно Sub (Подпрограмма). Отличия обусловлены тем, что функция возвращает значение:


[{Private|Public}] [Static] Function имя [(аргументы)] [As тип]

[инструкции]

имя = выражение

[Exit Function]

[инструкции]

End Function


После ключевого слова As (Как) может быть указан тип данных, возвращаемых функцией. Внутри тела процедуры Function (Функция) обязательно должен встретиться оператор, который присваивает значение имени функции, например:


Private Function GetValue ()

[инструкции]

GetValue = 3

[инструкции]

End Function


В языке Visual Basic определено большое количество встроенных функций, которые могут вызываться, но их внутреннее содержимое скрыто от программиста. Чтобы получить возвращаемое значение функции, указывают ее имя.

В данном примере производится преобразование числа в текстовую строку с помощью функции Str и запись ее в переменную strTemp:


Dim strTemp As String

strTemp = Str (-19.436)


Если возвращаемое значение не требуется, можно вызвать функцию так же, как и процедуру Sub. Следует опустить скобки и указать список аргументов. Например, следующая строка выводит сообщение с текущей датой и временем:


MsgBox Now ()


Здесь используются сразу две встроенные функции языка Visual Basic. MsgBox не возвращает никакого значения, а только выводит окно сообщения. Функция Now используется в качестве аргумента, возвращая дату и время.

6.4. Особенности передачи аргументов

При вызове процедур типа Sub (Подпрограмма) или Function (Функция) возможно использование двух способов передачи фактических значений аргументов:

• по ссылке (ByRef),

• по значению (ByVal).

По умолчанию параметры передаются в виде ссылок, что дает возможность процедурам изменять их значения. Если необходимо предотвратить возможные изменения аргументов процедуры, следует осуществлять их передачу по значению, для чего при объявлении процедуры перед аргументом использовать ключевое слово ByVal, например:


Sub Proc2 (ByVal Arg1)


End Sub


Кроме параметров, которые должны быть непременно указаны при вызове процедуры, встречаются и необязательные параметры. Для их обозначения при объявлении применяется ключевое слово Optional (Необязательный):


Sub Proc3 (Arg1, Optional Arg2)


End Sub


При вызове процедуры с аргументом Optional (Необязательный) можно как указывать, так и не указывать необязательный аргумент. Если аргумент не указан, то для него используется имеющееся значение по умолчанию. Если по умолчанию значение не присвоено, аргумент обрабатывается так же, как любая другая переменная соответствующего типа.

В данном случае, правильными будут оба варианта записи вызова этой процедуры:


Proc3 10, 15

Proc3 10


Обычный синтаксис вызова процедур предусматривает позиционную передачу аргументов, то есть в порядке их следования в описании процедуры. Также, возможен вызов процедур с именованными аргументами, которые могут передаваться в любом порядке.

Каждый именованный аргумент состоит из имени, за которым следует двоеточие со знаком равенства (:=) и значение аргумента.

Например, следующие три вызова процедуры Proc3 абсолютно равноценны между собой:


Proc3 10, 15

Proc3 Arg1:=10, Arg2:=15

Proc3 Arg2:=15, Arg1:=10


Первый вызов процедуры Proc3 осуществляется с применением обычных неименованных аргументов. Вторая и третья строка показывает пример использования именованных аргументов Arg1 и Arg2.


Глава 7. Типы данных, переменные и константы

В этой главе вы научитесь:

• использовать константы, переменные и массивы,

• выбирать для них нужные типы данных,

• преобразовать один тип данных в другой.

7.1. Простые типы данных

Константы, переменные или свойства объектов в языке программирования Visual Basic, могут содержать информацию различного формата, например, число, текстовую строку и другие.

Тип данных (Data Type) определяет стандартный способ представления данных в памяти компьютера, включая их формат и количество ячеек памяти в байтах (Bytes), которые потребуются для хранения информации. Типы данных используются для объявления констант, переменных и массивов. Также, свойства объектов и значение любого выражения имеют какой-то определенный тип.

Простые типы данных, которые могут применяться в программах на языке Visual Basic без всякого дополнительного объявления, перечислены в таблице (Рис.7.1).


Рис.7.1. Простые типы данных Visual Basic


Boolean (Логический) является самым простым из вышеперечисленных типов данных. Он может иметь только одно из двух возможных значений:

• True (Истина) – любое число, кроме нуля,

• False (Ложь) – ноль.

Типы Byte (Байт), Integer (Целый) и Long (Длинный целый) может содержать любое целое число в допустимом диапазоне.

Для чисел с плавающей точкой используются типы Single (Одинарной точности), Double (Двойной точности), Currency (Денежный) и Decimal (Десятичный). Разделителем целой и дробной части всегда является точка, независимо от национальных настроек Windows. Тип данных Decimal (Десятичный) не используется отдельно, а только в составе типа Variant (Варьируемый).

Дата и время по отдельности или их комбинация может содержаться в типе данных Date (Дата).

Два типа String (Строковый), предназначены для строк символов переменной или фиксированной длины.

Тип данных Object (Объектный) содержит не сам объект, а лишь указатель на его местоположение в оперативной памяти компьютера.

Самым универсальным типом данных является Variant (Варьируемый), который может содержать значение любого из описанных ранее типов. Однако у него есть и свои недостатки: данные этого типа медленнее всего обрабатываются Visual Basic и возрастает вероятность неправильного использования типов данных в процессе работы приложения.



Важнейшими характеристиками числовых типов данных служат диапазон значений (Range) и точность (Precision). Диапазон значений определяет, сможет ли нужное число уместиться в пределах данного типа, может быть в округленном виде. Точность указывает, какое именно количество десятичных знаков числа будут сохранены без округления.

Например, для сохранения всех разрядов числа 123 456 789 лучше всего подойдут типы данных Long (Длинный целый) и Double (Двойной точности). Если же использовать тип Single (Одинарной точности), нижние 2 разряда числа будут округлены и в результате получится 1,234568E+08 или, другими словами, получится 123 456 800 вместо 123 456 789:


Dim Dig1 As Single ‘ объявляем переменную Dig1 типа Single

Dig1 = 123456789 ‘ записывает туда число 123 456 789

MsgBox Dig1 ‘ выводим значение переменной Dig1

7.2. Преобразование типов данных

В практике программирования нередко возникает необходимость использования другого типа данных, то есть в преобразовании типов.

Такое преобразование осуществляется с помощью встроенных функций языка Visual Basic. Допустимы только некоторые виды преобразований, которые перечислены в таблице (Рис.7.2).


Рис.7.2. Функции языка Visual Basic

для преобразования типов данных


Теперь проверим на практике возможности преобразования типов данных, создав полезную программу, состоящую из одной строки.

Откройте окно кода с процедурой обработки события cmdHello_Click двойным щелчком мыши на кнопке Приветствие.

Удалите тело процедуры, между Private Sub

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Вы ознакомились с фрагментом книги.

Для бесплатного чтения открыта только часть текста.

Приобретайте полный текст книги у нашего партнера:

Полная версия книги