|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время создания: 31.07.2019 22:37
Текстовые метки: VB
Раздел: !Закладки - VBA
Запись: xintrea/mytetra_db_adgaver_new/master/base/1520589868o5o5xjr8v8/text.html на raw.githubusercontent.com
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7. ВРЕМЯ
И ТАЙМЕРЫ 7.1. Понятия о
времени в Visual Basic Работа Visual Basic со временем заметно отличается от того, как это происходит в повседневной жизни. Для выполнения операций с ним в Visual Basic используются данные типа «Date», для которых основной единицей измерения является день. Один час равен 1/24 дня, а секунда — 1/86400 дня. Неделя будет представлена цифрой 7, поскольку состоит из семи дней. Данные типа «Date» отображают время в соответствии с тем форматом, который установлен на компьютере, — 12- или 24-часовым (см. «Панель управления» Windows). В юлианском календаре первый день нашей эры — это 1 января 0001 года. Для данных типа «Date» выбрано другое начало отсчета: первый день — это 31 декабря 1899 года, второй день — 1 января 1900 года. Таким образом, 12 июня 1968 года — это день 25001-й или просто 25001 (другими словами, это 25001-й день, если считать от 31 декабря 1899 года). Дата 25001.5 переводится как полдень 12 июня 1968 года. Даты до 31 декабря 1899 года имеют отрицательные значения, например, 4 июля 1776 года — это -45103 день, т.е. 45103 день до 30 декабря 1899 года. Переменной типа «Date» можно присвоить литерал (т.е. буквальное значение) даты, разместив его между знаками «#», например: Dim MyDate as Date MyDate = #January 25, 1999#
Кроме того, тип «Date» можно преобразовать в любой числовой формат. Например, 4 августа 1997 года, 22 часа 56 минут выглядит как 35390.58333 в формате «Double». Все, что находится слева от десятичной точки – это день, а после точки – часы, минуты, секунды и миллисекунды. Обратите внимание, что дробную часть значения менее 1 можно использовать для указания только времени; например, 0.12345 означает 2:57:46 пополудни. 7.2.
Элемент
управления
таймером В Visual Basic имеется элемент управления таймером – «Timer», который позволяет отслеживать время. Его можно представлять себе как маленькие часы, которые, будучи включенными, вызывают некоторое программируемое событие через заданный интервал времени. Вызываемое таймером событие называется «Timer», процедура обработки этого события в программе имеет следующий синтаксис: Private Sub TimeName_Timer () · TimeName – имя элемента управления таймером. · Timer – имя события. Время между наступлением событий «Timer» указывается в свойстве «Interval» элемента управления таймером. Единицей измерения интервала времени в этом свойстве является миллисекунда. В следующей строке интервал времени установлен равным полусекунде: Timer1.Interval = 500
Свойств у элемента управления таймером совсем немного (табл. 10), поскольку главная и единственная его задача состоит в генерации события. Таблица 10 Свойства элемента управления таймером
7.3.
Использование
команд при
работе со
временем Хотя таймер и можно запрограммировать так, чтобы он в определенное время вызывал событие «Timer», сам таймер не знает истинного текущего времени. Чтобы определить текущее время, необходимо обратиться к системным часам компьютера. Чтобы узнать системное время, используйте функцию «Time», а чтобы узнать системную дату – функцию «Date». Если же необходимо узнать и время, и дату, воспользуйтесь функцией «Now»: Text1.Text = Time Label2.Caption = Date Text3.Text = Now Иногда бывает необходимо получить только количество часов, минут или только название месяца из системного времени. Для этого пользуются следующими функциями:
При работе с временными параметрами очень полезными функциями являются следующие:
Для ручной установки системного времени и даты применяют следующие операторы: Time = time и Date = date, которые устанавливают системное время и дату в соответствии со значениями аргументов «time» и «date» соответственно. 7.4.
Вычисление
разницы
между датами Если понадобится написать программу, вычисляющую интервал времени между двумя датами, то необходимо пользоваться функцией «DateDiff», имеющей следующий синтаксис: MyLong = DateDiff(interval, date1,
date2[, week[, year]]) · MyLong – возвращаемое значение типа «Variant» («Long»); ·
DateDiff
– имя самой
функции; · interval – строка символов, описывающая интервал измерения для разности между двумя датами (см. табл. 11); · date1 – начальная дата измеряемого интервала (тип «Date»); · date2 – конечная дата измеряемого интервала (тип «Date»); · week – константа, устанавливающая первый день недели; · year – константа, указывающая первую неделю года. Таблица 11 Значения параметра «interval» функции «DateDiff»
Функция «DateDiff» берет первую дату, представленную параметром «date1» и вычитает ее из второй даты, представленной параметром «date2». Выполнив вычитание, функция возвращает числовое значение типа «Long», которое и является разностью дат. Единицу измерения для представления ответа указывают с помощью параметра «interval». 7.5.
Использование
функции «Format» для
представления
времени Функция
«Format» – это
мощная
функция Visual Basic,
позволяющая
управлять
отображением
строки. Преимущественно
эта функция
используется
для
форматирования
значений
даты, времени
и числовых
значений, но
ее можно
использовать
любыми и с
любыми
строковыми
значениями.
Функция «Format» имеет следующий синтаксис: MyString =
Format(expression, format [, week[, year]]) ·
MyStrings
–
возвращаемое
строковое
значение; ·
Format
–
имя самой
функции; · expression – любое выражение, представляющее строку символов, дату числовое значение; · format – строка-шаблон, которая определяет строку результата. · week – необязательная константа, устанавливающая первый день недели. По умолчанию она имеет значение «Sunday» (воскресенье), но можно установить другое значение, например «Monday» (понедельник); · year – необязательная константа, указывающая первую неделю года. По умолчанию это неделя, на которую приходится 1 января. Но можно установить и другое значение, например первую полную неделю года. При работе с функцией «Format» основным моментом является умение обращаться с параметром «format», который определяет, как значение параметра «expression» будет преобразовываться в строку символов. В табл. 12 показано, как использовать настройки функции «Format» для форматирования строк с информацией о дате времени. Таблица 12 Примеры предопределенных форматов для отображения времени и даты
Эту функцию можно использовать для нужного формата отображения любых значений, в том числе числовых. В табл. 13 показано, как использовать функцию «Format» для представления числовых значений в виде строки символов нужного вида, используя предопределенные форматы. Таблица 13 Использование функции формат с числовыми значениями
В функции «Format» можно использовать также собственные форматы пользователя. Они представляют собой специальную маску, по которой будет формироваться итоговая строка. Для формирования маски используются два символа: «#» (необязательный символ) и «0» (обязательный символ). Для добавления в строку некоторых определенных символов их добавляют в маску в нужное место. Пример использования их приведен в таблице 14. Таблица 14 Пример использования маски в функции «Format»
Контрольные
вопросы для
самопроверки
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Так же в этом разделе:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|