русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Опрос и назначение даты


Дата добавления: 2015-06-12; просмотров: 479; Нарушение авторских прав


Для опроса или замены даты, имеющейся во встроенных часах ПЭВМ, используются процедуры GetDate и SetDate. Процедура GetDate возвращает в своих переменных значения года, месяца, числа и номера дня в неделе. Процедура SetDate, наоборот, устанавливает значения года, месяца и числа в часах. Заметим, что SetDate не нужен номер дня недели. Он вычисляется автоматически при вызове процедуры GetDate.

Существуют ограничения на вводимые значения даты. Так, год при установке должен быть в диапазоне 1980...2099, месяц — 1...12, число — 1...31. При нарушении диапазонов вызов процедуры SetDate игнорируется. Кроме употребления процедур GetDate/SetDate по непосредственному назначению, их можно использовать для определения дня недели любого числа в месяце до 2099 года. Как это сделать, рассмотрено в примере на рис. 16.3. {350}

{ДЕМОНСТРАЦИЯ ОПРЕДЕЛЕНИЯ ДНЯ НЕДЕЛИ ПО ДАТЕ } USES DOS; TYPE DayString = String[11]; CONST Days : Array [1..7] of DayString = { дни недели } ( 'Понедельник', 'Вторник , 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье' ); { Функция возвращает название дня недели по дате.} FUNCTION WhatDay( Year, Month, Day : Word ) : DayString; VAR Y, M, D, n : Word; BEGIN GetDate( Y, M, D, n ); { запоминание текущей даты } SetDate( Year,Month,Day ); { установка даты из запроса } GetDate( Year,Month,Day,n); {получение по ней номера n } WhatDay := Days[n]; { номер n дает название дня } SetDate(Y, M, D ) { восстановление даты в ПЭВМ } END; VAR { -- ПРИМЕР ВЫЗОВА -- } у, m, d : Word; BEGIN Write( 'Введите год ' ); ReadLn( у ); Write( 'Введите месяц' ); ReadLn( m ); Write( 'Введите число' ); ReadLn( d ); WriteLn; WriteLn(d:2,'/', m:1,'/',y:4,'-->',WhatDay(y,m,d)); ReadLn { пауза до нажатия клавиши ввода } END.

Рис. 16.3



16.2.2. Опрос и назначение времени

Процедуры GetTime(VAR Hour, Min, Sec, Sec100 : Word ) и SetTime( Hour, Min, Sec, Sec100: Word) опрашивают и устанавливают значение текущего времени во встроенных часах ПЭВМ. Обе процедуры используют одинаковую последовательность параметров:

( часы, минуты, секунды, миллисекунды )

При установке времени процедурой SetTime их можно задавать непосредственно значениями. Разрешенные значения для установки времени таковы: часы — 0...23, минуты и секунды — 0...59, миллисекунды — 0...99. При нарушении диапазонов время не устанавливается. {351}

Неаккуратное использование процедуры SetTime может сильно изменить представление компьютера о времени, зато процедура GetTime вполне безопасна. С ее помощью можно сделать счетчик времени работы программы. Схема включения процедур в программу приводится на рис. 16.4.

USES DOS; VAR h, min, s, ms : Word; { отсечки времени по часам } Time : Real; { время работы в секундах } BEGIN GetTime( h, min, s, ms ); { начало работы программы } { время начала программы в секундах : } Time := ( h*60 + min )*60 + s + ms/100; { === программа работает - время идет === } Write(' Нажмите ENTER' ); ReadLn; GetTime( h, min, s, ms ); { конец работы программы } { время работы программы в секундах : } Time := ( h*60 + min )*60 + s + ms/100 - Time; ms:= Trunc( 100 * Frac( Time ) ); { миллисекунды } h := Trunc( Time ) div 3600; { часы } min := Trunc( Time-3600*h ) div 60; { минуты } s := Trunc( Time-3600*h ) mod 60: { секунды } WriteLn( 'Активное время работы , h:1,' ч ', min:1, ' мин ', s:1, ',' , ms:1, ' с' ); ReadLn { пауза... } END.

Рис. 16.4



<== предыдущая лекция | следующая лекция ==>
Опрос системных переменных MS-DOS | Работа с датой создания файлов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.072 сек.