请问, delphi 如何获取internet时间?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问, delphi 如何获取internet时间?相关的知识,希望对你有一定的参考价值。
请问, delphi 如何获取internet时间? 并且转换为东八时区的时间, 北京时间..有完整的代码最好! 谢谢各位!
设计步骤如下:1、 新建一个工程;
2、 在窗体上放一个TEdit控件和一个TClientSocket(在Internet页下)控件。TEdit用来显示取得的格林尼治时间转化成北京时间后的时间,TClientSocket用来从Internet 时间服务器获取标准的格林尼治时间;
3、 程序代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.Host :=tick.usno.navy.mil; // 海军天文台;
ClientSocket1.Port :=13;
ClientSocket1.Open;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
TempTime: TDateTime;
hh,mm,ss,ms: word;
sTime : string;
begin
sTime := Socket.ReceiveText; // 取得格林尼治时间;
sTime:=Copy(sTime,12,8); // 取得时间部分; 参考技术A 使用NTP 服务器 参考技术B Delphi(Pascal) code
function TMain_F.CheckRegTime(RegTimeS:string) : Boolean;
var
Idhtp : TIdHTTP;
Htm : string;
TimeInt : Int64;
NetTime,RegTime : TDateTime;
Settings: TFormatSettings;
begin
Idhtp := TIdHTTP.Create(nil);
try
Htm := Idhtp.Get(' https://gss0.baidu.com/8aQDcnSm2Q5IlBGlnYG/app?module=beijingtime');
except
Htm := '';
end;
if Htm = '' then
begin
Result := False;
end else
begin
try
//网络时间
Htm := Copy(Htm, AnsiPos('time":',Htm)+Length('time":'), MaxInt);
Htm := Copy(Htm, 1, Pos('',Htm)-1);
TimeInt := StrToInt64(Htm);
TimeInt := TimeInt div 1000;
NetTime := UnixToDateTime(TimeInt);
NetTime := IncHour(NetTime,8);
NetTime := Int(NetTime);
//注册时间
GetLocaleFormatSettings(GetUserDefaultLCID, Settings);
Settings.DateSeparator := '-';
Settings.TimeSeparator := ':';
Settings.ShortDateFormat := 'yyyy-mm-dd';
Settings.ShortTimeFormat := 'hh:nn:ss';
RegTime := StrToDate(RegTimeS,Settings);
//对比
if NetTime > RegTime then
begin
Result := False;
end else
begin
Result := True;
end;
except
Result := False;
end;
end;
Idhtp.Free;
end;
请问如何在delphi中实现多选打印功能!
参考技术A 标签打印请问如安在delphi中实现多选打印功能!具体的情况是:DBgrid傍边有很多字段,有很多记录请求做到:第一步,记录的若干是动态的,但要能选择记录打印,数量不限。第二步,字段有很多,再上一步的基本上实现字段可选,即打印
须要打的内容! 参考技术B 选择记录打印可用BookMark,DbGrid的Options里有MulitSelect属性,可以按住Ctrl,用鼠标选择记录,即可以选择多笔记录。
以上是关于请问, delphi 如何获取internet时间?的主要内容,如果未能解决你的问题,请参考以下文章
请问delphi中有没有啥办法获取DBNavigator的导航条已经指到了第一条或最后一条记录?