Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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 передаётся по ссылке.
|