常貴林
(天津城市建設管理職業(yè)技術學院,天津 300134)
在實際管理應用時有很多情況是需要簡單、易于維護和使用,并且在數(shù)據(jù)量不是非常龐大、功能不是非常繁瑣的情況下,可以不使用任何數(shù)據(jù)庫引擎,只使用最簡單的記錄文件來達到實際需要。通訊管理程序就是最標志性的例子,并且也是最簡單的信息管理方法的應用。在日常生活和工作中,通訊信息管理經常會被用到,隨著社會的進步,人們的聯(lián)系方式的不斷增多,聯(lián)系人群的不斷擴增,用筆寫或腦子記都遠不能滿足需要,因此通訊管理軟件應運而生。然而如此簡單的應用若利用數(shù)據(jù)庫引擎開發(fā)絕對是大材小用,因此我編寫了一個利用記錄文件來實現(xiàn)應用的通訊管理程序。該程序只需具有VB6動態(tài)鏈接庫的Windows環(huán)境下就可使用,不需任何數(shù)據(jù)庫引擎,程序簡潔、易于使用。下面就以該通訊程序為例,談談其開發(fā)過程和所涉及到的問題及解決方法。
今天,計算機已經被應用于許多領域,計算機應用之所以如此流行的原因主要有以下幾個方面:
首先,計算機可以代替人工進行許多繁雜的勞動;
其次,計算機可以節(jié)省許多資源;
第三,計算機可以大大的提高人們的工作效率;
第四,計算機可以使敏感文檔更加安全,等等。
我們現(xiàn)在就是利用計算機來管理通訊錄,以此來給我們的生活和工作帶來一點點便利。
該程序的開發(fā)主要應包括記錄輸入和記錄查詢兩個大方面。對于前者要求建立起數(shù)據(jù)完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序具有功能完備,易使用等特點。綜合以上要求,我們使用最簡單的編程語言VB6.0作為開發(fā)環(huán)境,采用記錄文件作為存放信息的庫文件。微軟公司的Visual Basic6.0是當前比較流行的編程工具,由于該編程工具簡單易學,尤其是剛剛涉及軟件開發(fā)的人員容易掌握,因此在許多軟件開發(fā)中被廣泛使用,并且功能也比較強大,成為幾個比較流行且經典的編程環(huán)境之一。由于VB6.0提供了大量的控件,這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。故而,VB6.0是實現(xiàn)本系統(tǒng)的一個相對較好的選擇。
VB6.0應用程序基本的構建塊是用戶所創(chuàng)建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法)。開發(fā)人員可以最有效的利用所創(chuàng)建的每一個對象,使應用程序具有可通用性和強有力的功能。
VB6.0的應用由一系列對象組成,包括有函數(shù)、菜單、數(shù)據(jù)窗口、用戶對象、用戶事件等等,對象中又包含若干控件,如命令按鈕、文本框等,這些對象和控件都可在許多應用中重復使用。
我們利用VB6.0簡單方便的控件組成主程序界面,并根據(jù)實際需求設計成比較小巧的窗體。如下圖所示:
圖1 程序主要流程框圖
圖2 主程序界面
菜單是程序最重要的特性之一,大多數(shù)程序都依賴一個定義良好的菜單使程序易于使用和維護,VB6.0也提供了強大的創(chuàng)建菜單功能使程序更加標準。本人在此程序中定義了三個大菜單項:退出、編輯、關于。其中編輯菜單項里又包含有:新增、修改、刪除、保存、查找等子項。同時為了美觀,該程序中使用了袁飛.net菜單控件,使菜單具有XP風格。
Toolbar是工具條控件,是實現(xiàn)工具條的主體。其中的按鈕可以顯示圖像和標題,并按功能分組或加入分隔符,還可以設置鼠標停留在其上顯示的提示字符。
由于此程序功能比較少,因此所有的操作都在工具欄中有相應按鈕,這樣,實際操作起來就比較方便和快速。
各種信息,比如姓名、電話等都需要在界面上顯示出來,在此程序中使用了文本編輯框作為顯示和編輯的載體,并且為了輸入方便,應該設計有通過回車將輸入焦點自動下移的功能,因此通過控件的SetFocus方法來實現(xiàn)。
在此程序中,還提供了顯示照片的功能,一方面,在主界面上設計一個Image控件用來顯示照片縮略圖;另一方面,當使用者想看照片放大后的原樣時,可以通過雙擊主界面上的照片觸發(fā)另一個顯示窗體的出現(xiàn),在這個顯示窗體中使用Picturebox控件來顯示照片原樣,并且在雙擊顯示窗體后關閉顯示窗體,使主界面重新獲得焦點。這些都可以在控件的DblClick事件中加入相關代碼即可,詳見附錄中的程序源代碼。
專業(yè)水平的軟件通常都帶有聯(lián)機幫助功能。無論寫出來的程序是要給大量的用戶使用,還是僅僅局限于公司內部有限的使用者,我們都應該為用戶提供詳細的、易于理解的聯(lián)機幫助文檔,以便于用戶在遇到問題時可以在軟件運行過程中幫助解決。Quick CHM就是用來創(chuàng)建運行于32位Windows操作系統(tǒng)下的幫助文件的工具軟件,使用它我們可以為我們編寫的應用程序生成一組幫助文件。在這里,本人利用它制作了在通訊管理程序中用到的基本功能的幫助文件。
數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織和表達信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計算機中的數(shù)據(jù)庫大體可以分為兩大類:非關系型數(shù)據(jù)庫和關系型數(shù)據(jù)庫。
雖然使用數(shù)據(jù)庫方法功能強大,但軟件的正確設計應該是所用到的方法是否真正適用于該軟件,應該在能夠完成所有功能的前提下,選擇編程最精簡、使用最方便快捷的方法。因此在本人所編寫的通訊管理程序中,使用記錄文件存儲所需的所有數(shù)據(jù),完全不需任何數(shù)據(jù)庫引擎,從而取代數(shù)據(jù)庫方法。
所謂記錄文件就是該類文件包含某一特定記錄類型的數(shù)據(jù)(在此程序中是自定義的記錄類型)。由于記錄文件的結構已經由定義它的數(shù)據(jù)類型所確定,故寫記錄文件和讀記錄文件就比較簡單而且迅速,尤其適用于通訊管理這樣的簡單信息管理程序中。
下面是此程序中定義的類型結構和注釋:
該類型中定義了一個通訊記錄的所有信息,包括此人的姓名、家庭電話等等。
在VB6.0中操作記錄文件的方法和操作其它類型文件的方法基本相同,下面是程序中用到的主要操作記錄文件的方法:
打開文件
Open指定文件名For指定文件方式As文件號Len=記錄長度
寫文件
Put文件號,記錄號,數(shù)據(jù)的變量名
讀文件
Get文件號,記錄號,數(shù)據(jù)的變量名
關閉文件
Close文件號
其中的文件名必須是帶有完全路徑的文件名,該程序用來存放數(shù)據(jù)的記錄文件名是Tellbook.dbf,放在運行目錄下;文件方式均采用Random(隨機)方式;文件號是從1-511的有效數(shù)字文件號,在程序中使用FreeFile自動得到下一個有效文件號;記錄號是指明在此處開始寫入的位置;數(shù)據(jù)的變量名則是程序中所定義的TellType類型的變量。
操作文件必須首先打開文件,等進行讀寫操作完畢后必須還要關閉文件。
為體現(xiàn)人機交互,讓程序運行時首先判斷目錄中是否有Tellbook.dbf文件,因此在程序首次使用時,會提示是第一次使用的信息。為了讓程序知道何時處于增加和修改,以便于進行其它操作時提示是否存盤(這樣會更加人性化),因此當我們開始增加通訊信息時,首先要選擇“新增”,同時將全局變量Save_flag置為False,以便告訴程序現(xiàn)在開始準備寫入數(shù)據(jù),沒有存盤,并且將所有文本框的Locked屬性置為False(程序啟動時會將所有文本框的Locked屬性置為True,此時不能響應鍵盤輸入),當輸入完數(shù)據(jù)后,會等待使用者去選擇保存,并當使用者操作其它且沒有保存時,程序通過MsgBox提示是否要保存,并在“保存”的代碼中寫記錄文件,將所增加的一組信息保存到文件中。
設計思路與新增記錄是一樣的,當用戶通過查找或翻閱找到欲修改的記錄時,通過選擇“編輯”,在相關代碼中將Save_flag置為False,并且將所有文本框的Locked屬性置為False,待編輯修改完畢后,所有的操作都和新增記錄時一樣。
任何程序在進行刪除操作時,一般都會有確認提示,在該程序中也不例外。首先,會通過MsgBox顯示確認窗口,當用戶確認后才進行刪除操作。刪除方法是在打開記錄文件的同時,再建立一個臨時記錄文件,逐條判斷不是所需刪除的記錄就向臨時文件里復制,遍歷完整個文件后就完成了刪除操作。最后使用FileCopy和Kill方法將臨時文件替換為程序所需的記錄文件。
這是任何管理程序所不可缺少的部分,查找方式多、速度快、界面好是使用者所需要的,更是任何信息管理程序所必需的。因此在這個程序中,為了查找方便,提供了按姓名、手機、家庭電話、單位電話等四種查詢方式,基本滿足了一般查找方法。
當使用者選擇查詢方式時,會將標志To_find_type置相應數(shù)值,并在查找過程Find_pepole中根據(jù)不同方式進行查詢,找到該記錄后,將相應記錄在主界面上顯示出來。
經過仔細的考慮和一段時間的調試,通訊管理程序基本開發(fā)完畢。其功能基本符合使用需求,能夠完成通訊管理所需的基本功能,并使用安裝制作工具Setupbuilder制作了安裝文件,以便適用于沒有安裝VB的環(huán)境使用。雖然該程序比較簡單,但從側面體現(xiàn)了信息管理程序所需的一些思路和開發(fā)軟件的基本步驟,并展現(xiàn)了通過記錄文件來代替簡單數(shù)據(jù)庫進行數(shù)據(jù)化管理的方法。
[1]Bob Reselman,Richard Peasley,Wayne Pruchniak.Visual Basic 6.0使用指南[M].電子工業(yè)出版社,2005.
[2]黃淼云,張學忠,王福成.Visual Basic控件高手出版社[M].北京希望電子出版社,2001.