Foxtable(狐表)用户栏目专家坐堂 → 代码提示出错


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

主题:代码提示出错

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


加好友 发短信
等级:婴狐 帖子:68 积分:590 威望:0 精华:0 注册:2015/3/28 19:58:00
代码提示出错  发帖心情 Post By:2015/7/9 19:16:00 [只看该作者]

Dim i As Integer
Dim HostName As String=System.Net.Dns.GetHostName '获得本机的机器名
Dim IPAdress As System.Net.IPAddress=System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) '获得本机的IP地址
Dim ip99 As String=IPAdress.Tostring
If ip99.contains(mid(IP1,1,5))=0 Then '如果不是通过公司局域网的IP1地址上网(即通过外网上网,或通过公司局域网内的路由器上网)
    '由于不知道飞的代码如何转化为字符串,所以参考lin_hailun的代码,均在http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=24372&skin=0
    '但lin_hailun采用的http://city.ip138.com/city.asp提供的城市是错误的,至少我单位的解释是错误的,所以采用飞的http://ip.qq.com/,如果不需要获取城市代码,采用lin_hailun的代码更加简洁.
    Dim web As New System.Windows.Forms.WebBrowser()
    web.Navigate("http://ip.qq.com/")
    Do Until web.ReadyState = 4
        Application.DoEvents
    Loop
    Dim elems As System.Windows.Forms.HtmlElementCollection
    Elems = web.Document.GetElementsByTagName("Body")   '根据标签得到数据集合
    Dim data As String = elems(0).InnerText
    Dim start As Integer = data.IndexOf("IP为") + 4
    Dim ip91 As String =trim(data.SubString(start,15)) 'IP地址,最多15个字符
    Dim i As Integer
    Dim j As String
    For i =8 To 15 'IP地址至少7位
        j =mid(ip91,i,1)
        If j=chr(10) Then
            ip91=mid(ip91,1,i-1) '最终的IP地址
            Exit For
        End If
    Next
    start = data.IndexOf("IP所在地为") + 9
    Dim ip92 As String=trim(data.SubString(start,15)) 'IP地址对应的城市,最多15个字符
    For i  =6 To 15 '城市最少5个字符
        j =mid(ip92,i,1)
        If j=" " Then
            ip92=mid(ip92,1,i-1) '最终的城市,忽略后面的运营商
            Exit For
        End If
    Next
    ip91=ip91 & "|" & ip92 '合并
End If
图片点击可在新窗口打开查看此主题相关图片如下:21.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 19:22:00 [只看该作者]

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate("http://ip.qq.com/")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
Dim elems As System.Windows.Forms.HtmlElementCollection
Elems = web.Document.GetElementsByTagName("Body")   '根据标签得到数据集合
Dim data As String = elems(0).InnerText
Dim start As Integer = data.IndexOf("IP为") + 4
Dim ip91 As String =trim(data.SubString(start,15)) 'IP地址,最多15个字符
Dim i As Integer
Dim j As String
For i =8 To 15 'IP地址至少7位
    j =mid(ip91,i,1)
    If j=chr(10) Then
        ip91=mid(ip91,1,i-1) '最终的IP地址
        Exit For
    End If
Next
start = data.IndexOf("IP所在地为") + 9
Dim ip92 As String=trim(data.SubString(start,15)) 'IP地址对应的城市,最多15个字符
For i  =6 To 15 '城市最少5个字符
    j =mid(ip92,i,1)
    If j=" " Then
        ip92=mid(ip92,1,i-1) '最终的城市,忽略后面的运营商
        Exit For
    End If
Next
ip91=ip91 & "|" & ip92 '合并
msgbox(ip91)
'End If

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


加好友 发短信
等级:婴狐 帖子:68 积分:590 威望:0 精华:0 注册:2015/3/28 19:58:00
  发帖心情 Post By:2015/7/9 20:37:00 [只看该作者]

好了,谢谢

 回到顶部