Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Системное время [D6, D7, Win95/98, WinME, Win2k, WinXP]


DimaK ©   (2003-11-14 14:55:00) 

Нужна помощь. Необходимо синхронизировать системное время с временем терминала. На мой запрос терминал выдает свое время, (к примеру 14:12:00), а как мне установить это время на компе?

есть функция

function SetPCSystemTime(tDati: TDateTime): Boolean;
var
tSetDati: TDateTime;
vDatiBias: Variant;
tTZI: TTimeZoneInformation;
tST: TSystemTime;
begin
GetTimeZoneInformation(tTZI);
vDatiBias := tTZI.Bias / 1440;
tSetDati := tDati + vDatiBias;
with tST do
begin
wYear := StrToInt(FormatDateTime("yyyy", tSetDati));
wMonth := StrToInt(FormatDateTime("mm", tSetDati));
wDay := StrToInt(FormatDateTime("dd", tSetDati));
wHour := StrToInt(FormatDateTime("hh", tSetDati));
wMinute := StrToInt(FormatDateTime("nn", tSetDati));
wSecond := StrToInt(FormatDateTime("ss", tSetDati));
wMilliseconds := 0;
end;
SetPCSystemTime:= SetSystemTime(tST);
end;

только что-то не пойму как ее использовать.
Если кто знает - помогите ПЛИЗ!


Alone   (2003-11-17 11:45:00) [1]

> st.wHour:=StrToInt(Edit1.Text)-3; // Часы
А когда на летнее время перейдем, нужно будет 4-ре часа отнимать:)


DimaK   (2003-11-15 23:10:00) [2]

Спасибо :( разобрался.

Кому интересно:

procedure TForm1.Button1Click(Sender: TObject);
var st: TSystemTime;
begin
GetSystemTime(st);
st.wHour:=StrToInt(Edit1.Text)-3; // Часы
st.wMinute:=StrToInt(Edit2.Text); // Минуты
st.wSecond:=StrToInt(Edit3.Text); // Секунды
st.wMilliseconds:=0;
SetSystemTime(st);
end;


DimaK   (2003-11-15 20:36:00) [3]

неужели никто не знает как изменить системное время? :(


DimaK   (2003-11-14 17:04:00) [4]

Это все хорошо, но у меня в качестве терминала коммутатор, данные выдаются в RichEdit, оттуда я их считываю в переменную (командой copy) и получаю точное время, которое и надо установить на компе.

P.S. вроде в Delphi 7 компонента по указанной ссылке нет (или у меня кривая версия).

Честно говоря не хочется использовать компоненты, лучше ручками.
Может кто еще знает как изменить время?


TUser   (2003-11-14 16:29:00) [5]

http://delphiworld.narod.ru/base/tnmdaytime.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо