上网最麻烦的事莫过于在地址栏中输入网址了。虽然有收藏夹帮忙,喜爱的网站多了它也日渐臃肿,占用资源不算,用起来也不是很方便。用VB做个“网络助手”吧!
这个网络助手至少要实现这样的功能:双击用户界面的网站名称,就能调出浏览器并进入该网站。(当然,如果你愿意,还可以添加其它功能,如删除、修改、添加网址,自动拨号,计时等)构想是这样:用文本文档记录网站名称,程序运行时读取文本文档并在用户界面显示网站名,当用户双击网站名称时调出网址、链接。
为此,着手编程之前我们必须做两项准备工作:
一.用记事本编写一个名为homepage的TXT文档。每行写一个网站名称,不要有空行。
二.用数据库程序Access(Office组件之一)建立一个名为address的数据库,表名为net,主字段名为netaddress。给数据库输入记录:按照homepage.txt文档中的网站顺序写好各网站主页的详细网址,结束后存盘退出。
现在可以进入具体编程了。
这个程序所需控件不多:一个data控件,一个ListBox控件和一个Label控件即可。在属性窗口将data控件与库文件及其表链接好,并将Label控件与Data控件绑定。接着调整一下各控件的位置和大小。
下面是具体的代码,我将在代码中穿插作些必要的解释:
OptionExplicit
调用浏览器的API
PrivateDeclareFunctionShellExecuteLib”shell32.dll”Alias”ShellExecuteA”(ByValhwndAsLong,ByVallpOperationAsString,ByVallpFileAsString,ByVallpParametersAsString,ByVallpDirectoryAsString,ByValnShowCmdAsLong)AsLong
DimSortAsString申明选择类别
DimaddressAsString申明网址
Dimaddresslink申明网址链接
DimAllLinesAsNewCollection内存中的行数据库(你可以看得出来,模仿了”日积月累”的代码来实现对文档文档的读取和显示)
DimCurrentLineAsLong当前行集合索引
链接网址声明
PrivateSubLink()
address=ShellExecute(0&,vbNullString,address,vbNullString,vbNullString,vbNormalFocus)
EndSub
Form_Load事件
PrivateSubForm_Load()
Data1.DatabaseName=App.Path “\address.mdb”
定位库文件(虽然在属性中已经绑定了数据库,为使程序能在别的机器上正常运行,这行是有必要的)
Data1.RecordSource=”net”字段
Data1.Visible=Falsedata控件不可见
DimnextLineAsString从文件中读出的每一行
DimInFileAsInteger文件的描述符
InFile=FreeFile
OpenApp.Path “\homepage.txt”ForInputAsInFile打开文件
WhileNotEOF(InFile)
LineInput#InFile,nextLine
AllLines.AddnextLine
Wend
CloseInFile
将所有行集合按顺序添加到列表框
DimiAsInteger
Fori=0ToAllLines.Count-1
GetNextLine
Nexti
EndSub
单击列表框
PrivateSubList1_Click()
DimIndAsInteger
Ind=List1.ListIndex
IfInd<Data1.Recordset.RecordCountThen
Data1.Recordset.AbsolutePosition=Ind
Else
Data1.Recordset.Move(Ind)
EndIf
address=Label1.Caption
EndSub
双击列表框
PrivateSubList1_dblClick()
Link
EndSub
提取当前行
PublicSubGetCurrentLine()
IfAllLines.Count>0Then
List1.AddItemAllLines.Item(CurrentLine)
EndIf
EndSub
提取下一行
PrivateSubGetNextLine()
CurrentLine=CurrentLine 1
IfAllLines.Count<CurrentLineThen
CurrentLine=1
EndIf
GetCurrentLine
EndSub
至此,程序已经可以达成我们的目的了。如果需要添加其它功能,请参阅VB编程乐园的其它文章和源码自行补充。->