【文章內(nèi)容簡(jiǎn)介】
車輛類型和車型代號(hào)這些數(shù)據(jù),在用戶輸入數(shù)據(jù)時(shí)通過選項(xiàng)按鈕組為用戶提供一組預(yù)先設(shè)定的選則,這樣 方便用戶也避免了數(shù)據(jù)庫(kù)存儲(chǔ)無效的數(shù)據(jù)。這些固定的數(shù)據(jù)也是相對(duì)而言的,一但實(shí)際操作中這些數(shù)據(jù)的定義有所改變,這些預(yù)定的數(shù)據(jù)就要隨之改變來保持一致。 功能實(shí)現(xiàn):為了保證原始數(shù)據(jù)的安全,設(shè)置了“超級(jí)“操作權(quán)限,操作員應(yīng)具有其操作權(quán)限才可進(jìn)入修改。具體到數(shù)據(jù)表數(shù)據(jù)的增加、修改和刪除與其它數(shù)據(jù)表是一樣的。 設(shè)置背景是指操作員可根據(jù)個(gè)人的喜好隨時(shí)更改窗體背景以增加操作的趣味性。 機(jī)動(dòng)車駕駛員管理系統(tǒng) 20 功能實(shí)現(xiàn):這一功能是通過 GET FILE 命令調(diào)出打開圖形文件對(duì)話框 , 用戶選擇文件時(shí)并可預(yù)覽要選擇的文件。背景文件 被選定將其全文件名作為一字符串,保存在公共變量中,以備使用。那么,其它窗體是怎樣傳遞這一信息的呢?我在每一個(gè)可設(shè)置背景的窗體的A ctive 事件中判別這上公共變量是否為空,如果不為空則通過命令設(shè)置窗體的P icture 屬性,這樣窗體的背景顏色就改變了。 為了保證系統(tǒng)的安全性,本系統(tǒng)設(shè)置了權(quán)限功能,首先登錄時(shí)根據(jù)用戶輸入的密碼來判斷權(quán)限,如果權(quán)限不夠,數(shù)據(jù)維護(hù)菜單下的數(shù)據(jù)編輯與系統(tǒng)維護(hù)的更改密碼子菜單將不可用。 4.?dāng)?shù)據(jù)備份: 數(shù)據(jù)備份是數(shù)據(jù)維護(hù)的重要工作,備案的數(shù)據(jù)一般需要上報(bào)實(shí)現(xiàn)數(shù) 據(jù)共享。另外在實(shí)際中隨時(shí)都有可能遭到意外的甚至是人為的破壞,為了保證數(shù)據(jù)的安全,一般應(yīng)定期對(duì)數(shù)據(jù)進(jìn)行備份以防不測(cè)。 功能實(shí)現(xiàn):在這一功能模塊中要備份的數(shù)據(jù)包括數(shù)據(jù)表文件和報(bào)表文件等,并分別設(shè)置了備份到不同的位置,A :盤、C :盤、D :盤共三個(gè)出口,主要操作命令是在程序中運(yùn)行操作系統(tǒng) ”Copy” 命令 ,復(fù)制結(jié)束后通過A ctive windows 命令再返回到本系統(tǒng)的主窗體,這樣操作員就很方便的將數(shù)據(jù)備份了,即方便了數(shù)據(jù)流通又保證了數(shù)據(jù)安全。 機(jī)動(dòng)車駕駛員管理系統(tǒng) 21 七、 關(guān)于本軟件 界面如下圖所示 (略 )。本界面用來顯示版本版權(quán) 及其它信息。另外上移的說明文字是利用 Timer 控件控制 Label控件在容器類控件內(nèi)移動(dòng)實(shí)現(xiàn)的。 代碼如下: = if +0 =+5 endif 本 界面中單擊作者的 Email 地址,即可調(diào)用用戶機(jī)上缺省的郵件處理程序來給作者發(fā)送郵件。 機(jī)動(dòng)車駕駛員管理系統(tǒng) 22 第四部分 結(jié)尾 一、 總結(jié) 通過各位指導(dǎo)老師的指點(diǎn)和同學(xué)之間的交流,使我完成了本系統(tǒng)的設(shè)計(jì)。在此對(duì)各位指導(dǎo)老師與同學(xué)表示感謝!!在本系統(tǒng)中,我力求使自己的程序功能更加強(qiáng)大和更便于操作。如有時(shí)通過工具欄、菜單、鼠標(biāo)右鍵、等都可以實(shí)現(xiàn)相同的功能,相應(yīng)的按鈕和菜單的 Enabled 屬性也控制得非常到位,以免用戶的錯(cuò)誤操作。本程序也經(jīng)過了我較為大量的測(cè)試,每次發(fā)現(xiàn)問題后我都耐心的尋找問題所在,然后予以一一解決。然而由于我的水平有 限和時(shí)間倉(cāng)促,程序中肯定還存在不少的問題,有些問題我現(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ù)庫(kù)編程方面有了很大的進(jìn)步。在今后的工作學(xué)習(xí)中,我要更加努力的學(xué)習(xí)編程知識(shí),使自己的編程能力更上一層樓。 二、 參考文獻(xiàn): 《 中文版入門與提高》 清華大學(xué)出版 社 李加福、邸學(xué)峰著 《 中文版程序員指南》 北京希望電腦公司 Microsoft Corporation 《 程序設(shè)計(jì)指南》 清華大學(xué)出版社 吳迪、曲蒙著 《 函數(shù)大全》 北京航空航天大學(xué)出版社 徐培忠著 三、 附錄(原程序) 主表單 : Name = Form1 PROCEDURE Init SET SYSMENU OFF SET SYSMENU TO SET TALK OFF 機(jī)動(dòng)車駕駛員管理系統(tǒng) 23 SET DELETE OFF SET EXACT OFF SET CONFIRM OFF SET SAFETY OFF SET STATUS BAR OFF SET MULTILOCK ON SET DEFA TO C:\BS DO WITH THIS, .T. ENDPROC PROCEDURE Load LOCAL i WITH THIS .ToolBars[1,1] = 39。表單控制項(xiàng) 39。 .ToolBars[2,1] = 39。表單設(shè)計(jì)工具 39。 .ToolBars[3,1] = 39。查詢?cè)O(shè)計(jì)工具 39。 .ToolBars[4,1] = 39。配置方式 39。 .ToolBars[5,1] = 39。報(bào)表控制項(xiàng) 39。 .ToolBars[6,1] = 39。報(bào)表設(shè)計(jì)工具 39。 .ToolBars[7,1] = 39。數(shù)據(jù)庫(kù)設(shè)計(jì)工具 39。 .ToolBars[8,1] = 39。數(shù)據(jù)表設(shè)計(jì)工具 39。 .ToolBars[9,1] = 39。預(yù)覽打印 39。 .ToolBars[10,1] = 39。常用 39。 .ToolBars[11,1] = 39。調(diào)色板 39。 ENDWITH FOR i = 1 TO 11 [i,2] = WVISIBLE([i,1]) IF [i,2] HIDE WINDOW ([i,1]) 機(jī)動(dòng)車駕駛員管理系統(tǒng) 24 ENDIF ENDFOR ENDPROC PROCEDURE Destroy SET SYSMENU TO DEFAULT SET SYSMENU ON SET TALK ON SET CONFIRM ON SET SAFETY ON SET STATUS BAR ON MODIFY WINDOWS SCREEN ENDPROC PROCEDURE Unload local i for i=1 to 11 if [i,2] show window ([i,1]) endif endfor ENDPROC 口令表單 : Name = cmdok PROCEDURE Click public i, ctlmenu,logname I=I+1 select 密碼表 機(jī)動(dòng)車駕駛員管理系統(tǒng) 25 p=alltrim() locate for mm=alltrim() if found() ctlmenu=qx isuser=.t. logname= () set default to c:\bs do form 主窗體 .scx else =DKLDSA IF I3 MessageBOX(密碼錯(cuò)誤 !+CHR(13)+請(qǐng)重新輸入 !,48,信息窗口 ) () ELSE MessageBOX(密碼錯(cuò)誤三此 !+CHR(13)+系統(tǒng)無法啟動(dòng) !,48,信息窗口 ) () ENDIF ENDIF ENDPROC Name = cmdcancel PROCEDURE Click CLEAR EVENTS CLOSE ALL ENDPROC 機(jī)動(dòng)車駕駛員管理系統(tǒng) 26 主菜單 : LPARAMETERS oFormRef, getMenuName, lUniquePopups, parm4, parm5, parm6, parm7, parm8, parm9 LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName IF TYPE() O OR 。 LOWER() 39。form39。 OR 。 2 MESSAGEBOX([只能從頂層表單調(diào)用該菜單。請(qǐng)確認(rèn)您表單的 ShowWindow 屬性已設(shè)為 2。閱讀此菜單 MPR 文件的頭部分,可以獲得詳細(xì)信息。 ]) RETURN ENDIF = TYPE() = SYS(20xx) = IF = C OR ( = L AND ) = ENDIF IF = C AND !EMPTY() = ENDIF DIMENSION a_menupops[4] IF TYPE()=L AND FOR nTotPops = 1 TO ALEN(a_menupops) a_menupops[]= SYS(20xx) ENDFOR ELSE a_menupops[1]=數(shù)據(jù)維護(hù) e a_menupops[2]=查詢數(shù)據(jù) v 機(jī)動(dòng)車駕駛員管理系統(tǒng) 27 a_menupops[3]=打印報(bào)表 t a_menupops[4]=設(shè)置 s ENDIF DEFINE MENU () IN () BAR DEFINE PAD _04n0zaqhm OF () PROMPT 數(shù)據(jù)維護(hù) (\E) COLOR SCHEME 3 。 KEY CTRL+E, CTRL+E 。 MESSAGE 輸入、修改、刪除企事業(yè)單位、機(jī)動(dòng)車、駕駛員備案信息 DEFINE PAD _04n0zaqhn OF () PROMPT 查詢數(shù)據(jù) (\V) COLOR SCHEME 3 。 KEY ALT+V, ALT+V 。 MESSAGE 查詢輸入企事業(yè)單位、機(jī)動(dòng)車、駕駛員備案信息 DEFINE PAD _04n0zaqho OF () PROMPT 打印報(bào)表 (\T) COLOR SCHEME 3 。 KEY ALT+F, ALT+F 。 MESSAGE 瀏覽打印報(bào)表 DEFINE PAD _04n0zaqhp OF () PROMPT 設(shè)置 (\S) COLOR SCHEME 3 。 KEY ALT+S, DEFINE PAD _04n0zaqia OF () PROMPT 幫助 (\H) COLOR SCHEME 3 。 KEY ALT+H, DEFINE PAD _04n0zaqib OF () PROMPT 退出 (\X) COLOR SCHEME 3 。 KEY ALT+X, ON PAD _04n0zaqhm OF () ACTIVATE POPUP (a_menupops[1]) ON PAD _04n0zaqhn OF () ACTIVATE POPUP (a_menupops[2]) 機(jī)動(dòng)車駕駛員管理系統(tǒng) 28 ON PAD _04n0zaqho OF () ACTIVATE POPUP (a_menupops[3]) ON PAD _04n0zaqhp OF () ACTIVATE POPUP (a_menupops[4]) ON SELECTION PAD _04n0zaqib OF ()