关闭

VB实现天气查询

标签: vbwebbrowsermicrosoftstringinternetcommand
1725人阅读 评论(1) 收藏 举报
分类:
领导出差了,总是很担心那边的天气情况,于是想在以前写的软件里面加入天气预报功能,多少方便些。

其实方法很是简单,就是从网页上抓取有用信息即可。只不过要在vb中先填入"Microsoft Internet Controls"这个部件,因为要使用到其中的WebBrowser。添加方法很简单,添加后如下图:

 

 

准备工作已经就绪,正式工作开始:

新建一个form表,在其上添加一个WebBrowser,一个按钮,一个Label。WebBrowser就是我们的网页承载器了。下面给出示例:

Private Sub Command1_Click()

Call WebBrowser1.Navigate("http://php.weather.sina.com.cn/search.php?city=北京")

Label11.Caption = "请 稍 后 …"

End Sub

下载下来的网页部分内容如下:

源文件部分如下:

既然知道文件的具体内容了,也就好搜索所需信息了,下面就是重点:

  Private Sub WebBrowser1_DownloadComplete()
  On Error Resume Next
  weatherpage = WebBrowser1.Document.documentElement.innerHTML
          Dim nhEndIndex     As Long
          Dim nhBeginIndex     As Long

          Dim htemperature As String
          Dim ltemperature As String
         
          Dim nlEndIndex     As Long
          Dim nlBeginIndex     As Long
     
              nhEndIndex = InStr(70, weatherpage, "℃")
              If nhEndIndex > 0 Then
                  nhBeginIndex=InStrRev(weatherpage,">",nhEndIndex)+1
                  Label1=counterweather
                  htemperature=Mid(weatherpage,nhBeginIndex,nhEndIndex-nhBeginIndex+1)                 
                 
                  nlEndIndex=InStr(nhEndIndex+1, weatherpage, "℃")
                  nlBeginIndex=InStrRev(weatherpage,"~",nlEndIndex)+1
                  ltemperature=(Mid(weatherpage,nlBeginIndex,nlEndIndex-nlBeginIndex+1))
                 
                  Label1="北京今天:"&htemperature &"~"              End If
  End Sub

简单讲解一下就是:找到第一个℃,从℃往前到>为止的内容是最高温度部分,再往下找下一个℃,从这个℃往前到~,是最低温度部分。分别进行赋值给htemperature 和 ltemperature 然后通过label1显示即可。

注意:这段程序是和网页的内容相关的,如果你选择的气象网站的内容不是这样排列的,大家就要稍微修改一下代码了,但万变不离其宗。

 

当然,上面只是简单介绍了这种方法,还很不完善。比如:网页可能刷新很慢,或者出错怎么办?呵呵,当然方法很多也不难,还是大家自己想想吧,我就不多言了!

而且再次说下,这个方法不只适用于天气预报,只要是获取网页信息的,都适用。比如:股票信息,招聘信息,价格etc.

 

还是保留节目,show下我自己的软件:(自己也认为很弱)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:383702次
    • 积分:5186
    • 等级:
    • 排名:第5649名
    • 原创:153篇
    • 转载:27篇
    • 译文:0篇
    • 评论:87条
    最新评论
    镜像链接