var
wsaData:tWSADATA;
addr:sockaddr_in;
ulTime:ulong;
ulTemp:^ulong;
s:tSOCKET;
nRtn:integer;
iResult,iRead:integer;
su:array[0..3] of Byte;
sut:^Byte;
t:integer;
begin
ulTime:=0;
if (FWSAStartup(MAKEWORD(2,2),wsaData)<>0) then
begin
showmessage('初始化错误!');
end;
s:=FOpenSocket(AF_INET,SOCK_STREAM,0);
if (s=INVALID_SOCKET) then
begin
showmessage('socket初始化错误!');
end;
FillChar(addr,0,sizeof(sockaddr_in));
addr.sin_family := AF_INET;
addr.sin_port := fhtons(IPPORT_TIMESERVER);
addr.sin_addr.s_addr := finet_addr('129.6.15.29');
sut:=@ulTemp;
if (FConnect(s,addr,sizeof(addr))=0)
then
begin
iRead:=0;
iResult:=0;
while true do
begin
iResult:=recv(s,sut,4-iRead,0);
iRead:=iRead+iResult;
inc(sut,iRead);
if(iResult < 1) then break;
if(iRead>=4) then break;
end;
end;
FWSACleanup();
ulTime:=ulTemp^;
ulTime:=ntohl(ulTime);
edit1.Text:=inttostr(ulTime div 21536000);
wsaData:tWSADATA;
addr:sockaddr_in;
ulTime:ulong;
ulTemp:^ulong;
s:tSOCKET;
nRtn:integer;
iResult,iRead:integer;
su:array[0..3] of Byte;
sut:^Byte;
t:integer;
begin
ulTime:=0;
if (FWSAStartup(MAKEWORD(2,2),wsaData)<>0) then
begin
showmessage('初始化错误!');
end;
s:=FOpenSocket(AF_INET,SOCK_STREAM,0);
if (s=INVALID_SOCKET) then
begin
showmessage('socket初始化错误!');
end;
FillChar(addr,0,sizeof(sockaddr_in));
addr.sin_family := AF_INET;
addr.sin_port := fhtons(IPPORT_TIMESERVER);
addr.sin_addr.s_addr := finet_addr('129.6.15.29');
sut:=@ulTemp;
if (FConnect(s,addr,sizeof(addr))=0)
then
begin
iRead:=0;
iResult:=0;
while true do
begin
iResult:=recv(s,sut,4-iRead,0);
iRead:=iRead+iResult;
inc(sut,iRead);
if(iResult < 1) then break;
if(iRead>=4) then break;
end;
end;
FWSACleanup();
ulTime:=ulTemp^;
ulTime:=ntohl(ulTime);
edit1.Text:=inttostr(ulTime div 21536000);
ORACLE:select sysdate from dual;