上網最麻煩的事莫過於在地址欄中輸入網址了。雖然有收藏夾幫忙,喜愛的網站多了它也日漸臃腫,占用資源不算,用起來也不是很方便。用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=False'data控件不可見
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編程樂園的其它文章和源碼自行補充。->