• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

做个“网络助手”程序

发布: 2007-7-14 20:28 | 作者: 佚名    | 来源: 网络转载     | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网 作者:土人

上网最麻烦的事莫过于在地址栏中输入网址了。虽然有收藏夹帮忙,喜爱的网站多了它也日渐臃肿,占用资源不算,用起来也不是很方便。用VB做个“网络助手”吧!
这个网络助手至少要实现这样的功能:双击用户界面的网站名称,就能调出浏览器并进入该网站。(当然,如果你愿意,还可以添加其它功能,如删除、修改、添加网址,自动拨号,计时等)构想是这样:用文本文档记录网站名称,程序运行时读取文本文档并在用户界面显示网站名,当用户双击网站名称时调出网址、链接。
为此,着手编程之前我们必须做两项准备工作:
一.用记事本编写一个名为 homepage 的 TXT 文档。每行写一个网站名称,不要有空行。
二.用数据库程序 Access (Office组件之一) 建立一个名为 address 的数据库,表名为.net,主字段名为 netaddress。给数据库输入记录:按照 homepage.txt 文档中的网站顺序写好各网站主页的详细网址,结束后存盘退出。

现在可以进入具体编程了。
这个程序所需控件不多:一个 data 控件,一个 ListBox 控件和一个 Label 控件即可。在属性窗口将 data 控件与库文件及其表链接好,并将 Label 控件与 Data 控件绑定。接着调整一下各控件的位置和大小。

下面是具体的代码,我将在代码中穿插作些必要的解释:

Option Explicit
'调用浏览器的API
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Dim Sort As String '申明选择类别
Dim address As String '申明网址
Dim addresslink '申明网址链接
Dim AllLines As New Collection '内存中的行数据库(你可以看得出来,模仿了"日积月累"的代码来实现对文档文档的读取和显示)
Dim CurrentLine As Long '当前行集合索引

'链接网址声明
Private Sub Link()
address = ShellExecute(0&, vbNullString, address, vbNullString, vbNullString, vbNormalFocus)
End Sub

'Form_Load 事件
Private Sub Form_Load()
Data1.DatabaseName = App.Path + "\address.mdb"
'定位库文件(虽然在属性中已经绑定了数据库,为使程序能在别的机器上正常运行,这行是有必要的)
Data1.RecordSource = "net" '字段
Data1.Visible = False 'data控件不可见
Dim nextLine As String '从文件中读出的每一行
Dim InFile As Integer '文件的描述符
InFile = FreeFile
Open App.Path + "\homepage.txt" For Input As InFile '打开文件
While Not EOF(InFile)
Line Input #InFile, nextLine
AllLines.Add nextLine
Wend
Close InFile
'将所有行集合按顺序添加到列表框
Dim i As Integer
For i = 0 To AllLines.Count - 1
GetNextLine
Next i
End Sub

'单击列表框
Private Sub List1_Click()
Dim Ind As Integer
Ind = List1.ListIndex
If Ind < Data1.Recordset.RecordCount Then
Data1.Recordset.AbsolutePosition = Ind
Else
Data1.Recordset.Move (Ind)
End If
address = Label1.Caption
End Sub

'双击列表框
Private Sub List1_dblClick()
Link
End Sub

'提取当前行
Public Sub GetCurrentLine()
If AllLines.Count > 0 Then
List1.AddItem AllLines.Item(CurrentLine)
End If
End Sub

'提取下一行
Private Sub GetNextLine()
CurrentLine = CurrentLine + 1
If AllLines.Count < CurrentLine Then
CurrentLine = 1
End If
GetCurrentLine
End Sub

至此,程序已经可以达成我们的目的了。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网