Файл: ...\Samples\Solution\Winapi\Systime.scx
Данный пример демонстрирует вызов Windows API функции GetSystemTime. GetSystemTime заполнят структуру двух байтными (WORD) (16-битовое целое без знака) значениями с информацией о системном времени.
C Функция Объявления и Описание Структуры
![]() | |
---|---|
VOID GetSystemTime( LPSYSTEMTIME lpSystemTime // адрес структуры системного времени ); |
Это - описание структуры:
![]() | |
---|---|
typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; } SYSTEMTIME; |
Вызов данной Функции в Visual FoxPro
Следующий Visual FoxPro код передает GetSystemTime ссылку на символьную переменную, которая заполняется двухбайтныме значениями.
![]() | |
---|---|
* Visual FoxPro Code: cmdSystemTime.Click DECLARE INTEGER GetSystemTime IN win32api STRING @ cBuff=SPACE(40) GetSystemTime(@cBuff) |
Чтобы извлечь информацию из символьной переменной cBuff, следующий код конвертирует 8-битовые ASCII символы для года и месяца в 16-битовые эквиваленты.
![]() | |
---|---|
THIS.Parent.lblYear.Caption = ALLTRIM(STR(ASC(SUBSTR(cBuff,2)) * 256 + ASC(SUBSTR(cBuff,1)))) THIS.Parent.lblMonth.Caption = MONTH_LOC + ALLTRIM(STR(ASC(SUBSTR(cBuff,4)) * 256 + ASC(SUBSTR(cBuff,3)))) |