![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить показания времени на удаленной машине по сети?
novill © (2007-11-21 10:43:00)Если это важно, удаленная машина - сервер домена.
novill (2007-11-21 11:22:00) [1]> [1] Правильный_Вася (21.11.07 10:48)
Надо просто, чтобы время используемое программой не зависело от локального.
> [3] Некто © (21.11.07 10:48)
Вам на форум моралистов надо :)
> [4] Rouse_ © (21.11.07 10:54)
Большое спасибо. Вы очень помогли.
Rouse_ (2007-11-21 10:54:00) [2]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
PTIME_OF_DAY_INFO = ^TIME_OF_DAY_INFO;
TIME_OF_DAY_INFO = record
tod_elapsedt : DWORD;
tod_msecs : DWORD;
tod_hours : DWORD;
tod_mins : DWORD;
tod_secs : DWORD;
tod_hunds : DWORD;
tod_timezone : Longint;
tod_tinterval: DWORD;
tod_day : DWORD;
tod_month : DWORD;
tod_year : DWORD;
tod_weekday : DWORD;
end;
function NetRemoteTOD(Server: PWChar; var pBuffer: PTIME_OF_DAY_INFO): DWORD;
stdcall; external 'NETAPI32.DLL';
function NetApiBufferFree(pBuffer: Pointer): DWORD;
stdcall; external 'NETAPI32.DLL';
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
TOD: PTIME_OF_DAY_INFO;
begin
if NetRemoteTOD('\\192.168.2.115', TOD) = 0 then
try
with TOD^ do
ShowMessage(Format('Data %d %d %d Time %d:%d:%d',
[tod_day, tod_month, tod_year, tod_hours - (tod_timezone div 60),
tod_mins, tod_secs]));
finally
NetApiBufferFree(TOD);
end
else
RaiseLastOSError;
end;
end.
Правильный_Вася (2007-11-21 10:48:00) [3]назначить егона лок. машине сервером времени?
Рамиль (2007-11-21 10:48:00) [4]net time \\ServerName
Некто (2007-11-21 10:48:00) [5]Специально полез в гугль поискать что за зверь такой "сервер домена". Ничего вразумительного не нашёл.
ЗЫ: Правильно поставленный вопрос - 90% ответа.