Foxtable(狐表)用户栏目专家坐堂 → [求助]这段获取网络时间的代码在Foxtable中怎样应用?


  共有13320人关注过本帖树形打印复制链接

主题:[求助]这段获取网络时间的代码在Foxtable中怎样应用?

帅哥哟,离线,有人找我吗?
布莱克朱
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/12/20 19:14:00 [显示全部帖子]

这段代码 有问题吧  你自己测试下

在全局代码中  拷贝进去

Public Function NewTime(ByVal p1 As Date) As Date
Dim obj, OBJStatus, url, GetText, i
Dim Retrieval
url = "http://www.baidu.com"
'判断网络是否连接
If url <> "" Then
    Retrieval = GetObject("winmgmts:\\.\root\cimv2")
    obj = Retrieval.ExecQuery("Select * From Win32_PingStatus Where Address = '" & Mid(url, 8) & "'")
    For Each OBJStatus In obj
        If OBJStatus.StatusCode Is Nothing Or OBJStatus.StatusCode <> 0 Then
            Exit Function
        Else
            Exit For '已连接则继续
        End If
    Next
End If

'通过下载网页头信息获取网络时间
Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
    .Open("Get", url, False, "", "")
    .setRequestHeader("If-Modified-Since", "0")
    .setRequestHeader("Cache-Control", "no-cache")
    .setRequestHeader("Connection", "close")
    .Send()
    If .Readystate <> 4 Then Exit Function
    GetText = .getAllResponseHeaders()
    i = InStr(1, GetText, "date:", vbTextCompare)
    If i > 0 Then '网页下载成功
        i = InStr(i, GetText, ",", vbTextCompare)
        GetText = Trim(Mid(GetText, i + 1))
        i = InStr(1, GetText, " GMT", vbTextCompare)
        GetText = Left(GetText, i - 1)
        MsgBox("网络时间:" & GetText)
    End If
End With
Retrieval = Nothing
OBJStatus = Nothing
obj = Nothing
End Function



命令窗口
Dim d As Date
Output.Show(newTime(D))

 我出来的是 网络时间: 2012-12-20 11:13:37


 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/12/20 19:31:00 [显示全部帖子]

原来需要加上8  那这样改:

Public Function NewTime(ByVal p1 As Date) As Date
Dim obj, OBJStatus, url, GetText, i
Dim Retrieval
url = "http://www.baidu.com"
'判断网络是否连接
If url <> "" Then
    Retrieval = GetObject("winmgmts:\\.\root\cimv2")
    obj = Retrieval.ExecQuery("Select * From Win32_PingStatus Where Address = '" & Mid(url, 8) & "'")
    For Each OBJStatus In obj
        If OBJStatus.StatusCode Is Nothing Or OBJStatus.StatusCode <> 0 Then
            Exit Function
        Else
            Exit For '已连接则继续
        End If
    Next
End If

'通过下载网页头信息获取网络时间
Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
    .Open("Get", url, False, "", "")
    .setRequestHeader("If-Modified-Since", "0")
    .setRequestHeader("Cache-Control", "no-cache")
    .setRequestHeader("Connection", "close")
    .Send()
    If .Readystate <> 4 Then Exit Function
    GetText = .getAllResponseHeaders()
    i = InStr(1, GetText, "date:", vbTextCompare)
    If i > 0 Then '网页下载成功
        i = InStr(i, GetText, ",", vbTextCompare)
        GetText = Trim(Mid(GetText, i + 1))
        i = InStr(1, GetText, " GMT", vbTextCompare)
        GetText = Left(GetText, i - 1)
        Dim d As Date = GetText
        d =d.AddHours(8)
        MsgBox("网络时间:" & d)
        'MsgBox("网络时间:" & GetText)
    End If
End With
Retrieval = Nothing
OBJStatus = Nothing
obj = Nothing
End Function


命令窗口:

Dim d As Date
newtime(d)

 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/12/20 19:43:00 [显示全部帖子]

老大自己给自己打个精华

 回到顶部