|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Программка для обновления времени через интернет
Здравствуйте уважаемые программисты! Давно уже есть одна проблемка со системным временем. При включении компьютера время всегда меняется на 1 января 2004 года. Меняешь его в BIOS либо в Windows всё равно, при следующем старте компа время возвращается назад. Батарейку меняли - та же история. С одной стороны это хорошо - вечный триал обеспечен при работе программам. Но всё таки хотелось бы, чтобы при старте компьютера работала программка, которая подключалась бы к какому-нибудь серверу и получала точное время.
http://forceway.ru/ |
#2
|
||||
|
||||
эта программка называется Windows 7
могу ток посоветовать сервера: time.windows.com time.nist.gov time-nw.nist.gov time-a.nist.gov time-b.nist.gov Они прописаны в win7. Может инфа чем-то поможет. jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
||||
|
||||
Genry, вроде местный а такую простую программку сделать не можешь...не стыдно?
На форму кидаешь лабел, idhttp(закладка indy client) и кнопку Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP; type TForm1 = class(TForm) IdHTTP1: TIdHTTP; Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function GetBefore(substr, str:string):string; //процедура для парсинга begin if pos(substr,str)>0 then result:=copy(str,1,pos(substr,str)-1) else result:=''; end; function GetAfter(substr, str:string):string; //процедура для парсинга begin if pos(substr,str)>0 then result:=copy(str,pos(substr,str)+length(substr),length(str)) else result:=''; end; procedure TForm1.Button1Click(Sender: TObject); var text:string; time:string; ST : _SYSTEMTIME; begin text:=IdHTTP1.Get('http://www.zln.ru/time/'); //сайт откуда получам время //парсим страницу time:=GetBefore('</div>',GetAfter('<div id="servertime" style="margin-top:40px; margin-bottom:30px; height:44px; padding:6px; width:148px; border:2px dotted #990000; font-size:36px; font-weight:bold;">', text)); // убираем всякую хрень time:=StringReplace(time,#$D#$A#9,'',[rfReplaceAll]); time:=StringReplace(time,#9,'',[rfReplaceAll]); label1.Caption:=time; GetSystemTime(ST); //получаем текущие показатели st.wHour:= strtoint(copy(time,1,2)); //часы st.wMinute:=strtoint(copy(time,4,2)); //минуты st.wSecond:=strtoint(copy(time,7,2)); //секунды SetSystemTime(ST); //устанавлеваем end; end. Последний раз редактировалось Admin, Сегодня в 10:32. |