Студопедия — Переменные и константы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Переменные и константы






Константы и переменные предназначены соответственно для хранения фиксированных и изменяемых значений в вычислениях.

Все переменные VB имеют определенный тип (табл. 1). Для использования переменных в программе VB их необходимо объявить, используя следующий синтаксис:

Dim <переменная> As <тип>

или

Dim <переменная 1>, …, <переменная …> As <тип>

или

Dim <переменная 1> As <тип 1>, <переменная …> As <тип …>

здесь

переменная … – задаваемый разработчиком идентификатор,

тип … – один из идентификаторов для типов данных: числовых (Integer, Long, Single, Double), текстовых (String), логических (Boolean) и др.,

<…> – позиция размещения обязательного элемента синтаксиса

([…] – позиция размещения необязательного элемента синтаксиса)

Примеры объявления переменных:

Dim peremen As Integer

' Объявление переменной по имени peremen для хранения

' целых чисел

Dim peremen1, peremen2 As Integer

' Объявление переменных peremen1 и peremen2

' для хранения целых чисел

Dim peremen3 As String, peremen4 As Double

' Объявление переменной peremen3 для хранения строк

' и переменной peremen4 для хранения вещественных чисел

Таблица 1

Типы данных в VB

Тип данных Размер памяти Диапазон хранимых значений
Byte 1 байт От 0 до 255
Boolean 2 байта True или False
Integer 2 байта От -32768 до 32767
Long (длинное целое) 4 байта От -2147483648 до 2147483647
Single (с плавающей точкой) 4 байта От -3,402823E38 до -1,401298E-45 для отрицательных значений; От 1,401298E-45 до 3,402823E38 для положительных значений
Double (плавающее двойной точности) 8 байт От -1,79769313486232E308 до -4,94065645841247E-324 для отрицательных значений; от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений
Currency (т.н. денежный формат) 8 байт От -9223372036854775808 до 9223372036854775807
Decimal 14 байт +/-79228162514264337593543950335 без дробной части; +/-7,9228162514264337593543950335 с 28 дробными разрядами; наименьшее ненулевое значение +/-0,0000000000000000000000000001
Date (Дата) 8 байт От 1 января 100 г. до 31 декабря 99996 г.
Object (Объект) 4 байт Ссылка на любой объект
String (строка переменной длины) 10 байт + длина строки Расширяемая от 0 до 2 биллионов символов
String (фиксированной длины) Длина строки Расширяемая от 0 до 65400 символов
Variant 16 байт Любое численное или текстовое значение

 

Использование для переменных определенных типов данных определяется назначением переменной: для целочисленных вычислений применяются типы Integer и Long, для вычислений с дробной точкой – Single, Double, для операций со строками – String, для логических операций – Boolean, для операций с датой – Date и т.д.

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

Sub primer()

Dim i As Integer

' Объявление переменной i для хранения целых чисел

i=3

' Запись в переменную i значения 3

i=i+2

' Добавление к значению переменной i числа (2)

' и запись его в переменную i

MsgBox i

' Отображение значения из переменной i в окне сообщения

End Sub

Например, для переменных типа Data возможны следующие способы (синтаксисы) присвоения:

<Переменная>=#<месяц(№)>/<число>/<год> <часы>:<минуты>:<секунды>#

<Переменная>=# <часы>:<минуты>#

<Переменная>=#<месяц(№)>/<число>/<год>#

<Переменная>=Now (запись в переменную текущего времени и даты)

и считывания:

<Переменная 1>=Hour(<Переменная>) – считывание количества часов,

<Переменная 1>=Minute(<Переменная>) – считывание количества минут,

<Переменная 1>=Day(<Переменная>) – считывание числа дней,

<Переменная 1>=Year(<Переменная>) – считывание года,

<Переменная 1>=Month(<Переменная>) – считывание месяца

и изменения значений:

<Переменная>=<Переменная> +(–) <значение> – увеличение или уменьшение значения дней,

<Переменная>=<Переменная> +(–) <значение>/24 – увеличение или уменьшение значения часов,

<Переменная>=<Переменная> +(–) <значение>/1440 – увеличение или уменьшение значения минут,

<Переменная>=<Переменная> +(–) <значение>/86400 – увеличение или уменьшение значения секунд.

Пример работы с переменной (типа Data):

Sub primer()

Dim mydata As Date

' Объявление переменной mydata для хранения дат

Dim mynum As Integer

' Объявление переменной mynum для хранения целых чисел

mydata = #1/4/2012 11:57:00 AM#

' Запись в переменную mydata даты: 4 января 2012 года, 11 часов,

' 57 минут, 0 секунд

mynum = Month(mydata)

' Считывание номера месяца из переменной mydata и запись его

