Функции для работы со временем 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Функции для работы со временем



Во внутренней работе Windows используется универсальное координированное время UTC (Universal Coordinated Time); также встречается термин GMT, то есть «среднее время по Гринвичу» (Greenwich Mean Time), поскольку за точку отсчета принят Гринвич, Англия. Преобразования между системным и местным временем в Windows осуществляются при помощи поправок для местного часового пояса, заданного в системе. Функции Win32 позволяют работать как в местном, так и в системном времени и преобразовывать их по мере необходимости. Win32 также включает ряд функций для работы с файловым временем и датой, то есть временем и датой файлов, хранящихся в файловой системе

Функции Windows, предназначенные для получения информации о времени, перечислены ниже. Следует учитывать, что во внутреннем представлении системы время изменяется в тактах таймера, продолжительность которых может изменяться в зависимости от используемого процессора и операционной системы. Интервал измерения времени в Win32 обычно занимает от 10 до 15 миллисекунд. Длительность такта определяет точность результатов, возвращаемых этими функциями.

Основные функции Windows для работы со временем

Функция Описание
EnumCalendarlnfo Перечисляет календарную информацию, зависящую от локального контекста
EnuinDate Formats Перечисляет форматы даты, доступные в заданном локальном контексте
EnumTimeFormats Перечисляет форматы времени, доступные в заданном локальном контексте
GetLocalTime Получает текущее местное время
GetMessageTime Возвращает время (в миллисекундах) поступления последнего сообщения s очередь приложения. Время отсчитывается от начала текущего сеанса работы в Windows
GetSystemTime   Получает текущее системное время  
GetSystemTimeAdjustment Определяет, применяется ли в системе периодическая поправка, повышающая точность отсчета системного времени
GetTickCount Получает продолжительность работы текущего сеанса работы в Windows в миллисекундах
GetTimeFormat Форматирует время в заданном локальном контексте
GetTimeZonelnformation Получает информацию о текущем часовом поясе
SetLocalTime Задает местное время  
SetSystemTime Задает системное время  
SetSystemTimeAdjustment Задает периодическую поправку, применяемую системой для повышения точности отсчета времени
SetTimeZonelnformation Задает часовой пояс  
SystemTimeToTzSpecificLocalTime Преобразует системное время в местное  

Индивидуальное задание

1. Напишите DLL обеспечивающую получение следующей системной информации, представленной в параграфе 1.5:

a) Имя компьютера, имя пользователя;

b) Пути к системным каталогам Windows;

c) Версия операционной системы;

d) Системные метрики (не менее 2 метрик);

e) Системные параметры (не менее 2 параметров);

f) Системные цвета (определить цвет для некоторых символьных констант и изменить его на любой другой);

g) Функции для работы со временем (не менее 2 функций);

 

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

 

2. Напишите DLL обеспечивающую получение сведений, представленных в таблице 1. Явная загрузка такой DLL осуществляется в DLL из пункта 1. Основное приложение отображает сведения, полученные в DLL в своих элементах управления.

 

Таблица 1.

Вариант Название API-функции
1 ActivateKeyboardLayout, GetCurrencyFormat, GetLastError, OemToChar                       
2 CharToOem, GetCursor, GetLocaleInfo, OemToCharBuff,
3 AnsiToOemBuff, GetCursorPos, GetNumberFormat, SetCaretPos,          
4 ClipCursor, GetDoubleClickTime, GetOEMCP, SetCursor
5 CreateCaret, GetEnvironmentStrings, GetQueueStatus, SetCursorPos
6 DestroyCaret, GetEnvironmentVariable, GetSystemDefaultLangID, SetDoubleClickTime 
7 EnumSystemCodePages, GetInputState, GetLastError, SetKeyboardState
8 ExitWindowsEx, GetKBCodePage, GetSystemDefaultLCID, SetCaretBlinkTime               
9 GetACP, GetKeyboardLayout, GetSystemPowerStatus, SetComputerName
10 GetAsyncKeyState, GetKeyboardLayoutList, GetTickCount, SetLocaleInfo
11 GetCaretBlinkTime, GetKeyboardLayoutName, GetLastError, SetSystemCursor
12 GetCaretPos, GetKeyboardState, GetUserDefaultLangID, SetSystemPowerState
13 GetClipCursor, GetKeyboardType, GetUserDefaultLCID, ShowCursor
14 GetCommandLine, GetKeyNameText, MessageBeep, SwapMouseButton
15 GetCPInfo, GetKeyState, GetLastError, UnloadKeyboardLayout

 

Контрольные вопросы

1. Что такое DLL?

2. Зачем нужен раздел экспорта?

3. Какие преимущества использования DLL?

4. Как защищаются данные DLL от ошибок приложений?

5. Какие способы загрузки DLL Вы знаете?

6. Как осуществляется неявная загрузка DLL?

7. Как выполняется загрузка exe-файла, использующего DLL при неяв-

ном связывании?

8. Каковы недостатки неявной загрузки?

9. Чем отличается явная загрузка от неявной?

10. Каково назначение функции LoadLibrary?

11. Зачем используется функция GetProcAdress?

12. Перечислите этапы работы с DLL при явной загрузке.

13. Что такое отложенная загрузка DLL?

14. Зачем используется отложенная загрузка?

15. Как организуется отложенная загрузка?

16. Зачем нужна функция входа-выхода DLL?

17. В каких случаях вызывается DllEntryPoint?

18. Какие параметры у функции входа-выхода?

19. Какие причины вызова DllEntryPoint Вы знаете?

20. Как узнать, каким способом загружается DLL?



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.196.182 (0.009 с.)