利用C++Builder6.0開(kāi)發(fā)簡(jiǎn)單的車(chē)輛管理系統(tǒng)

字號(hào):

摘要:本文詳細(xì)介紹了利用C++ Builder6.0 設(shè)計(jì)開(kāi)發(fā)車(chē)輛 管理 系統(tǒng)的過(guò)程,涉及到了類(lèi)的設(shè)計(jì),數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),對(duì)數(shù)據(jù)庫(kù)表的操作,Access數(shù)據(jù)庫(kù)的設(shè)計(jì)等
    關(guān)鍵詞:C++ Builder6.0開(kāi)發(fā) ADO Access數(shù)據(jù)庫(kù)
    C++ Builder作為一個(gè)快速的可視化開(kāi)發(fā)工具,受到廣大編程愛(ài)好者的喜愛(ài)。利用該工具可以快速地建立各種應(yīng)用,筆者以開(kāi)發(fā)一個(gè)“車(chē)輛管理系統(tǒng)”為例來(lái)說(shuō)明如何開(kāi)發(fā)一個(gè)管理系統(tǒng)的過(guò)程,以及相關(guān)的技術(shù)。
    1 確定需求
    對(duì)于不同的管理系統(tǒng)有不同的需求模型,我們僅以“車(chē)輛管理系統(tǒng)”為例來(lái)確定需求。主要有以下系統(tǒng)需求:
    (1)管理功能,能夠?qū)?chē)輛派遣單(表)等進(jìn)行添加、刪除、修改的操作;
    (2) 查詢(xún)功能,能夠?qū)Ω鞅韱蔚臄?shù)據(jù)進(jìn)行查詢(xún);
    (3) 打印功能,能夠按指定的格式生成Word文件,并打印;
    (4) 統(tǒng)計(jì)分析功能,如統(tǒng)計(jì)駕駛員和車(chē)輛的行駛公里數(shù)等。
    涉及到的管理表單主要有車(chē)輛派遣單、加油情況單、車(chē)輛保養(yǎng)單、行駛卡管理表等。限于篇幅關(guān)系本文只討論滿(mǎn)足需求1和2的情況。
    2 確定使用的技術(shù)
    使用C++ Builder6.0作為開(kāi)發(fā)工具,使用Microsoft Access2000作為后臺(tái)數(shù)據(jù)庫(kù),根據(jù)車(chē)輛派遣單、加油情況單、車(chē)輛保養(yǎng)單、行駛卡管理表建立相應(yīng)的數(shù)據(jù)表;訪問(wèn)數(shù)據(jù)庫(kù)采用ADO技術(shù)等。
    3 設(shè)計(jì)相應(yīng)的類(lèi)
    a)類(lèi)TMainFrame,是主框架,是整個(gè)系統(tǒng)的基本界面,也是其它界面控件的容器;
    b)類(lèi)TCheliangpaiqian,車(chē)輛派遣類(lèi),包括有車(chē)輛派遣表記錄的插入,修改、刪除、統(tǒng)計(jì)等方法(成員函數(shù));
    c)數(shù)據(jù)庫(kù)通用訪問(wèn)類(lèi)TDBAccess,是一個(gè)TDataModule類(lèi)的子類(lèi),它的主要功能是為訪問(wèn)各種表單(車(chē)輛派遣單、加油情況單、車(chē)輛保養(yǎng)單、行駛卡管理表等)提供統(tǒng)一的數(shù)據(jù)庫(kù)訪問(wèn)接口,它封裝(包含)了TADOConnection,TADOTable,ADOQuery三個(gè)ADO數(shù)據(jù)庫(kù)類(lèi);
    d)其它的表單處理類(lèi),如加油情況類(lèi)等;
    e)其它輔助類(lèi)及界面對(duì)話框等,如查詢(xún)對(duì)話框,刪除確認(rèn)對(duì)話框,修改查看記錄對(duì)話框等。
    4 數(shù)據(jù)庫(kù)設(shè)計(jì)
    考慮到系統(tǒng)的簡(jiǎn)單易用性以及不涉及到 網(wǎng)絡(luò) 連接的需求,使用Access作為后臺(tái)數(shù)據(jù)庫(kù)。打開(kāi)Microsoft Access2000,分別創(chuàng)建車(chē)輛派遣單(cheliangpaiqian)、加油情況單(jiayouqingkuang)、車(chē)輛保養(yǎng)單(cheliangbaoyang)、行駛卡管理表(xingshika)等,如下圖:
    圖1 數(shù)據(jù)庫(kù)設(shè)計(jì)
    車(chē)輛派遣表主要記錄車(chē)輛派遣的情況,包括車(chē)輛型號(hào)、車(chē)牌號(hào),到達(dá)時(shí)間地點(diǎn),以及何人因何事用車(chē)等信息。以此表為例,主要包括的字段為:
    從上表可以看出,字段id為該表的主鍵,它地標(biāo)識(shí)表中的記錄。字段jiashiyuanname的內(nèi)容不可為空。其它表的創(chuàng)建與此表類(lèi)同,這里不再贅述。
    5 程序設(shè)計(jì)
    5.1 程序的界面設(shè)計(jì)與主框架TMainFrame
    首先是程序的界面設(shè)計(jì),界面力求簡(jiǎn)潔美觀,利用C++ Builder提供的可視化控件可以很方便快速地設(shè)計(jì)出系統(tǒng)的界面,但由于C++ Builder提供的可視化控件樣式過(guò)于單一,界面千篇一律。本系統(tǒng)在設(shè)計(jì)中采用了第三方的Skin控件,使系統(tǒng)界面更加美觀,具有親和力。在具體控件的布局與選用上,采用了人性化設(shè)計(jì)的理念。如下圖:
    圖2 車(chē)輛管理系統(tǒng)
    設(shè)計(jì)完界面后,為各個(gè)按鈕添加行為代碼。以車(chē)輛派遣模塊為例,在主框架的頭文件MainframeObj.h中加入車(chē)輛派遣類(lèi)TCheliangpaiqian的頭文件CheliangpaiqianObj.h,如下所示:
     ……
     #include “CheliangpaiqianObj.h”;
     ……