' в переменную mynum

MsgBox mynum

' Отображение окна сообщения со значением

' переменной mynum

mydata = mydata + 30

' Добавление к значению даты в переменной mydata 30 дней

mynum = Month(mydata)

' Считывание номера месяца из нового значения переменной

' mydata и запись его в переменную mynum

MsgBox mynum

' Отображение значения переменной mynum

End Sub

В VB переменным можно присваивать значения, взятые из ячеек MS Excel.

Dim A As Double

' Объявление переменной A для хранения вещественных чисел

A=Application.Workbooks("around_book_Exvba.xls")._

Worksheets("Лист1").Cells(2,1)

' Запись в переменную А значения (числа) из ячейки А2 листа

' "Лист1" электронной таблицы "around_book_Exvba.xls"

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

Проверка типа данных во время выполнения программы производится при помощи таких функций как ТypeName(<переменная>), IsNumeric(<переменная>) и др.

ТypeName(<переменная>) – возвращает тип переменной заданной аргументом в виде ключевого слова: "Integer", "String", "Double" и т.п.:

Sub primer()

Dim x As Variant

' Объявление (создание) переменной x типа Variant

' для хранения значений любого типа

x = 4

' Запись в переменную x целого числа (Integer)

MsgBox TypeName(x)

' Отображение окна-сообщения со значением типа значения,

' хранящегося в переменной x

x = 4.3

' Запись в переменную x вещественного числа (Double)

MsgBox TypeName(x)

x = "слово"

' Запись в переменную x строки (String)

MsgBox TypeName(x)

End Sub

IsNumeric(<переменная>), IsDate(<переменная>), … – группа функций, определяющих принадлежность переменной к одному из типов и возвращающих соответственно True (Истину) или False(Ложь) в зависимости от результата проверки. Функция IsEmpty(<переменная>) проверяет, храниться ли в ее параметре-переменной значение.

Sub primer()

Dim x As Variant

' Объявление (создание) переменной x

' для хранения любых значений

MsgBox IsEmpty(x)

' Вывод сообщения об отсутствии значения в переменной x

x = "слово"

' Запись в переменную x текста

MsgBox IsEmpty(x)

' Вывод сообщения о наличии значения в переменной x

MsgBox IsNumeric(x)

'Вывод сообщения об отсутствии в переменной x числа

x = 3.5

' Запись в переменную x числа

MsgBox IsEmpty(x)

' Вывод сообщения о наличии значения в переменной x

MsgBox IsNumeric(x)

' Вывод сообщения о наличии в переменной x числа

End Sub

Для преобразования типов данных служат специальные функции VB (табл. 2): CBool, CCur, CDate, CDbl, CInt, CSng, CStr и другие, имеющие синтаксис:

значение возвращаемого типа = функция (значение исходного типа)

Таблица 2

Функции преобразования типов данных

Функ-ция Исходный тип Возвращаемый тип
CBool String Ошибка
Integer, Long, Single, Double, Date, Currency Boolean (0 – False)
CCur String Currency (для случая наличия в строке числа с указанием единицы измерения (н.п.: "12 р."), в остальных случаях – ошибка
Integer, Date Currency
Long, Single, Double Currency (в пределах типа Currency, в обратном случае – ошибка)
Boolean Currency (0 для False, – 1 для True)
CDate String Date (для записи строки в виде даты (н.п.: "14 декабря 2005"), в обратном случае – ошибка)
Integer, Long, Single, Double, Currency Date (в пределах диапазона значений типа Date)
Boolean Date (00:00:00 для False, 29.12.1899 для True)
CDbl String Ошибка
Integer, Long, Single, Date, Currency Double
Boolean Double (0 для False, –1 для True)
CInt String Ошибка
Double, Long, Single, Date, Currency Integer (в пределах диапазона значений типа Integer)
Boolean Integer (0 для False, –1 для True)
CLng String Ошибка
Double, Single, Currency Long (в пределах диапазона значений типа Long)
Integer, Date Long
Boolean Long (0 для False, –1 для True)
CSng String Ошибка
Double Single (в пределах диапазона значений типа Single)
Integer, Long, Date, Currency Single
Boolean Single (0 для False, –1 для True)
CStr Single, Double, Integer, Long, Date, Currency String
Boolean String ("False" для 0, "True" для 1 (–1))

 

Пример использования функции преобразования типа:

Sub primer()

Dim x As Double

' Объявление переменной x для хранения вещественных чисел

x=4.51

' Запись в переменную x вещественного числа

x=CInt(x)

' Преобразование значения числа в переменной x

' к целому типу

MsgBox x

' Отображение преобразованного значения из переменной x

End Sub







Дата добавления: 2015-10-15; просмотров: 322. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия