Тип Date
Численные типы Visual Basic поддерживает несколько численных типов — Integer, Long, Single, Double и Currency. Численные типы данных обычно занимают меньше памяти, чем типы Variant. Поэтому, если вы точно знаете, что данная переменная будет хранить именно численный тип данных (целое или действительное число), объявите (об этом — чуть позже) ее как численную. Тип Currency предназначен для хранения и выполнения операций с числами, имеющими четыре знака после десятичной запятой (точки), и обеспечивает правильное округление результатов денежных операций. Вы уже должны были обратить внимание в приведенной таблице на формат представления чисел с плавающей запятой: mmm E eee или mmm D eee, где mmm — это мантиса, а eee — экспонента (степень десяти). Буквы E и D означают тип Single и Double, соответственно, т.е. действительное обычной длины и двойной. После букв E и D следует знак степени десяти и сама степень. Тип Byte Начинающим программистам не скоро может понадобиться этот тип данных, но знание о его существовании не будет мешать созданию первых приложений. Если переменная содержит двоичные данные, ей подойдет этот тип. Часто это необходимо при конвертировании строчных переменных из одних форматов в другие. Все операторы, работающие с целыми числами, используются и с данными типа Byte, за исключением унарного минуса. Так как Byte — это тип безнаковых целых чисел в диапазоне от 0 до 255, он не может поддерживать отрцательные числа. Тип String Этот тип данных самый простой и наиболее используемый. Любые сообщения пользователю и от пользователя и даже между приложениями применяют строчные данные. Строки в Visual Basic сохраняются с использованием типа данных String. Строка может содержать текстовые символы любых типов: буквы алфавита, цифры, знаки пунктуации или различные символы. Строки в коде Visual Basic заключаются в двойные кавычки ("). Например: "Н А К Л А Д Н А Я №" "3,222" "-" "" Как и во многих языках программирования строки играют важную роль в программах Bisual Basic. Большинство данных, которые вводятся пользователем с клавиатуры при работе с диалоговыми окнами, это — строковые данные. Данные, выводимые из кода на экран, — также строковые данные. Чаще всего перед выводом данных на экран необходимо преобразовывать любые другие типы данных в строчные. В Visual Basic имеются функции преобразования строчных данных в любые другие типы. Информация об этих функциях приводится в следующих главах. Логический тип или Boolean Очень часто в программе приходится определять (или задавать) соблюдение или несоблюдение некоторого условия. При этом ничего не надо знать более, чем «Да» или «Нет». Помните, как надо отвечать на детекторе лжи? Никого не интересует «почему», «сколько», «когда» и так далее. «Да» или «Нет» — это как «+» или «-», только короче, потому что «+» и «-» не могут существовать без цифр: они — часть чисел. В Visual Basic (и это не оригинально, хотя существуют языки программирования, в которых нет подобного типа данных) данные типа Boolean принимают только два значения: True (правда/да) и False (ложь/нет). Тип Date Самый интересный тип данных — это, пожалуй, Date. Те, кто помнит историю развития компьютеров и свой первый компьютер класса XT, наверное, помнит и то, что самым необычным для нас было «знание» компьютером даты и времени. Он — как календарь, но «не молчит». Когда я работал на кафедре теоретической механики, у нас, кроме обычных дней рождения, отмечались и другие даты жизни сотрудников, например, «круглые» количества прожитых дней — 15000, 20000 и т.д. До появления Excel (было и такое время!) некоторые сотрудники умудрялись вычислять такие даты вручную. Теперь это не составляет никакого труда — на рис.5.1 приведен пример использования типа Date в Excel для вычисления количества прожитых дней некоторых сотрудников кафедры. Рис.5. 1 Обратите внимание на то, что здесь почти ничего не нужно делать. Необходимо из даты текущей вычесть дату дня рождения. Многие мои знакомые помнят дни рождения своих друзей, приобретя или написав несложные программки, которые при каждой загрузке компьютера проверяют, не пора ли к кому-нибудь в гости на день рождения. Часы на весь экран компьютера раньше можно было увидеть в любом заведении. Все эти интересные возможности компьютеров легко реализуются с использованием типов данных Date. Этот тип позволяет хранить и оперировать данными, содержащими дату и время. В тип Date могут конвертироваться другие типы данных, например, при преобразовании действительного числа целая часть числа представляет дату, а дробная — время. При работе с данными типа Date не нужно беспокоится о том, как эти данные хранятся в памяти. Следует только знать, что тип Date является типом последовательных дат (serial Dates): сохраняет дату как число дней от заданной базовой даты. Эта базовая дата – 30 декабря 1899. Поскольку вы должны уже много знать о среде Visual Basic, постройте себе несложную среду для изучения элементов языка Visual Basic. Для этого создайте новое приложение: выполните запуск Microsoft Visual Basic. В окне New Project на вкладке New дважды щелкните на значке Standard EXE (или выделите этот значок и щелкните на кнопке Открыть). Щелкните дважды на появившейся форме и в окне Code введите следующий код (первая и последняя строки уже будут введены редактором Visual Basic): Private Sub Form_Load() Dim d As Date d = 1 MsgBox (d) End Sub Здесь в процедуре, которая выполняется при загрузке формы, переменной (о переменных будет сказано немного позже в этой главе) типа Date присвоено значение 1. В следующей строке значение переменной выводится на экран при помощи функции MsgBox (рис. 5.2). Для запуска процедуры выберите в меню Run опцию Start. Рис.5. 2 Вывод даты, на единицу большей, чем базовая. Если присвить переменной d значение -1, то в результате вы увидите окно, приведенное на рис.5.3. Рис.5. 3 Вывод даты, на единицу меньшей, чем базовая. В значении последовательной даты целая часть (число из цифр слева от десятичного знака) – это общее число дней от базовой даты; дробная часть даты (число из цифр справа от десятичного знака) обозначает время как часть дня. Например, один час — это 1/24 дня (приблизительно 0,0416), одна минута — это 1/1440 дня и так далее. Чтобы убедиться в этом, введите в окне Code тестового приложения следующий код и запустите приложение на выполнение. Private Sub Form_Load() Dim DatH As Date, DatM As Date DatH = 1 / 24 DatM = 1 / 1440 MsgBox ("Час: " & DatH & " Минута: " & DatM) End Sub Результатом работы этого кода будет вывод окна, представленного на рис. 5.4. Рис.5. 4 Один час - это 1/24 часть дня, одна минута - это 1/1440 часть дня. С датами можно выполнять арифметические действия, поскольку, как вы могли уже понять, даты — это обыкновенные числа, но при выводе их на экран выполняются некоторые преобразования, в том числе и с учетом базовой даты. Вы можете прибавлять к дате (отнимать от даты) числа, складывать и вычитать сами даты. Например, если необходимо определить количество дней между двумя датами, необходимо из большей даты вычесть меньшую. В Visual Basic имеются встроенные функции работы с датами, которые будут приведены далее.
|