Windows
Функция SetSystemTime.
Обрати внимание на привилегии.
Автор ответа: podval
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Следующий пример демонстрирует обработку сообщения WM_TIMECHANGE. Приложение, которое изменяет системное время, посылает сообщение WM_TIMECHANGE всем окнам верхнего уровня.
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Code: |
{ **** UBPFD *************** >> Определение текущего времени(часы, минуты, секунды) Зависимости: SysUtils, Classes Автор: Eagle, Copyright: MegaSoft ***************************************************** }
unit gettime;
interface uses SysUtils, Classes;
function gethours: integer; function getmins: integer; function getsecs: integer;
implementation
function gethours: integer; var s: string; h: integer; begin s := timetostr(time); h := strtoint(s[1] + s[2]); Result := h; end;
function getmins: integer; var s: string; h: integer; begin s := timetostr(time); h := strtoint(s[4] + s[5]); Result := h; end;
function getsecs: integer; var s: string; h: integer; begin s := timetostr(time); h := strtoint(s[7] + s[8]); Result := h; end;
end. |
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Code: |
Shellexecute(handle, 'Open', 'Rundll32.exe', 'shell32.dll,Control_RunDLL TIMEDATE.CPL', Pchar(Getsystemdir), 0); |
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Code: |
procedure AM_or_PM; begin if Frac(Time) = 0 then ShowMessage('AM') else ShowMessage('PM'); end; |
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Code: |
uses Registry;
...
var reg : TRegistry; ts : TStrings; i : integer; begin reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones', false); if reg.HasSubKeys then begin ts := TStringList.Create; reg.GetKeyNames(ts); reg.CloseKey; for i := 0 to ts.Count -1 do begin reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones\' + ts.Strings[i], false); Memo1.Lines.Add(ts.Strings[i]); Memo1.Lines.Add(reg.ReadString('Display')); Memo1.Lines.Add(reg.ReadString('Std')); Memo1.Lines.Add(reg.ReadString('Dlt')); Memo1.Lines.Add('----------------------'); reg.CloseKey; end; ts.Free; end else reg.CloseKey; reg.free; end; |
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
HKEYLocalMachine/Software/Microsoft/Windows/CurrentVersion/TimeZones/ - место, где в регистре хранится информация о временных зонах (Timezone). Двоичный код 'TZI' хранит информацию о начале и конце летнего времени. Есть какие-нибудь идеи насчет извлечения этих дат из этой двоичной величины?
Попробуем описать решение тут:
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Code: |
// Wait 0.2ms
procedure PerformanceDelay; var hrRes, hrT1, hrT2, dif: Int64; begin if QueryPerformanceFrequency(hrRes) then begin QueryPerformanceCounter(hrT1); repeat QueryPerformanceCounter(hrT2); dif := (hrT2 - hrT1) * 10000000 div hrRes; until dif > 2; end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Code: |
function Is24HourTimeFormat: Boolean; var DefaultLCID: LCID; begin DefaultLCID := GetThreadLocale; Result := 0 <> StrToIntDef(GetLocaleStr(DefaultLCID, LOCALE_ITIME,'0'), 0); end; |
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Хранится в глобальных переменных now, date, time
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Code: |
procedure TForm1.Button4Click(Sender: TObject); var lt: TSYSTEMTIME; st: TSYSTEMTIME; begin GetLocalTime(lt); GetSystemTime(st); Memo1.Lines.Add('LocalTime = ' + IntToStr(lt.wmonth) + '/' + IntToStr(lt.wDay) + '/' + IntToStr(lt.wYear) + ' ' + IntToStr(lt.wHour) + ':' + IntToStr(lt.wMinute) + ':' + IntToStr(lt.wSecond)); Memo1.Lines.Add('UTCTime = ' + IntToStr(st.wmonth) + '/' + IntToStr(st.wDay) + '/' + IntToStr(st.wYear) + ' ' + IntToStr(st.wHour) + ':' + IntToStr(st.wMinute) + ':' + IntToStr(st.wSecond)); end;
|
- Подробности
- Родительская категория: Windows
- Категория: Системная дата и время
Страница 33 из 42