Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






Функция GetLocalTime





Функция GetLocalTime из библиотеки Kernel32.dll возвращает текущие дату и время в формате UTC (Universal Time Coordinated). Вот её прототип:

VOID GetLocalTime(LPSYSTEMTIME lpSystemTime // Адрес структуры SystemTime);

Тип данных LPSYSTEMTIME - это указатель на структуру SystemTime:

typedef struct _SYSTEMTIME { WORD wYear; // Год WORD wMonth; // Месяц WORD wDayOfWeek; // День недели WORD wDay; // День месяца WORD wHour; // Часы WORD wMinute; // Минуты WORD wSecond; // Секунды WORD wMilliseconds; // Миллисекунды } SYSTEMTIME;

Как видите, все поля структуры - это 16-ти разрядные целые числа. Месяцы нумеруются начиная с единицы, то есть для января wMonth =1 и так далее. Номера дней недели начинаются с нуля, то есть для воскресенья wDayOfWeek =0, для понедельника wDayOfWeek =1, и так далее.

Функция GetLocalTime не возвращает никаких значений. Вот её объявление в Visual FoxPro:

DECLARE GetSystemTime IN WIN32API String @ SystemTime

В следующем примере показан код функции LocalTime. Функция получает массив, переустанавливает его размер и заполняет его элементы значениями даты и времени:

FUNCTION LocalTime PARAMETERS taTimeArray EXTERNAL ARRAY taTimeArray DIMENSION taTimeArray[8] DECLARE GetLocalTime IN WIN32API String @ LOCAL lcSystemTime && Для структуры SYSTEMTIME lcSystemTime = REPLICATE(CHR(0), 16) && Размечаем память для структуры GetLocalTime(@lcSystemTime) && Заполняем поля структуры * Заполняем переданный функции массив значениями полей структуры taTimeArray[1] = CTOBIN(LEFT(lcSystemTime,2), '2RS') && Год taTimeArray[2] = CTOBIN(SUBSTR(lcSystemTime,3,2), '2RS') && Месяц taTimeArray[3] = CTOBIN(SUBSTR(lcSystemTime,5,2), '2RS') && День недели taTimeArray[4] = CTOBIN(SUBSTR(lcSystemTime,7,2), '2RS') && День месяца taTimeArray[5] = CTOBIN(SUBSTR(lcSystemTime,9,2), '2RS') && Часы taTimeArray[6] = CTOBIN(SUBSTR(lcSystemTime,11,2), '2RS') && Минуты taTimeArray[7] = CTOBIN(SUBSTR(lcSystemTime,13,2), '2RS') && Секунды taTimeArray[8] = CTOBIN(SUBSTR(lcSystemTime,15,2), '2RS') && Миллисекунды RETURN ENDFUNC

Пример вызова функции LocalTime из вашего приложения:

LOCAL laTime[1], laDayOfWeek[7], laMonth[12], lcResult laDayOfWeek[1] = 'воскресенье' laDayOfWeek[2] = 'понедельник' laDayOfWeek[3] = 'вторник' laDayOfWeek[4] = 'среда' laDayOfWeek[5] = 'четверг' laDayOfWeek[6] = 'пятница' laDayOfWeek[7] = 'суббота' laMonth[1] = 'января' laMonth[2] = 'февраля' laMonth[3] = 'марта' laMonth[4] = 'апреля' laMonth[5] = 'мая' laMonth[6] = 'июня' laMonth[7] = 'июля' laMonth[8] = 'августа' laMonth[9] = 'сентября' laMonth[10] = 'октября' laMonth[11] = 'ноября' laMonth[12] = 'декабря' = LocalTime(@laTime) lcResult = 'Сейчас ' + STR(laTime[4],2) + ' ' + laMonth[laTime[2]] +; STR(laTime[1],4) + ' года, ' + laDayOfWeek[laTime[3]+1] + CHR(13) +; LTRIM(STR(laTime[5])) + ' час ' + LTRIM(STR(laTime[6])) + ' мин' = MESSAGEBOX(lcResult)

Обратите внимание: массив laTime передаётся по ссылке.

Date: 2015-07-27; view: 968; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию