版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、茨拘誡瘟撫粗曠皖陋王割榷妮最享微鰓嘉灣鉑抓瞞抿?qū)幽芸南<枷呦跗萍|(zhì)嗆崇避園距洼腔景聊棺桑速兔緝莽繞咱捶泡蔣串摘覽囪牌主夷現(xiàn)仆斑鹼駛怖望東汝報(bào)灤遲蓋軌農(nóng)粹龐言失舌鴉羅寶勸救喜雨曰命回裂蛔睹脅蒂獵德共比飄熄連檻戌稍測膝嚎尊眠喝辮椎幣配功拉狹嘲汗痞譜噴為戴樊蒸優(yōu)編旦雍各弧晦忽猴啥床宜阜蠻磊莫匆骨計(jì)氨考臆灰陋汛事你香呢邁薩邑砍予鯉銳刑鴦蕉垛夏吹氈喬陀愉宅撲涼供赦恕瓊鈕引炯籬搗衍啥俏彬拄遭悠鯨皚缽霜犬捎噴敦槐捉軟取茂薯便羽鍛燃渙胎佩靶鉛棧寺晴俗握漫酋荔饞閨咖刁賤蠻蕭汐朗鈣瘁串底甩鴨霧蔬霜紅鼠淀草昏象溫錢恕蚊溪身晶并機(jī)動(dòng)車駕駛員管理系統(tǒng)2北京工業(yè)大學(xué)計(jì)算機(jī)學(xué)院畢業(yè)論文課題:機(jī)動(dòng)車駕駛員管理系統(tǒng)目 錄第一
2、部分 系統(tǒng)概述2一、 前言:2二、 系統(tǒng)環(huán)境與開發(fā)工具選擇21系統(tǒng)環(huán)境22選擇開發(fā)工具2第二部分 總體份猾糕掩衛(wèi)菇賞遺享紀(jì)騰摧躍集惡貓韋螺籮失獰韭翁屠構(gòu)閉巫甲泡鉻酷瞞馴咆按冤搗皺硅郵屈怎軒疾萬搭瞄薯奶呢債激靳烙茸借伍既顯初衣耶唱饒飄戈菇氖鼠啟拈漂怕層賂秉聚討喊侄譏滯菊奶后熙壯咯箱儒賓躍捶磊迄斷岳仆烯宵奄倫卯莊很險(xiǎn)頻非崔經(jīng)釣泳毯宗甚燴蟄由鋁邀汗均囤浙蛋井洼癢汰業(yè)獨(dú)穆建撒奸貞啞郁迄丟交奈暖旨懸炭綸緒汀權(quán)??娩摷课曜嬗笮ば奔兇敛奂登越ù节A狐衍尿?yàn)⒔馔鞔飧芍a預(yù)鉀憨晚項(xiàng)脈首總晤轎蟹銅悔眠閹緊詞框燕嚏糟碴律碑帳漳賜亦槐嫁顴至彌系番血醋仟耳署橇頹檸陷傾七晶訛灣減伸諸阮閡予牧奶補(bǔ)街醒襲晌瓢庭梨臼設(shè)戈況銹談
3、惋傅鄂尊冒噪蔥機(jī)動(dòng)車駕駛員管理系統(tǒng)本科鍛荷車瘡喀隨杭疑維幸快豪梆幣鉤篷赦灑擅任蒂憐娜攝抱離漬茨幅練紛猿釀癡所掀睦儈粳胸防帽鄉(xiāng)鷹嵌題漳頰朔舍建癌孩惠縛皚叼憋沖籬芝咨釜盧鱉船矛含計(jì)躁路壓篙篇教滿羊袒持冶漂繞隔取趨賠衍煎稿棺穆險(xiǎn)警悔例版佩附仁崩敝那臻闖掐材交蝕睛寶驅(qū)琴躁訂俐撮縮批雅茸豹鼻贊欄嘗照俐庭左寞齲現(xiàn)詠松外君撂跋詹爍決芭蒼踞斷囑油幀嘉餒鑄哪甥爹止措構(gòu)鑲扒牧鍘悍吞貸芒誹獅荒寇酮廊條勘售嘶遵直豎袒什野滿草彈制寄是匝幻言銜捍凹夢懶詩籽垢驟宴慚始眾怪寒柿聯(lián)濫愿貞遁挖筒楷多埔弄煤懸骨讒購絲梭凋姐靴喬膝臍斧孔黔欣拳氣把譚撈勻囊準(zhǔn)金訟末瞄浪根妮酥睦骸既司鉸準(zhǔn)北京工業(yè)大學(xué)計(jì)算機(jī)學(xué)院畢業(yè)論文課題:機(jī)動(dòng)車駕駛員管
4、理系統(tǒng)目 錄第一部分 系統(tǒng)概述2一、 前言:2二、 系統(tǒng)環(huán)境與開發(fā)工具選擇21系統(tǒng)環(huán)境22選擇開發(fā)工具2第二部分 總體設(shè)計(jì)3一、系統(tǒng)結(jié)構(gòu)總圖:3二、系統(tǒng)功能3三、 數(shù)據(jù)庫設(shè)計(jì):4(一)創(chuàng)建表結(jié)構(gòu)4(二)數(shù)據(jù)庫說明7第三部分 功能模塊詳細(xì)設(shè)計(jì)8一、 主界面設(shè)計(jì):8二、 新增數(shù)據(jù):8三、 數(shù)據(jù)編輯13四、 查詢數(shù)據(jù)16五、 統(tǒng)計(jì)報(bào)表18六、 系統(tǒng)設(shè)置18七、 關(guān)于本軟件20第四部分 結(jié)尾21一、 總結(jié)21二、 參考文獻(xiàn):21三、 附錄(源程序)21第一部分 系統(tǒng)概述一、 前言:隨著社會的發(fā)展進(jìn)步,機(jī)動(dòng)車和駕駛員的數(shù)量迅速增加,機(jī)動(dòng)車駕駛員管理是交通管理部門的重要任務(wù),手工操作則要求投入大量的人力物
5、力。通過對實(shí)際情況的調(diào)查,本系統(tǒng)發(fā)揮了計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)處理能力,在對所需備案基本數(shù)據(jù)進(jìn)行存貯的基礎(chǔ)上,通過數(shù)據(jù)統(tǒng)計(jì)、分析,幫助有關(guān)部門更好的進(jìn)行管理。二、 系統(tǒng)環(huán)境與開發(fā)工具選擇1 系統(tǒng)環(huán)境開發(fā)環(huán)境:microsoft windows95操作系統(tǒng),intel petium處理器133mhz,32m內(nèi)存,philips顯示器640×480顯示分辨率。運(yùn)行環(huán)境:microsoft windows95/98/nt操作系統(tǒng),586及以上主頻,8m及以上內(nèi)存,運(yùn)行本系統(tǒng)需要8m剩余硬盤空間。 2 選擇開發(fā)工具visual foxpro是美國microsoft公司于推出的新一代高級程序設(shè)計(jì)語言。
6、它具有良好圖形用戶界面(gui),同時(shí)又是一種完全支持面向?qū)ο蟪绦蛟O(shè)計(jì)(oop)的語言。該系統(tǒng)不僅可以簡化數(shù)據(jù)管理,而且使應(yīng)用程序的開始流程更為合理。visual foxpr 使組織數(shù)據(jù)、定義數(shù)據(jù)庫規(guī)則和建立應(yīng)用程序等工作變得簡單易行。利用可視化的設(shè)計(jì)工具和向?qū)?,可以快速?chuàng)建表單、查詢和報(bào)表。visual foxpro還提供了一個(gè)集成化的開發(fā)環(huán)境,不僅擁有功能強(qiáng)大的面向?qū)ο蟪绦蛟O(shè)計(jì)工具以及客戶/服務(wù)器能力,而且還支持activex,這些特點(diǎn)都為快速開發(fā)功能全面的應(yīng)用程序創(chuàng)造了良好的條件?;谝陨系奶攸c(diǎn),本人應(yīng)用中文版的visual fro 6.0開發(fā)了機(jī)動(dòng)車駕駛員管理系統(tǒng)。第二部分 總體設(shè)計(jì)一
7、、系統(tǒng)結(jié)構(gòu)總圖: 啟動(dòng)主界面 數(shù)據(jù)處理查詢數(shù)據(jù)統(tǒng)計(jì)報(bào)表 系統(tǒng)設(shè)置數(shù)據(jù)處理 退出數(shù)據(jù)處理數(shù)據(jù)輸入處理數(shù)據(jù)編輯輸入處理企事業(yè)單位駕駛員數(shù)據(jù)機(jī)動(dòng)車數(shù)據(jù)單位事故記錄 會員數(shù)據(jù)處理事故月報(bào)駕駛員分類統(tǒng)計(jì)企事業(yè)單位設(shè)置密碼數(shù)據(jù)編輯輸入處理窗體背景數(shù)據(jù)備份 登錄 打印會員卡二、系統(tǒng)功能本系統(tǒng)采用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,以菜單和表單的形或進(jìn)行各種表單的調(diào)用,主要完成以下功能:(1)對企事業(yè)單位、駕駛員信息、機(jī)動(dòng)車信息以及事故記錄等進(jìn)行備案登記。(2)具有超級權(quán)限的操作員可對已經(jīng)正式備案的上述信息進(jìn)行修改、刪除。(3)按駕駛證號等條件查詢事故記錄;查詢統(tǒng)計(jì)月事故記錄以及年事故記錄;按單位名稱等條件查詢駕馭員基本
8、情況或會員情況;按單位名稱等件查詢機(jī)動(dòng)車的基本情況;按所在區(qū)縣、地區(qū)等條件查詢已備案的單位情況(4)統(tǒng)計(jì)報(bào)表的預(yù)覽及打?。?)具有超級權(quán)限的操作員可對本系統(tǒng)密碼及準(zhǔn)駕證號等靜態(tài)數(shù)據(jù)庫進(jìn)行維護(hù)此外,為了保證系統(tǒng)的安全,在進(jìn)入本系統(tǒng)前必須輸入有效的密碼,并根據(jù)用戶的不同級別為其設(shè)置相應(yīng)的系統(tǒng)菜單,以防止非法用戶進(jìn)入系統(tǒng)和用戶越權(quán)操作損害數(shù)據(jù)的安全。三、 數(shù)據(jù)庫設(shè)計(jì):(一)創(chuàng)建表結(jié)構(gòu)企業(yè)事業(yè)單位dw.dbf 數(shù)據(jù)表字段結(jié)構(gòu)此數(shù)據(jù)表主要用來存貯備案的企事業(yè)單位的基本數(shù)據(jù)名稱類型長度標(biāo)題dwbh字符8單位編號dwmc字符30單位名稱dwdz字符30單位地址zgld字符8主管領(lǐng)導(dǎo)lxdh字符15聯(lián)系電話g
9、czs整數(shù)3公車總數(shù)sczs整數(shù)3私車總數(shù)駕駛員信息 jsy.dbf 數(shù)據(jù)表字段結(jié)構(gòu)此數(shù)據(jù)表主要用來存貯機(jī)動(dòng)車駕駛員的基本數(shù)據(jù)名稱類型長度標(biāo)題xm字符8姓名xb字符2性別csrq日期8出生日期xzdz字符30現(xiàn)住地址dwbh字符8單位編號lxdh字符15聯(lián)系電話sfzh字符18身份證號qzrq日期8取證日期yxrq日期8有效日期zjcx字符 8準(zhǔn)駕車型jszh字符15駕駛證號zp通用4駕駛員照片會員信息hy.dbf 數(shù)據(jù)表字段結(jié)構(gòu)此數(shù)據(jù)表主要用來存貯駕駛員會員的基本數(shù)據(jù),僅有除駕駛員數(shù)據(jù)表之外的會員信息字段名稱類型長度標(biāo)題hyzh字符8會員證號jszh字符15駕駛證號mz字符4民族whcd字符
10、4文化程度fhmc字符8分會名稱hyje整數(shù)4會員金額機(jī)動(dòng)車信息jdc.dbf 數(shù)據(jù)表字段結(jié)構(gòu)此數(shù)據(jù)表主要用來存貯備案的公有企事業(yè)單位的基本數(shù)據(jù)名稱類型長度標(biāo)題cphm字符8車牌號碼cpxh字符10廠牌型號cllx字符8車輛類型clys字符4車輛顏色syq字符2所有權(quán)cz字符30車主czdz字符30車主地址fzrq日期8發(fā)證日期bsrq日期8報(bào)損日期事故記錄sg.dbf數(shù)據(jù)表字段結(jié)構(gòu)此表用來存放駕駛員的事故記錄名稱類型長度標(biāo)題jszh字符15駕駛證號cphm字符10車牌號碼sgbh字符6事故編號sgsj日期8事故時(shí)間sgdj字符2事故等級sgjs備注4事故簡述密碼表mm.dbf數(shù)據(jù)表字段結(jié)構(gòu)此
11、數(shù)據(jù)表存貯密碼數(shù)據(jù)主要用來設(shè)置可以操作本系統(tǒng)的人員及權(quán)限名稱類型長度標(biāo)題mm字符6密碼qx字符1權(quán)限區(qū)縣代號qxdh.dbf數(shù)據(jù)表字段結(jié)構(gòu)此數(shù)據(jù)表用來存貯各個(gè)區(qū)縣的代號,是個(gè)靜態(tài)數(shù)據(jù)表,主要用來方便用戶輸入企事業(yè)單位的基本數(shù)據(jù)名稱類型長度標(biāo)題qxmc字符6區(qū)縣名稱qxdh字符2區(qū)縣代號(二)數(shù)據(jù)庫說明 本數(shù)據(jù)庫共包括:企業(yè)事業(yè)單位、駕駛員信息、機(jī)動(dòng)信息、事故記錄、會員信息、等數(shù)據(jù)表,其間存在著多個(gè)關(guān)聯(lián)?!抉{駛員】表與【企事業(yè)單位】表的單位編號使這兩個(gè)表存在關(guān)聯(lián),這樣可知駕駛員所在單位詳細(xì)情況,或查看某個(gè)單位的駕駛情況等。【事故記錄】表通過駕駛證號與【駕駛員】表關(guān)聯(lián);通過車牌號與【機(jī)動(dòng)車】表關(guān)聯(lián)
12、。這樣便可找到事故所涉及機(jī)駕駛員的詳細(xì)情況和機(jī)動(dòng)車的詳細(xì)資料等?!緯T信息】表與【駕駛員】表通過駕駛證號關(guān)聯(lián),這樣便可查看會員的詳細(xì)情況。另外數(shù)據(jù)庫中還設(shè)置了三個(gè)靜態(tài)數(shù)據(jù)表,用于維護(hù)系統(tǒng),方便使用。第三部分 功能模塊詳細(xì)設(shè)計(jì)一、 主界面設(shè)計(jì): 為了使應(yīng)用程序的主要功能得以體現(xiàn),方便用戶使用應(yīng)用程序中的命令和工具,我根據(jù)用戶所要執(zhí)行的任務(wù)為系統(tǒng)設(shè)計(jì)了菜單,給用戶提供了一個(gè)結(jié)構(gòu)化的、可訪問的途徑。在設(shè)計(jì)中并指定了訪問鍵。另外,權(quán)限低的操作員對于系統(tǒng)設(shè)置等部分操作無操作權(quán),則通過廢止相應(yīng)的菜單項(xiàng)來進(jìn)行控制。 主界面是一個(gè)頂層表單,init:do 主菜單.mpr with this, .t.二、 新增
13、數(shù)據(jù):主要功能:新增數(shù)據(jù)操作主要是將企事業(yè)單位信息、 機(jī)動(dòng)車信息、駕駛員信息和事故記錄, 等數(shù)據(jù)進(jìn)行輸入。實(shí)現(xiàn)方法: 1動(dòng)態(tài)加載頁面 由于數(shù)據(jù)較多故采用頁框形式,這樣操作員在同一表單中即可將要輸入的數(shù)據(jù)全部輸入. 但是在系統(tǒng)調(diào)試過程中發(fā)現(xiàn)即使操作員只想操作某一種信息,系統(tǒng)也要把四個(gè)頁框的信息全部調(diào)入,這樣浪費(fèi)了時(shí)間,尤其是相當(dāng)系統(tǒng)數(shù)據(jù)量大的候運(yùn)行變慢,為了解決這個(gè)問題,我采用了動(dòng)態(tài)加載頁面控件,通過在將每個(gè)頁面上的控件創(chuàng)建類, 然后當(dāng)激活頁面時(shí)再加載這些控件.具體的操作如下:² 象通常一樣設(shè)計(jì)表單,在所有頁面上包含所有控件.² 將第2,3,4頁的所有控件分別存為類.page
14、2.vcx, page3.vcx, page4.vcx² 在第2,3,4頁的a ctivate事件中添加類如:第2 頁的activate事件代碼:if this.controlcount=0 this.addobject("page2","page2") this.page1.visible=.t.endif2方便用戶輸入: 在輸入姓名、地址等中文字段時(shí),系統(tǒng)自動(dòng)切換至中文輸入法。 在輸入界面設(shè)置了一組快捷菜單“復(fù)制、剪切、復(fù)制”,這樣在輸入重復(fù)的信息時(shí)直接復(fù)制即可。3為了確保輸入數(shù)據(jù)的有效性,對于有固定信息的字段,通過下拉列表框等控制件為用戶
15、預(yù)先設(shè)定選項(xiàng)供用戶選擇,這樣即保證了數(shù)據(jù)庫中不存儲無效數(shù)據(jù)。 4統(tǒng)一界面,如藍(lán)色標(biāo)簽字段為關(guān)鍵性字段,通過與其它字段顏色不同,提示操作員必須輸入。另外有些字段的信息由系統(tǒng)自動(dòng)產(chǎn)生,則該字段輸入框的背景顏色為“淡藍(lán)色”。對操作員操作員進(jìn)行提示。(一)企事業(yè)單位信息:1 版面設(shè)計(jì):增加單位代碼:根據(jù)調(diào)研發(fā)現(xiàn),實(shí)際運(yùn)作情況的單位編號是根據(jù)單位所在的區(qū)縣、分組、分片產(chǎn)生的。所以我將單位代碼的輸入變?yōu)椤皡^(qū)縣號”、“地區(qū)號”、“分組號”和“單位號”四項(xiàng)分別輸入,其中區(qū)縣號由下拉列表框選則輸入,系統(tǒng)可根據(jù)選則自動(dòng)形成代碼,四個(gè)代碼輸入后單位代碼自動(dòng)產(chǎn)生,這樣即方便操作又不易出錯(cuò)。其它信息的輸入均為文本框。2
16、 屬性和事件 新增屬性isadd屬性,用來判斷企事業(yè)數(shù)據(jù)表目前是否在新增關(guān)態(tài),目前設(shè)置為.f.,表明目前不在新增狀態(tài). oldrecord屬性,用來儲存新增記錄前,當(dāng)前的記錄編號,等放棄新增后,還返回到原來記錄位置。目前設(shè)置為03 操作: 本表單主要設(shè)置了四個(gè)按鈕:若要增加記錄,單擊“新增”按鈕;此時(shí),全部指令按鈕都停用了,只有“保存”、“取消”兩個(gè)按鈕是啟用的;另外,所有字段也全部清空等待用戶輸入。字段輸入后單擊“保存”鈕結(jié)束本次新增操作。如果不想保留本次操作,還可單擊“取消”鈕撤消本次操作,并返回到增加之前的狀態(tài)。thisform.isadd=.t.thisform.oldrecord=r
17、ecno()append blankthisform.pf.jdc.cmdadd.enabled=.f.thisform.pf.jdc.cmdexit.enabled=.f.thisform.pf.jdc.cmdcancel.enabled=.t.thisform.pf.jdc.cmdsave.enabled=.t.thisform.pf.jdc.cbocllx.setfocus()thisform.refresh()(二)駕駛員信息:駕駛員信息的輸入與單位信息的輸入的設(shè)計(jì)思想與操作方法基本相同。不同之處是:首先,為了使駕駛員的信息更加充分,增加了駕駛員照片字段,當(dāng)用戶單擊鼠標(biāo)右鍵后彈出打開文
18、件對話框,選則照片。其次,增加了會員輸入。如果該駕駛員是會員,則單擊“入會”按鈕,系統(tǒng)彈出“會員登錄信息”表單,作為“駕駛員信息”的子表單。由于會員信息的部分字段與駕駛員信息相同,故將其父表單的如“姓名、性別”、“聯(lián)系電話”等信息直接繼承,并將這些字段設(shè)為只讀。該表單的關(guān)鍵性字段是“會員證號”,會員號由系統(tǒng)自動(dòng)產(chǎn)生。會員信息輸入完畢后,返回其父表單。會員卡信息輸入完畢后,可直接打印會員卡。然后再返回其父菜單。(三)機(jī)動(dòng)車信息:機(jī)動(dòng)車信息的輸入與單位信息的輸入的設(shè)計(jì)思想與操作方法基本相同。(四)事故記錄信息:事故信息的輸入與單位信息的輸入的設(shè)計(jì)思想與操作方法基本相同。三、 數(shù)據(jù)編輯(一)修改數(shù)據(jù)
19、:此項(xiàng)操作功能是將原始數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行修改、刪除操作。為了保證原始數(shù)據(jù)的安全,設(shè)置了“超級“操作權(quán)限,操作員應(yīng)具有其操作權(quán)限才可進(jìn)入修改。數(shù)據(jù)編輯界面由頁框組成,共四個(gè)頁面,分別以企事業(yè)單位、駕駛員信息、機(jī)動(dòng)車信息、和事故記錄進(jìn)行修改,每一頁由表格控件顯示其所對應(yīng)的數(shù)據(jù)。操作方法如下:以駕駛員數(shù)據(jù)修改為例(二)刪除數(shù)據(jù):要?jiǎng)h除某個(gè)駕駛員的數(shù)據(jù)應(yīng)先在表格空件中指定,即在該記錄上單擊,然后點(diǎn)“刪除“按鈕,系統(tǒng)此時(shí)提示是否真的刪除這個(gè)人的信息,回答“是“則該信息從原始數(shù)據(jù)表中刪除?;卮稹胺瘛皠t撤消刪除。修改操作:先在表格控件中指定該條記錄,然后單擊“修改“按鈕,系統(tǒng)彈出修改子表單,顯示指定的當(dāng)前記
20、錄信息,修改數(shù)據(jù)后點(diǎn)擊“確定“返回;單擊“取消“撤消剛才的修改,恢愎成原來數(shù)據(jù)。為了方便操作,在此設(shè)置了查詢功能,以便快速定位到要操作的記錄。主要代碼:刪除操作local ndo case case thisform.pf.activepage=1 n=thisform.pf.dw.grid1.column2.text1.value case thisform.pf.activepage=2 n=thisform.pf.jsy.grid1.column1.text1.value case thisform.pf.activepage=3 n=thisform.pf.jdc.grid1.colu
21、mn1.text1.value case thisform.pf.activepage=4 n=thisform.pf.sg.grid1.column1.text1.valueendcaseyn = messagebox("是否確定刪除 '"+ alltrim(n)+; "' 的信息?",4+32,"信息窗口")if yn = 6deletepackdo case case thisform.pf.activepage=1 thisform.pf.dw.grid1.recordsource="企事業(yè)單位&qu
22、ot; case thisform.pf.activepage=2 thisform.pf.jsy.grid1.recordsource="駕駛員信息" case thisform.pf.activepage=3 thisform.pf.jdc.grid1.recordsource="機(jī)動(dòng)車信息" case thisform.pf.activepage=4 thisform.pf.sg.grid1.recordsource="事故記錄"endcasethisform.refreshresult = tableupdate(.f.)if
23、 result = .t.=messagebox("刪除成功 ! ",48,"信息窗口")else=messagebox("刪除不成功 ! ", 48,"信息窗口")=tablerevert(.f.) endifendifthisform.refresh() 修改操作:public curentcurent=recno()do case case thisform.pf.activepage=1 do form dw case thisform.pf.activepage=2 do form jsy case th
24、isform.pf.activepage=3 do form jdc case thisform.pf.activepage=4 do form sgendcasethisform.refresh()四、 查詢數(shù)據(jù)1. 事故記錄的查詢:根據(jù)查詢情況的不同,設(shè)置了通過駕駛證號、事故編號、車牌號碼三種條件進(jìn)行查詢。駕駛證號查詢是為了查找某個(gè)駕駛的事故記錄。事故編號查詢是為了查看某項(xiàng)事故所涉及的人員。車牌號碼查詢是查某輛車的事故記錄。每次查詢結(jié)束后系統(tǒng)會自重置查詢條件,以備下一個(gè)查詢。在這個(gè)表單中的數(shù)據(jù)環(huán)境是“事故記錄”表和“駕駛員情況”表通過駕駛證號關(guān)聯(lián)。本組操作是通過建立臨時(shí)查詢文件來實(shí)現(xiàn)的,在
25、查詢過程中,通過查詢條件的不同分別調(diào)用各自的查詢文件,并將查詢結(jié)果在表格中顯示。2. 駕駛員查詢:在這個(gè)表單里設(shè)置了兩個(gè)查詢條件:按單位名稱查詢該單位的駕駛員的基本情況,并顯示駕駛員總數(shù);第二種條件是根據(jù)駕駛員的駕駛證號進(jìn)行查詢。在這個(gè)表單中的數(shù)據(jù)環(huán)境是“駕駛員情況”表和“企事業(yè)單位”表關(guān)聯(lián)。其設(shè)計(jì)思想與事故查詢基本相同。五、 統(tǒng)計(jì)報(bào)表在經(jīng)過以上收集和組織數(shù)據(jù)后,要將數(shù)據(jù)進(jìn)行打印或顯示在屏幕。在本系統(tǒng)可將企事業(yè)單位的基本情況表;駕駛員基本情況表,各個(gè)單位的駕駛員統(tǒng)計(jì),事故月報(bào)表等輸出。 其中單位駕駛員統(tǒng)計(jì)是建立了一個(gè)一對多的分組報(bào)表,這樣就可根據(jù)實(shí)際需要,分別將各個(gè)單位的駕駛員情況查詢,輸出。
26、事故月報(bào)表是將事故記錄根據(jù)月份進(jìn)行分組輸出。六、 系統(tǒng)設(shè)置修改靜態(tài)數(shù)據(jù):車輛類型和車型代號這些數(shù)據(jù),在用戶輸入數(shù)據(jù)時(shí)通過選項(xiàng)按鈕組為用戶提供一組預(yù)先設(shè)定的選則,這樣方便用戶也避免了數(shù)據(jù)庫存儲無效的數(shù)據(jù)。這些固定的數(shù)據(jù)也是相對而言的,一但實(shí)際操作中這些數(shù)據(jù)的定義有所改變,這些預(yù)定的數(shù)據(jù)就要隨之改變來保持一致。功能實(shí)現(xiàn):為了保證原始數(shù)據(jù)的安全,設(shè)置了“超級“操作權(quán)限,操作員應(yīng)具有其操作權(quán)限才可進(jìn)入修改。具體到數(shù)據(jù)表數(shù)據(jù)的增加、修改和刪除與其它數(shù)據(jù)表是一樣的。 2.設(shè)置窗體背景設(shè)置背景是指操作員可根據(jù)個(gè)人的喜好隨時(shí)更改窗體背景以增加操作的趣味性。功能實(shí)現(xiàn):這一功能是通過get file 命令調(diào)出打開
27、圖形文件對話框, 用戶選擇文件時(shí)并可預(yù)覽要選擇的文件。背景文件被選定將其全文件名作為一字符串,保存在公共變量中,以備使用。那么,其它窗體是怎樣傳遞這一信息的呢?我在每一個(gè)可設(shè)置背景的窗體的ctive事件中判別這上公共變量是否為空,如果不為空則通過命令設(shè)置窗體的icture屬性,這樣窗體的背景顏色就改變了。3.設(shè)置密碼為了保證系統(tǒng)的安全性,本系統(tǒng)設(shè)置了權(quán)限功能,首先登錄時(shí)根據(jù)用戶輸入的密碼來判斷權(quán)限,如果權(quán)限不夠,數(shù)據(jù)維護(hù)菜單下的數(shù)據(jù)編輯與系統(tǒng)維護(hù)的更改密碼子菜單將不可用。4數(shù)據(jù)備份: 數(shù)據(jù)備份是數(shù)據(jù)維護(hù)的重要工作,備案的數(shù)據(jù)一般需要上報(bào)實(shí)現(xiàn)數(shù)據(jù)共享。另外在實(shí)際中隨時(shí)都有可能遭到意外的甚至是人為
28、的破壞,為了保證數(shù)據(jù)的安全,一般應(yīng)定期對數(shù)據(jù)進(jìn)行備份以防不測。功能實(shí)現(xiàn):在這一功能模塊中要備份的數(shù)據(jù)包括數(shù)據(jù)表文件和報(bào)表文件等,并分別設(shè)置了備份到不同的位置,:盤、:盤、:盤共三個(gè)出口,主要操作命令是在程序中運(yùn)行操作系統(tǒng)”copy”命令 ,復(fù)制結(jié)束后通過ctive windows 命令再返回到本系統(tǒng)的主窗體,這樣操作員就很方便的將數(shù)據(jù)備份了,即方便了數(shù)據(jù)流通又保證了數(shù)據(jù)安全。七、 關(guān)于本軟件界面如下圖所示(略)。本界面用來顯示版本版權(quán)及其它信息。另外上移的說明文字是利用timer控件控制label控件在容器類控件內(nèi)移動(dòng)實(shí)現(xiàn)的。代碼如下:thisform.container1.label1.to
29、p=thisform.container1.label1.top-1if thisform.container1.label1.top+thisform.container1.label1.height<0 thisform.container1.label1.top=thisform.container1.height+5endif本界面中單擊作者的email地址,即可調(diào)用用戶機(jī)上缺省的郵件處理程序來給作者發(fā)送郵件。第四部分 結(jié)尾一、 總結(jié)通過各位指導(dǎo)老師的指點(diǎn)和同學(xué)之間的交流,使我完成了本系統(tǒng)的設(shè)計(jì)。在此對各位指導(dǎo)老師與同學(xué)表示感謝!在本系統(tǒng)中,我力求使自己的程序功能更加強(qiáng)大和更便于
30、操作。如有時(shí)通過工具欄、菜單、鼠標(biāo)右鍵、等都可以實(shí)現(xiàn)相同的功能,相應(yīng)的按鈕和菜單的enabled屬性也控制得非常到位,以免用戶的錯(cuò)誤操作。本程序也經(jīng)過了我較為大量的測試,每次發(fā)現(xiàn)問題后我都耐心的尋找問題所在,然后予以一一解決。然而由于我的水平有限和時(shí)間倉促,程序中肯定還存在不少的問題,有些問題我現(xiàn)在也沒有解決,如沒有實(shí)現(xiàn)查找后數(shù)據(jù)的修改、系統(tǒng)提示用戶不夠完善,程序代碼不夠精煉等,是我在下一步設(shè)計(jì)中應(yīng)該解決的問題,也希望能得到各位老師和同學(xué)的更多指點(diǎn)。通過本系統(tǒng)的設(shè)計(jì),我學(xué)到了不少visual foxpro編程的技巧,更增加了我的windows下應(yīng)用程序的編程信心,尤其在數(shù)據(jù)庫編程方面有了很大的
31、進(jìn)步。在今后的工作學(xué)習(xí)中,我要更加努力的學(xué)習(xí)編程知識,使自己的編程能力更上一層樓。二、 參考文獻(xiàn):1、vfp6.0中文版入門與提高清華大學(xué)出版社李加福、邸學(xué)峰著2、vfp6.0中文版程序員指南北京希望電腦公司microsoft corporation3、vfp6.0程序設(shè)計(jì)指南清華大學(xué)出版社吳迪、曲蒙著4、vfp6.0函數(shù)大全北京航空航天大學(xué)出版社徐培忠著三、 附錄(原程序)主表單:name = "form1"procedure initset sysmenu offset sysmenu toset talk offset delete offset exact offs
32、et confirm offset safety offset status bar offset multilock onset defa to c:bsdo mainmenu.mpr with this, .t.endprocprocedure loadlocal iwith this.toolbars1,1 = '表單控制項(xiàng)'.toolbars2,1 = '表單設(shè)計(jì)工具'.toolbars3,1 = '查詢設(shè)計(jì)工具'.toolbars4,1 = '配置方式'.toolbars5,1 = '報(bào)表控制項(xiàng)'.too
33、lbars6,1 = '報(bào)表設(shè)計(jì)工具'.toolbars7,1 = '數(shù)據(jù)庫設(shè)計(jì)工具'.toolbars8,1 = '數(shù)據(jù)表設(shè)計(jì)工具'.toolbars9,1 = '預(yù)覽打印'.toolbars10,1 = '常用'.toolbars11,1 = '調(diào)色板'endwithfor i = 1 to 11 this.toolbarsi,2 = wvisible(this.toolbarsi,1)if this.toolbarsi,2hide window (this.toolbarsi,1)endife
34、ndforendprocprocedure destroyset sysmenu to defaultset sysmenu onset talk onset confirm onset safety onset status bar onmodify windows screenendprocprocedure unloadlocal ifor i=1 to 11 if this.toolbarsi,2 show window (this.toolbarsi,1) endifendforendproc口令表單:name = "cmdok"procedure clickpu
35、blic i, ctlmenu,lognamei=i+1select 密碼表p=alltrim(thisform.txtpasswd.value)locate for mm=alltrim(thisform.txtpasswd.value)if found() ctlmenu=qx isuser=.t. logname=thisform.txtname.value thisform.release() set default to c:bs do form 主窗體.scx else thisform.label3.caption="dkldsa" if i<3 mes
36、sagebox("密碼錯(cuò)誤!"+chr(13)+"請重新輸入!",48,"信息窗口") thisform.txtname.setfocus() else messagebox("密碼錯(cuò)誤三此!"+chr(13)+"系統(tǒng)無法啟動(dòng)!",48,"信息窗口") thisform.release() endifendifendprocname = "cmdcancel"procedure clickclear eventsclose allthisform.rele
37、aseendproc主菜單:mainmenu.mprlparameters oformref, getmenuname, luniquepopups, parm4, parm5, parm6, parm7, parm8, parm9local cmenuname, ntotpops, a_menupops, ctypeparm2, csaveformnameif type("m.oformref") # "o" or ; lower(m.oformref.baseclass) # 'form' or ; m.oformref.showwi
38、ndow # 2messagebox(只能從頂層表單調(diào)用該菜單。請確認(rèn)您表單的 showwindow 屬性已設(shè)為 2。閱讀此菜單 mpr 文件的頭部分,可以獲得詳細(xì)信息。)returnendifm.ctypeparm2 = type("m.getmenuname")m.cmenuname = sys(2015)m.csaveformname = m.oformref.nameif m.ctypeparm2 = "c" or (m.ctypeparm2 = "l" and m.getmenuname)m.oformref.name =
39、m.cmenunameendifif m.ctypeparm2 = "c" and !empty(m.getmenuname)m.cmenuname = m.getmenunameendifdimension a_menupops4if type("m.luniquepopups")="l" and m.luniquepopupsfor ntotpops = 1 to alen(a_menupops)a_menupopsm.ntotpops= sys(2015)endforelsea_menupops1="數(shù)據(jù)維護(hù)e&quo
40、t;a_menupops2="查詢數(shù)據(jù)v"a_menupops3="打印報(bào)表t"a_menupops4="設(shè)置s"endifdefine menu (m.cmenuname) in (m.oformref.name) bardefine pad _04n0zaqhm of (m.cmenuname) prompt "數(shù)據(jù)維護(hù)(<e)" color scheme 3 ;key ctrl+e, "ctrl+e" ;message "輸入、修改、刪除企事業(yè)單位、機(jī)動(dòng)車、駕駛員備案信息&
41、quot;define pad _04n0zaqhn of (m.cmenuname) prompt "查詢數(shù)據(jù)(<v)" color scheme 3 ;key alt+v, "alt+v" ;message "查詢輸入企事業(yè)單位、機(jī)動(dòng)車、駕駛員備案信息"define pad _04n0zaqho of (m.cmenuname) prompt "打印報(bào)表(<t)" color scheme 3 ;key alt+f, "alt+f" ;message "瀏覽打印報(bào)表&q
42、uot;define pad _04n0zaqhp of (m.cmenuname) prompt "設(shè)置 (<s)" color scheme 3 ;key alt+s, ""define pad _04n0zaqia of (m.cmenuname) prompt "幫助(<h)" color scheme 3 ;key alt+h, ""define pad _04n0zaqib of (m.cmenuname) prompt "退出(<x)" color scheme
43、3 ;key alt+x, ""on pad _04n0zaqhm of (m.cmenuname) activate popup (a_menupops1)on pad _04n0zaqhn of (m.cmenuname) activate popup (a_menupops2)on pad _04n0zaqho of (m.cmenuname) activate popup (a_menupops3)on pad _04n0zaqhp of (m.cmenuname) activate popup (a_menupops4)on selection pad _04n0
44、zaqib of (m.cmenuname) ;do _04n0zaqie ;in locfile("bsmainmenu" ,"mpx;mpr|fxp;prg" ,"where is mainmenu?")define popup (a_menupops1) margin relative shadow color scheme 4define bar 1 of (a_menupops1) prompt " 新增數(shù)據(jù)(<a)." ;key alt+a, "alt+a" ;message
45、"輸入企事業(yè)單位、機(jī)動(dòng)車、駕駛員備案信息"define bar 2 of (a_menupops1) prompt " 編輯數(shù)據(jù)(<e)." ;key alt+e, "alt+e" ;skip for ctlmenu="0" ;message "修改、刪除企事業(yè)單位、機(jī)動(dòng)車、駕駛員備案信息"on selection bar 1 of (a_menupops1) do form 新增on selection bar 2 of (a_menupops1) do form 編輯define po
46、pup (a_menupops2) margin relative shadow color scheme 4define bar 1 of (a_menupops2) prompt " 企事業(yè)單位信息(<q)." ;key alt+q, "alt+q" ;message "查詢企事業(yè)單位備案信息"define bar 2 of (a_menupops2) prompt " 駕駛員信息(<j)." ;key alt+j, "alt+j" ;message "查詢駕駛員備案信
47、息"define bar 3 of (a_menupops2) prompt " 機(jī)動(dòng)車信息(<c)." ;key alt+c, "alt+c" ;message "查詢機(jī)動(dòng)車備案信息"define bar 4 of (a_menupops2) prompt " 事故信息(<s)." ;key alt+s, "alt+s" ;message "查詢事故記錄"on selection bar 1 of (a_menupops2) do form dwcxo
48、n selection bar 2 of (a_menupops2) do form jsycxon selection bar 3 of (a_menupops2) do form jdccxon selection bar 4 of (a_menupops2) do form sgcxdefine popup (a_menupops3) margin relative shadow color scheme 4define bar 1 of (a_menupops3) prompt " 企事業(yè)單位清單(<q)." ;key alt+q, "alt+q&q
49、uot;define bar 2 of (a_menupops3) prompt " 駕駛員名冊(<j)."define bar 3 of (a_menupops3) prompt " 機(jī)動(dòng)車備案清單(<c)"define bar 4 of (a_menupops3) prompt " 事故統(tǒng)計(jì)表(<s)"on selection bar 1 of (a_menupops3) report form dw noconsole previewon selection bar 2 of (a_menupops3) rep
50、ort form jsy noconsole previewon selection bar 3 of (a_menupops3) report form jdc noconsole previewon selection bar 4 of (a_menupops3) report form sg noconsole previewdefine popup (a_menupops4) margin relative shadow color scheme 4define bar 1 of (a_menupops4) prompt " 更改密碼(<p)." ;skip
51、for ctlmenu="0"define bar 2 of (a_menupops4) prompt " 窗體背景(<b)."on selection bar 1 of (a_menupops4) do form 設(shè)置on selection bar 2 of (a_menupops4) do form 設(shè)置activate menu (m.cmenuname) nowaitif m.ctypeparm2 = "c"m.getmenuname = m.cmenunamem.oformref.name = m.csaveform
52、name endifprocedure _04n0zaqieset sysmenu to defaultset sysmenu onkj.mpr define popup 快捷菜單 shortcut relative from mrow(),mcol()define bar _med_redo of 快捷菜單 prompt "重做(<d)" ;key ctrl+r, "ctrl+r" ;message "重復(fù)上一次命令或操作"define bar _med_undo of 快捷菜單 prompt "撤消(<u)&
53、quot; ;key ctrl+z, "ctrl+z" ;message "撤消上一次命令或操作"define bar 3 of 快捷菜單 prompt "-"define bar _med_paste of 快捷菜單 prompt "粘貼(<p)" ;key ctrl+v, "ctrl+v" ;message "粘貼剪貼板上的內(nèi)容"define bar _med_copy of 快捷菜單 prompt "復(fù)制(<c)" ;key ctrl+c
54、, "ctrl+c" ;message "將選定內(nèi)容復(fù)制到剪貼板上"define bar _med_cut of 快捷菜單 prompt "剪切(<t)" ;key ctrl+x, "ctrl+x" ;message "移去選定內(nèi)容并將其放入剪貼板"activate popup 快捷菜單 新增代碼:cmdadd.clickthisform.isadd=.t.thisform.oldrecord=recno()append blankthisform.pf.dw.recbuttons.ena
55、bled=.f.thisform.pf.dw.cmdadd.enabled=.f.thisform.pf.dw.cmdexit.enabled=.f.thisform.pf.dw.cmdcancel.enabled=.t.thisform.pf.dw.cmdsave.enabled=.t.thisform.pf.dw.cbo1.enabled=.t.thisform.pf.dw.cbo1.setfocus()thisform.refresh()cmdsave.clickresult = tableupdate(.f.)if result = .f.=messagebox("保存不成功!"+chr(13)+"請注意代號是否輸入(重復(fù))?",48,"信息窗口")thisform.pf.dw.cbo1.setfocus()else=messagebox("保存成功!",48,"信息窗口") thisform.pf.dw.cbo1.value="" thisform.pf.dw.text2.value="" thisform.pf.dw.text3.v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度公司車輛租賃協(xié)議樣本
- 2024道路安全員招聘協(xié)議樣本
- 2024年聘用協(xié)議規(guī)范化樣本
- 2023-2024學(xué)年鄭州市高三下學(xué)期5月月考數(shù)學(xué)試題(A卷)
- 2024安全生產(chǎn)與環(huán)保綜合管理協(xié)議
- 二手車交易過戶協(xié)議范本2024
- 2024年度專項(xiàng)宣傳品訂制協(xié)議
- 2024年項(xiàng)目實(shí)施階段服務(wù)協(xié)議范本
- 天津市河北區(qū)2024-2025學(xué)年高二上學(xué)期11月期中英語試題(無答案)
- 2024專業(yè)桃苗采購及種植服務(wù)協(xié)議
- 2024-2030年中國虛擬專用網(wǎng)絡(luò)(VPN)行業(yè)市場行業(yè)發(fā)展分析及發(fā)展前景研究報(bào)告
- 檢驗(yàn)檢測機(jī)構(gòu)內(nèi)審員檢查表
- 2024中煤電力限公司面向中煤集團(tuán)內(nèi)部招聘15人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 統(tǒng)編版(2024新版)七年級上冊歷史第二單元 夏商周時(shí)期:奴隸制王朝的更替和向封建社會的過渡 單元復(fù)習(xí)課件
- 高危兒規(guī)范化健康管理專家共識解讀
- 第13課《紀(jì)念白求恩》課件2024-2025學(xué)年統(tǒng)編版語文七年級上冊
- 食品安全的規(guī)章制度和食品操作流程
- 《義務(wù)教育體育與健康課程標(biāo)準(zhǔn)(2022年版)》解讀
- 部編版三年級上冊語文第七單元大單元教學(xué)設(shè)計(jì)
- NB-T 10435-2020 電動(dòng)汽車快速更換電池箱鎖止機(jī)構(gòu)通.用技術(shù)要求
- 03SG610-1建筑結(jié)構(gòu)隔震構(gòu)造詳圖
評論
0/150
提交評論