目前幾乎所有的商業軟件在啟動時都會顯示一個“日積月累”對話框,該對話框一般一次顯示一條關於該軟件的使用技巧,用戶也可以逐條浏覽其中的所有技巧。
下面是用Visual Basic 5.0實現該功能的方法:
關鍵是有三個問題要解決:一是技巧信息以何種形式保存;二是如何隨機讀取;三是如何控制啟動是否顯示。
解決第一個問題,有兩種思路:一是將技巧信息保存在一個文本文件中,一行保存一條技巧,然後使用VB的文件讀寫命令進行讀取;另一種解決辦法是使用VB自帶的Access數據庫,將技巧信息保存在數據庫的一個表中,然後從中讀取信息。本文采用第二種方法來保存技巧信息。
第二個問題比較容易解決,我們可以通過VB的隨機數函數產生隨機數作為要讀取的技巧號,然後用數據庫對象的Move方法定位到該技巧上,並用Field屬性將之顯示出來。
最後一個問題的解決也有兩種思路:一是利用一個單獨的文件保存一個標記,每次啟動時首先檢查該標記,然後根據標記的值決定是否顯示“日積月累”對話框;另一個思路就更富技巧性,我們可以利用Win95的系統注冊表,在注冊表中建立一個應用程序項目,在其中保存是否顯示的標記,每次啟動時首先檢查該標記,當用戶單擊“檢查框按鈕”時,也只需簡單地修改該標記的值即可,而所有這些操作,都可簡單地通過VB中關於系統注冊表的幾條命令來實現。本文采用第二種辦法來實現,大家可以順便從中學到用VB訪問系統注冊表的方法。
1.建立窗體
在應用程序的工程中添加一個標准窗體,在其中放置一個PictureBox、一個CheckBox、兩個Label和三個CommandButton,這些控件的相關屬性設置見下表。
2.建立技巧數據庫
用VB的“可視化數據管理器”生成一個名為“MyMdb”的Access數據庫
(如果應用程序本身已經有現成的數據庫,則可以直接利用它,名字也不需要變),在數據庫中新建一個表,表名為“Tips”,該表只包含一個可變長度的Text型的字段,字段名為Tip,長度可根據具體情況而定,這裡設為50。表建好後,在其中輸入若干條記錄(在Win95目錄中有一個Tips.txt,其中有很多技巧信息,可從中挑選一些,自己再另加一些與應用程序有關的操作要訣形成自己的技巧數據庫)。具體代碼略。
3.幾點說明
(1)GetSetting和SaveSetting的用法
這兩條命令(函數)是VB與系統注冊表交互的關鍵命令,其中GetSetting從注冊表的應用程序項目中返回注冊表項設置值,SaveSetting在注冊表中建立應用程序項目或保存設置值,其具體用法可查找VB的聯機幫助。
(2)應當在卸載應用程序時將注冊表中的信息刪除
由於“日積月累”對話框在注冊表中添加了一些內容,因此在卸載應用程序時應當禮貌地將這些信息刪除,刪除的方法是利用VB提供的另一條關於注冊表的命令DeleteSetting。
(3)在應用程序菜單中可以訪問“日積月累”對話框
除了在應用程序啟動時顯示“日積月累”對話框外,還應該允許用戶通過菜單激活該對話框,方法實在是再簡單不過了,只需在菜單中增加一項“日積月累”,使其打開frmTip窗體即可。
(4)隨機整數的產生
VB中關於隨機數的語句有兩個,一是Randomize,另一個是Rnd,前者根據系統時間產生隨機數種子 ,後者產生0到1之間的隨機小數。為了生成某個范圍內的隨機整數,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這裡,upperbound 是隨機數范圍的上限,而 lowerbound 則是隨機數范圍的下限,如本例中使用Int((RecCount * Rnd) + 1)取得了從1到記錄總數之間的隨機整數。
(5)及時關閉數據庫
使用完數據庫後,應當及時使用set命令關閉數據庫和記錄集,以釋放它們所占的內存空間。