計算機本科論文-鐵路交通查詢系統(tǒng)_第1頁
計算機本科論文-鐵路交通查詢系統(tǒng)_第2頁
計算機本科論文-鐵路交通查詢系統(tǒng)_第3頁
計算機本科論文-鐵路交通查詢系統(tǒng)_第4頁
計算機本科論文-鐵路交通查詢系統(tǒng)_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

鐵路交通查詢系統(tǒng)-PAGE1目錄目錄………1摘要……………………..4前言………5一、畢業(yè)設計任務來源……………5二、任務書…………5三、本課題的特點及意義…………6第一章系統(tǒng)的需求分析………………71.1系統(tǒng)的實際應用目標…………71.2系統(tǒng)的功能設計要求…………81.3數據流圖………8第二章系統(tǒng)的可行性分析…………92.1系統(tǒng)可行性……92.2經濟可行性……92.3操作可行性……92.4法律可行性……9第三章系統(tǒng)的總體設計………………103.1系統(tǒng)設計思想…………………103.2系統(tǒng)設計方法…………………113.3系統(tǒng)結構框圖…………………123.4系統(tǒng)流程圖……12第四章系統(tǒng)的詳細設計………………134.1E-R圖…………144.2本系統(tǒng)的數據庫設計…………144.2.1數據庫開發(fā)簡介…………154.2.2使用ACCESS創(chuàng)建所需數據庫…………164.3系統(tǒng)主要模塊流程圖…………184.4各窗體介紹……20第五章系統(tǒng)的程序設計………………285.1開發(fā)工具平臺VB6.0簡介……285.2主要編碼說明…………………30第六章系統(tǒng)的維護與調試……………336.1運行環(huán)境………346.2調試過程………356.3調試心得………35第七章展望……………367.1應用前景………367.2發(fā)展前景………36結束語…………………37致謝……………………38附錄A:源程序代碼…………………39參考文獻………………67摘要這是一本關于鐵路交通查詢系統(tǒng)的完整設計論文,其應用軟件的開發(fā)主要包括前端應用程序的開發(fā)以及后臺數據庫的建立和維護兩個方面。對于前者,要求應用程序功能完備,易使用等特點;對于后者,則要求建立起數據一致性和完整性強、數據安全性好的數據庫。經過全方面考慮,決定采用面向對象的可視化編程語言MicrosoftVisualBasic6.0對其進行開發(fā)、設計。本論文包括在系統(tǒng)開發(fā)前期對系統(tǒng)的需求分析、可行性分析、總體設計和模塊設計,以及實現階段系統(tǒng)的完整源程序代碼。在后臺設計過程中,數據庫采用Access2000存儲和管理數據;在對數據庫進行訪問時,系統(tǒng)采用ADO技術,使用數據集控件ADO來連接數據庫,同時采用大量VB語言中嵌套SQL語言來完成一些特定功能。在界面設計中,采用一個多文檔窗體集中管理,多個單文檔僅供調用,實現分支功能的模式來達到類似IDE效果的集中操作。本查詢系統(tǒng)并非只能使用在鐵路這個特定的企業(yè),它系一個通用的查詢管理系統(tǒng),適用于任何公司及企事業(yè)單位的信息管理,完成信息管理相關的功能,如:查詢,增加數據,刪除數據,修改數據等等。只要對數據庫及各窗體代碼進行修改即能實現。本查詢管理系統(tǒng)功能相對完善,界面友好,操作簡單,不乏是一個信息管理人員進行查詢系統(tǒng)管理的首選系統(tǒng)。關鍵字:VB6.0;ADO;SQL;多文檔;模塊前言任務來源:在當今信息飛速發(fā)展的時代,使用計算機作為一種認識世界的手段已經是無可厚非的事實,電腦正逐步地成為必備家用電器隊伍中的一員。作為21世紀的大學生,尤其作為計算機科學專業(yè)的學生,僅僅只會應用計算機是遠遠不夠的。世界要求進步,時代要求進步,沒有創(chuàng)新就沒有發(fā)展,因此,在學會應用計算機之后,還必須能夠編程,即開發(fā)各種應用軟件,這樣技術才能不斷進步,人們改造自然的能力才能不斷提高。由此,計算機專業(yè)的特點要求了學生的操作能力和理論知識應該齊頭并進。而檢驗學生是否能合格的從大學畢業(yè),最全面最適宜的方法就是讓學生做畢業(yè)設計——做出一個完整的能獨立成功運行的應用系統(tǒng)。而我們自己也在做畢業(yè)設計的過程中溫故總結以前學過的相關知識,將所學應用于實踐,提高電腦操作和編程的能力,并認識自己的不足以明確今后的學習和努力的方向。有了這一次真槍實彈的演習,我們對以后的工作充滿信心!作為一名計算機專業(yè)的畢業(yè)生,我根據自己的興趣和需要,選擇了鐵路交通查詢系統(tǒng)這一畢業(yè)設計課題。二、任務書:鐵路交通查詢系統(tǒng)的主要任務是用計算機對鐵路交通時刻、價格信息進行日常的管理,如查詢、數據維護等。針對系統(tǒng)服務對象的具體要求,設計了本信息查詢系統(tǒng)。此系統(tǒng)主要有以下幾點要求:(1)對每個登錄的用戶進行管理,設置每個用戶的操作權限,以避免意外或故意的信息損壞。(2)實現各交通數據信息表進行的查詢功能,力圖做到使查詢條件不是某個確定的查詢條件而定,而是面向用戶需求而定。(3)實現各交通數據信息表的修改、刪除、刷新、添加等維護功能,使得系統(tǒng)更易于管理。(4)用戶界面友好、清晰,易學易用,易于維護;安全性好;盡量減少手工重復輸入。三、本課題的特點及意義:本信息查詢系統(tǒng)是面向現實需求的一個實用系統(tǒng),特點之一是在開發(fā)VisualBasic中嵌套SQL語言(Select,Update,Delete等);之二是系統(tǒng)界面友好,簡單易用,功能通用;之三是實現通用查詢,查詢條件不是某個確定的查詢條件,而是面向用戶需求而定;之四是用了一個多文檔窗體集中管理,其余用單文檔窗體僅供調用。本課題能直接應用于鐵路交通查詢系統(tǒng),并能通過加以修改和完善的方式普遍適用于其他所有信息管理系統(tǒng)。通過從事本課題的開發(fā)和研究,能使人進一步了解面向對象語言的優(yōu)點,進一步熟悉和掌握Basic語言的編程方法和思想精髓,由此對計算機編程有了更深入的認識,也能夠在以后的工作中得心應手。第一章系統(tǒng)需求分析1.1系統(tǒng)的實際應用目標因為全國有成百上千的火車車次,所以乘客在去他想要去的地方時,常常為查找要坐哪趟車傷腦筋??粗窈褚槐久苊苈槁榈能嚧螘r刻表時覺得頭昏眼花,并且經常漏掉所要找的信息。這樣有些乘客多走了冤枉路,浪費了時間和金錢。為解決許多乘客所遇到的這種問題,也為減少不必要的損失,一個關于鐵路交通查詢的系統(tǒng)便呼之欲出。此系統(tǒng)要求實現涵蓋所有鐵路交通時刻表的信息,將這些信息進行集中管理,用程序語句實現全面、快捷、方便的查詢。這樣,如果乘客想要查詢各個站點的車次信息,以及所有車次的詳細信息時就能使用鐵路交通查詢系統(tǒng)輕松、準確獲取所需信息。1.2系統(tǒng)的功能設計要求本鐵路交通查詢系統(tǒng)的主要功能要求分為大類:對用戶的管理和對鐵路交通信息的管理。其中涉及的模塊有:權限管理對用戶信息和交通信息分別設計操作模塊,可以對其進行分別的添加、修改和刪除操作。設置用戶的權限,只有系統(tǒng)管理員才可以修改數據庫的內容,包括用戶表和交通數據信息表的內容,這樣以避免數據的丟失或故意破壞。本系統(tǒng)所采用的方法是:使用0和1決定用戶的訪問權,1表示系統(tǒng)管理員,可以對數據庫加以修改;0代表一般用戶,只能查詢,而不能修改各個表。二、查詢模塊說明通過使用SELECT語言訪問數據庫,查出需要得到的數據,賦給連接數據庫的ADO控件,然后刷新MSHFlexGrid,使其顯示所要查詢的內容。這樣以實現查詢功能。三、數據維護模塊說明使用SQL語句,如UPDATE、ADDNEW和DELETE語句,完成對數據庫里信息的更新、添加和刪除等維護工作。并且,為提高系統(tǒng)的安全性,在修改交通數據信息時,如果確定了修改的內容,必須在選擇“保存”后方能修改原始數據庫中的內容。四、打印模塊說明在工程里引用Excel,將查詢的結果(MSHFLexGrid所顯示的內容)傳送給Excel,通過使用Excel的打印功能將查詢所得信息打印出來。1.3數據流圖時刻表、價格表數據庫錄入信息時刻表、價格表數據庫錄入信息維護維護第二章系統(tǒng)可行性分析2.1

技術可行性硬件要求:主要配置為CPU(P42G以上),內存(128M以上),顯卡(64M),以及大容量硬盤(40G以上)等。軟件要求:系統(tǒng)采用VisualBasic和Access開發(fā),用VisualBasic制作系統(tǒng)的應用程序界面,Access制作后臺數據庫,兩者結合完成系統(tǒng)功能,可運行在Windows系列的操作系統(tǒng)之上。因為在開發(fā)過程中,有經驗豐富的老師指導,有許多熱心的同學討論,所以在人員素質和技術上有一定保證。2.2經濟可行性本系統(tǒng)開發(fā)的整個階段都由校計算機中心提供所有硬件設備,并且無須支付勞動者所謂的勞動報酬,所以基本上不需要大量花費。2.3操作可行性本系統(tǒng)運行在通用的Windows系列操作系統(tǒng)上,具有Windows相似的操作界面,具有簡單易學,使用方便等特點,由于進行本系統(tǒng)開發(fā)的人員都有理論基礎并且熟悉計算機應用和語言,所以不需要再經專門的培訓。2.4法律可行性本系統(tǒng)只是大學生的畢業(yè)設計課題,并不會直接應用于社會中,所以不可能與外面的應用系統(tǒng)發(fā)生專利權的沖突。所以這一點無需顧忌。第三章系統(tǒng)總體設計3.1系統(tǒng)設計思想根據設計思想,本鐵路交通查詢系統(tǒng)要求原始數據庫保持相對穩(wěn)定,無較大的變動,但是也必須能夠修改數據庫內各表的內容。針對本系統(tǒng)的特點,在設計時盡量保持原數據庫不便,在更改時必須對原數據庫進行初始化處理。3.2設計方法本系統(tǒng)是采用面向對象的程序設計思想進行編制的。整個系統(tǒng)有若干個窗體(包括一個MDI窗體,12個普通窗體),表,工具欄,狀態(tài)欄及主菜單組成,由MDI窗體統(tǒng)一管理。用戶可以通過主菜單或工具欄調用系統(tǒng)的各項功能。系統(tǒng)采用與其他系統(tǒng)開發(fā)人員開發(fā)系統(tǒng)時所采用設計方法相似,即:模塊化設計。此設計化方法簡化了系統(tǒng)設計的復雜度,降低開發(fā)系統(tǒng)的難度,讓系統(tǒng)開發(fā)人員進一步明確系統(tǒng)的功能,從而各個擊破,進行詳細的開發(fā)。3.3系統(tǒng)結構框圖在設計時,按照實際的要求把系統(tǒng)劃分為初始化,數據管理,查詢,退出等相互獨立的功能的模塊,以實現對鐵路交通信息系統(tǒng)的控制,其系統(tǒng)結構如下頁圖所示。鐵路交通查詢系統(tǒng)鐵路交通查詢系統(tǒng)鐵路交通信息塊用戶信息塊鐵路交通信息塊用戶信息塊數據處理查詢數據處理初始化初始化數據處理查詢數據處理初始化初始化打印打印3.5系統(tǒng)流程圖(如下頁圖所示)登錄登錄為管理員檢驗權限為管理員檢驗權限進入系統(tǒng)進入系統(tǒng)是修改密碼信息查詢修改密碼信息查詢否編輯數據庫各表信息編輯數據庫各表信息退出系統(tǒng)退出系統(tǒng)是退出系統(tǒng)退出系統(tǒng)第四章系統(tǒng)詳細設計4.1E-R圖權限權限用戶名密碼用戶用戶名密碼用戶車次一對多所經站點車次車型車次一對多所經站點車次車型出站時間站序起點站出站時間站序起點站列車終點站時刻列車終點站時刻進站時間到達時間進站時間到達時間自起點處公里行程起始時間自起點處公里行程起始時間車型車型空調價格空調價格價格價格行程下限行程上限行程下限行程上限用戶(用戶名,密碼,權限)時刻(車次,車型,起點站,起始時間,終點站,達到時間,行程)列車(車次,站序,所經站點,進站時間,出站時間,自起點處公里)價格(車型,空調,行程下限,行程上限,價格)4.2本系統(tǒng)的數據庫設計4.2.1數據庫開發(fā)簡介數據庫就是以一定的組織方式,將相關的數據組織在一起,存放在計算機的存儲器上,并能為多個用戶共享的,與應用程序彼此獨立的一組相關數據的集合,是數據庫系統(tǒng)的核心和管理對象。數據庫系統(tǒng)(databasesystem)是指使用數據庫技術統(tǒng)一管理、操縱和維護數據資源的整個計算機系統(tǒng)。它是由計算機的硬件、軟件、數據和人員4個部分組成的。MicrosoftAccess2000是Microsoft公司20世紀90年代推出的數據庫管理系統(tǒng)軟件,是MicrosoftOffice2000系列的一個重要組成部分。它有很強的通用性、實用性、集成性和網絡性。MicrosoftAccess2000以其強大的交互性和通用性,已經成為當今廣為流行的關系數據庫管理軟件,并有眾多用戶。MicrosoftAccess2000數據庫管理系統(tǒng)有全新的數據庫界面;能實現不同版本的數據庫共享;數據庫對象設計簡捷方便;關閉時壓縮數據庫;名稱自動更正;有示范數據庫;有子數據表;允許創(chuàng)建能同萬維網(Web)數據進行交互的“數據訪問頁”;不僅自身有強大的數據庫管理能力,而且實現與Office其他應用程序的數據傳遞;它還能與SQLServer協(xié)同工作,使Access高級用戶和開發(fā)人員更容易將數據庫知識擴展到客戶/服務器環(huán)境下。在Access中,設計一個合理的數據庫,最主要是設計合理的表以及表間關系。作為數據庫基礎數據源,它是創(chuàng)建一個能夠有效地、準確地、快捷地完成數據庫具有的所有功能的基礎。要做到這一點,首先要實現關系模型的規(guī)范化,力圖建立參照完整性。數據庫一般的設計方法步驟是:1、需求分析;2、建立數據庫中的表;3、確定表的主關鍵字段;4、確定表間的關聯關系;5、創(chuàng)建其他數據庫對象。查詢是專門用來進行數據檢索以及數據加工的一種重要的數據庫對象。查詢是通過從一個或多個表中提取數據創(chuàng)建而成的,查詢結果可以作為其他數據庫對象數據的來源。查詢的記錄集實際上并不存在,基于這一點,查詢的結果總是與數據源中的數據保持同步。在Access中,主要有選擇查詢、參數查詢、交叉表查詢、動作查詢及SQL查詢這幾種方法。由于本系統(tǒng)使用的是SQL建立查詢,下面重點介紹一下這種查詢。SQL(StructuredQueryLanguage)是簡捷易學的關系數據庫語言,它是集數據定義、查詢、操縱和控制功能于一體的結構化語言,其大多數語句都是獨立執(zhí)行并完成一個特定的操作語句。SQL能夠創(chuàng)建數據定義查詢、選擇查詢及動作查詢,他們都是通過創(chuàng)建SQL語句,再運行SQL查詢,進而創(chuàng)建不同的查詢結果的。使用SQL創(chuàng)建選擇查詢使用的是SELECT語句,其格式為:SELECT[ALL|DEISTINCT]<字段名1>[,<字段名2>……]FROM<數據源表或查詢>[INNERJOIN<數據源表或查詢>ON<條件表達式>][WHERE<條件表達式>][GROUPBY<分組字段名>[HAVING<條件表達式>]][ORDERBY<排序選項>[ASC][DESC]]4.2.2使用ACCESS建立所需數據庫數據庫是多個表和視圖的集合,創(chuàng)建數據庫后,下一步要做的就是構造新表(DBF文件),本信息查詢系統(tǒng)主要做到以下幾個表:用戶表用戶表存儲所有用戶的資料,即用戶名,密碼,權限。用戶名和密碼確定是否能進入系統(tǒng),而權限決定了每一個用戶的操作范圍,只有權限字段文本值為1的用戶能夠進入數據庫修改數據,權限為0者則不行。用戶表的有關信息如圖所示:字段字段名稱類型長度索引NULL1用戶名文本50有(無重復)否2密碼文本50無否3權限文本1無否時刻表時刻表存儲每一趟車的時刻信息。其有關信息如下所示:字段字段名稱類型長度索引NULL1車次文本10有(無重復)否2車型文本2無否3起點站文本10無否4起始時間文本10無否5終點站文本10無否6到達時間文本10無否7行程文本10無否具體內容表具體內容表存儲每一次車的詳盡信息,如每一個所到站點等。其相關信息如下所示:字段字段名稱類型長度索引NULL1編碼文本50有(無重復)否2車次文本5無否3站序文本5無否4所經站點文本5無否5進站時間文本10無否6出站時間文本10無否7自起點處公里文本10無否價格表價格表存儲任何行程的價格。相關信息如下所示:字段字段名稱類型長度索引NULL1編碼文本50有(無重復)否2車型文本2無否3空調文本2無否4行程下限文本10無否5行程上限文本10無否6價格文本5無否注:以上所有表都存儲在一個數據庫中,其路徑名是:D:\wmh\db1.mdb在數據庫實際設計過程中,當建了一個數據庫后再建表時,直接點擊工具欄上的“新建”按扭,在彈出的對話框中選擇所要建立的表的性質后,會自動彈出一個空表,此后,可以在表中輸入數據,關閉時系統(tǒng)會自動提示“是否需要保存此表?”,按“是”按扭,就能成功保存此表。4.3系統(tǒng)主要模塊流程圖登錄部分:輸入信息輸入信息檢驗用戶名檢驗用戶名存在存在否否是檢驗密碼檢驗密碼提示錯誤提示錯誤正確否正確次數>5次數>5是進入系統(tǒng)是進入系統(tǒng)退出系統(tǒng)退出系統(tǒng)查詢部分:進入查詢系統(tǒng)進入查詢系統(tǒng)輸入信息否輸入信息顯示所有沿途站點顯示所有沿途站點粗略粗略查詢只查詢車次是是只查詢車次只顯示起點和終點只顯示起點和終點否顯示兩站之間的車次只查詢站點是顯示兩站之間的車次只查詢站點否同時查詢車次和站點同時查詢車次和站點顯示此車次本站點的信息是顯示此車次本站點的信息否查詢價格是查詢價格顯示所需價格信息顯示所需價格信息否退出查詢否退出查詢是退出退出4.4介紹各窗體按照窗體在運行中的先后順序,介紹窗體如下:frmlogin(frmlogin.frm)本窗體主要是為了提高系統(tǒng)安全性而設計的,為防止非法人員進入該鐵路交通查詢系統(tǒng)。該界面說明了登陸時應輸入的帳號,密碼。另外,數據庫通過對用戶名的核查以后確定該用戶的操作權限,以此避免失誤或故意的數據破壞。(2)MDIForm1(FRMMAIN.FRM)該窗體由一個菜單欄,一個工具欄,一個Imagelist,一個Treeview構成。此窗體是運行時的主窗體,集中管理各個子窗體,擁有所有其他窗體的連接按鈕。(3)frmAbout(frmAbout.frm)此窗體由四個label,兩個CommandButton,一個PictureBox組成。點擊“添加窗體”按鈕,選擇“關于‘對話框’”選項,系統(tǒng)會自動生成一個對話框。而后修改Label的“Caption”屬性就能改變窗體要顯示的內容。(4)frmTip(frmTip.frm)該窗體主要介紹該系統(tǒng)的設計者的信息,以及在使用時該注意的事項。(5)密碼修改(xgmm.frm)此窗體專為想要修改其自身密碼的用戶使用。(6)frmSearch(frmSearch.frm)此窗體由五個Label,三個Frame,三個TextBox,三個CommandButton,兩個ComboBox,兩個OptionButton,一個MSHFlexGrid組成。窗體完成所有查詢功能,包括對鐵路交通信息的車次查詢,具體信息查詢和價格查詢。(7)用戶信息編輯(manageuser.frm)此窗體由三個CommandButton,兩個TextBox,兩個OptionButton,一個Frame,一個MSHFlexGrid組成。其完成對用戶的管理功能,包括對用戶的添加,刪除,以及對所有用戶的權限設置。(8)時刻表編輯(managetrain.frm)該窗體完成對時刻表的編輯功能,包括對表的添加、刪除和刷新的操作。(9)Form2(Form2.frm)此窗體由七個Label,四個TextBox,兩個CommandButton,一個Frame,一個ComboBox組成。該窗體的功能是實現對時刻表的修改過程。由于不希望在修改時重復不必要的輸入,所以在要修改時刻表的任何一行信息時,只需在時刻表編輯窗體中選擇它,然后點擊其中的“修改”按鈕,這時,Form2窗體就會彈出,顯示出所有被選中的那行信息的內容。修改需要修改的信息,然后點擊“保存”,這樣就完成修改過程。(10)具體內容編輯(managesimtrain.frm)該窗體由五個CommandButton,五個TextBox,一個MSHFlexGrid,一個ComboBox,一個ADO控件構成。該窗體實現對表simpletrain的添加、刪除和刷新操作。(11)Form1(Form1.frm)該窗體由七個Label,兩個CommandButton,一個ComboBox,一個Frame組成。該窗體主要實現對表simpletrain的修改功能。它與Form1相同,也減少不必要的重復輸入。(12)價格表編輯(manageprice.frm)此窗體由五個CommandButton,五個Label,三個TextBox,兩個ComboBox,一個MSHFlexGrid,一個Frame組成。該窗體主要完成對表trainprice的編輯,即添加,刪除和刷新工作。(13)Form3(Form3.frm)該窗體由五個Label,兩個ComboBox,兩個CommandButton,一個Frame構成。實現對表trainprice的修改過程。此窗體和Form1、Form2一樣,沒有重復煩瑣的輸入過程。第五章系統(tǒng)程序設計5.1開發(fā)工具平臺VB6.0簡介VisualBasic是在Windows平臺上大眾化的程序開發(fā)工具,VisualBasic6.0是Microsoft公司最新推出的32位Windows開發(fā)工具,是面向對象的可視化的編程語言和Windows程序開發(fā)工具。Basic是指BASIC(BeginnersAll-purposeSymbolicInstructionCode初學者通用符號指令代碼),具有面向普通使用者,易學易用的優(yōu)點。目前Basic語言是擁有用戶最多的計算機語言。Visual的英文原意是“可視的”,“視覺的”。在這里是指開發(fā)圖形用戶界面(GUI)的方法,即“可視化程序設計”。對于初者希望在Windows環(huán)境下開發(fā)一般的應用程序,VB無疑是最理想的。使用VB不僅可以感受到Windows帶來新技術,新概念和新方法,而且VB是目前眾多Windows軟件開發(fā)工具中效率最高的一個。另外,VB系列產品得到了計算機工業(yè)界的承認,得到了許多軟件開發(fā)商的大力支持,甚至在ORACLE的最新的產品中也提供對VB支持,從而使其成為一種事實上的標準。VisualBasic6.0中文版適用于Windows95和WindowsNT及其以上平臺,它功能強大,方便快捷。使用VisualBasic6.0中文版可以開發(fā)通信、數據庫、多媒體、動畫制作、Internet與Intranet應用以及普通的Windows應用程序。它具有智能化的操作界面、執(zhí)行效率高、控件制作強大等特點,這樣就大大簡化了Windows應用程序的編寫過程。VB6的語言特點是:1、用戶可定義的參數或返回值類型;2、函數返回值可以為數組;3、可對可變的數組進行復制;4、創(chuàng)建文件系統(tǒng)對象;5、用程序名進行程序調用;6、創(chuàng)建對象函數的功能增強;7、字符串轉換函數功能增強,提供一些新的字符串函數。另外,VB6的數據存儲功能很強:ADO(ActiveXDataObject)ActiveX數據對象,提供ADO數據環(huán)境和數據控件,允許建立與操縱可視化ADO連接和命令,數據綁定功能強。另外,VB6還支持OLE數據庫和可視化數據集成。VB6共有三種版本,“學習版”、“專業(yè)版”和“企業(yè)版”,其中標準版主要是為初學者了解基于Windows的應用程序開發(fā)而設計的;專業(yè)版主要是為專業(yè)人員創(chuàng)建客戶/服務器應用程序而設計的;企業(yè)版則是為創(chuàng)建更高級的分布式,高性能的客戶/服務器或Internet/Intranet上的應用程序的。這樣使得VB6.0可以滿足不同層次的開發(fā)者和用戶的需要。為了匹配微軟本身在Web上大力倡導的ActiveX新標準,VB6理所當然的成為針對此標準所推出的程序開發(fā)工具,把Internet及Intranet應用的設計作為其重點內容之一。VB6使用“工程”來管理創(chuàng)建應用成組的所有文件,工程中的所有部件連同程序代碼被匯集在一起,便可以編譯工程,進而生成一個可執(zhí)行文件,這就是應用程序。在VB6的集成環(huán)境中,當程序員下達運行程序的命令后,VB6就會自動將程序編譯成二進制(即起碼),再由計算機去運行這個程序,借以進行應用程序的測試及調試工作。VB6提供了多種文件類型,不僅提供標準EXE文件格式,而且提供ActiveX文件格式,且其ActiveX控件的開發(fā)能力也是VB6應用程序的設計者成為Internet相關設計的一員。VB6的程序代碼由語句、常量和聲明等部分組成。使用復制語句可以在程序運行中改變對象的屬性和變量的值,其用法格式是:對象屬性變量=表達式。VB6種有多種類型的變量供靈活選擇使用,VB6應用程序設計對于變量的是擁有其特定的原則,需要程序員去遵循,這些原則主要表現在變量的命名規(guī)則和變量存放的數據類型這兩個基本概念的建立變量的作用范圍確定了那部分的程序代碼能識別和使用這個變量,超過這個范圍的程序代碼則無法識別和使用這個變量。在一個過程內部聲明的變量,只有這個過程內部的程序代碼才能訪問或改變那個變量的值。5.2主要編碼說明a)查詢模塊編碼:PrivateSubCmd查詢_Click()DimstrAsStringSetmyrec=NewADODB.RecordsetIfText1.Text<>""AndText2.Text=""AndText3.Text=""AndText4.Text=""'若查詢車次的文本框不為空,其他為空Then'若為粗略查詢,則查時刻表IfOption3.Value=TrueThenSQL="select*from時刻表where車次='"&Trim(Text1.Text)&"'"'調用名叫cida的函數Callcidamyrec.OpenSQL,mycon,adOpenDynamic,adLockOptimistic,adCmdText'調用名叫inigrid的函數Callinigridmyrec.CloseEndIf'若為詳細查詢,則查具體信息表IfOption4.Value=TrueThenSQL="select*fromsimpletrainwhere車次='"&Trim(Text1.Text)&"'"CallcidaCallinigridEndIfEndIf'若站點的一個文本框不為空,其他皆空IfText2.Text<>""AndText1.Text=""AndText3.Text=""AndText4.Text=""ThenCallinigrid'則顯示所有包含此站點的交通信息SQL="select*fromsimpletrainwhere所經站點='"&Trim(Text2.Text)&"'"CallcidaCallinigridEndIf'若車次文本框和一個站點文本框不為空,其他均空IfText1.Text<>""AndText2.Text<>""AndText4.Text=""Then'則顯示所輸入車次的所經這一站點的信息SQL="select*fromsimpletrainwhere車次='"&Trim(Text1.Text)&"'and所經站點='"&Trim(Text2.Text)&"'"CallcidaCallinigridEndIf'若兩個站點文本框都不空,其他皆空IfText2.Text<>""AndText4.Text<>""AndText1.Text=""AndText3.Text=""Then'顯示從一站點到達令一站點的途徑SQL="select車次from時刻表where起點站='"&Trim(Text2.Text)&"'and終點站='"&Trim(Text4.Text)&"'"CallcidaCallinigridEndIf'若查詢價格欄的所有輸入信息框不為空,其他均空IfText3.Text<>""AndCombo1.Text<>""AndCombo2.Text<>""AndText1.Text=""AndText2.Text=""AndText4.Text=""Then'顯示所要查詢的價格信息SQL="select*fromtrainpricewhere空調='"&Trim(Combo2.Text)&"'and車型='"&Trim(Combo1.Text)&"'and行程下限<"&CInt(Trim(Text3.Text))&"and行程上限>"&CInt(Trim(Text3.Text))&""myrec.OpenSQL,mycon,adOpenDynamic,adLockOptimistic,adCmdTextCallcidaCallinigridEndIfEndSub'被調用的inigrid函數Subinigrid()frmSearch.Adodc1.RecordSource=SQLfrmSearch.Adodc1.RefreshSetfrmSearch.MSHFlexGrid1.DataSource=frmSearch.Adodc1frmSearch.MSHFlexGrid1.RefreshEndSub'被調用的cida函數Subcida()frmSearch.Adodc1.LockType=adLockReadOnlyfrmSearch.Adodc1.CommandType=adCmdTextfrmSearch.Adodc1.CursorType=adOpenDynamicfrmSearch.Adodc1.RecordSource=SQLEndSubb)打印模塊編碼:PrivateSubCmd打印_Click()'定義變量DimiAsIntegerDimjAsIntegerDimx1appAsExcel.ApplicationDimx1bookAsExcel.WorkbookDimx1sheetAsExcel.Worksheet'引用ExcelSetx1app=CreateObject("excel.application")x1app.Visible=TrueSetx1book=x1app.Workbooks.AddSetx1sheet=x1book.Worksheets(1)'讀入行信息Fori=0ToMSHFlexGrid1.Rows-1MSHFlexGrid1.Row=IForj=0ToMSHFlexGrid1.Cols-1MSHFlexGrid1.Col=jIfIsNull(MSHFlexGrid1.Text)=FalseThenx1sheet.Cells(i+1,j+1)=MSHFlexGrid1.TextEndIfNextjNextISetxlsheet=NothingSetxlbook=NothingSetxlapp=Nothing'將表格里內容輸出到excel文件里,實現打印EndSub第六章維護與調試6.1運行環(huán)境1、硬件:CPU:Cyrix6x86MX處理器;內存:40M硬盤:40G;CD-ROM:42XBMicrosoftMouse或兼容設備聲卡:ESS688AudioDrive顯示適配器:S3Trio64V2-DX/GX(775/785)2、軟件:操作系統(tǒng):MicrosoftWindows2000ServerFamily開發(fā)語言:面向對象的可視化語言MicrosoftVisualBasic6.0中文版3、網絡:本系統(tǒng)是在個人計算機上開發(fā)的,沒有涉及到網絡方面的內容。若要實現網絡共享,須根據VB的安裝提示逐步操作即可。6.2調試過程程序設計編碼工作完成之后,為了確保系統(tǒng)的正確性和嚴密性,系統(tǒng)在交給用戶使用之前必須進行一系列的調試與維護測試。我在測試、調試過程中確實發(fā)現了一些問題,經過一段時間的調試與修改,程序終于達到了總體設計的要求。具體測試大致可分為以下幾個方面:①數據的合法性。如:判斷數據值可不可以為空,數據類型是否符合定義。②程序的容錯性。輸入非法的數值時,程序是否能根據各表中的關鍵字判斷輸入值合法與否,同時檢驗有沒有相應的提示或出錯警告。③人、機交互性。在查詢相關信息時,對并不認可的查詢方法進行提示,并要求用戶重新輸入。6.3調試心得在系統(tǒng)的整個開發(fā)過程中,我體會最深的就是調試工作的艱辛。調試,作為系統(tǒng)開發(fā)的一個至關重要的環(huán)節(jié),要求調試人員必須有足夠的知識水平和耐心。因為在調試時很有可能出現運行了無數次還不能解決問題的情況,系統(tǒng)總提示形形色色的錯誤,如提示“找不到對象”、“數據類型不匹配”,等等。這就需要調試工作者必須耐心地逐一檢查,利用所學程序設計的知識一一核查,檢查錯誤之后,改正,方可能成功。我這里說“可能”,是因為有時你經過反復的核查后還不能檢查出錯誤。比如,有時僅僅因為If缺少了EndIf,或者Select沒有EndSelect與之相對應,程序就無法正常運行??墒沁@樣的錯誤很容易被忽略,尤其是有多重選擇的時候。我在調試時也少不了遇到類似情況,剛開始時我焦急萬分,因為實在檢查不出錯誤,后來在一次次地修改源程序后還是不成功,我就開始想放棄了。但是有了問題必須得解決,我就先讓自己放松一下,一段時間內盡量不去想任何關于程序的問題;等腦子清醒后再又投入學習中去;若再檢查不出來就請教熟悉編程的同學,或者請指導老師予以幫助。就是這樣,我才得以克服一個又一個困難,最終取得初步勝利。例如,在設計查詢模塊的源程序時,我在剛開始運行時先就出現了“找不到對象”的錯誤提示,分析了一下原因我認為是ADO控件的連接出了問題,在修改控件的屬性之后,仍出現了問題,這時我就懷疑是程序出了問題。在檢查程序代碼時,我一句一句地思考,但是在接下來修改了幾次后仍不能運行,沒辦法,只好歇息一下。第二天我重新找錯誤,結果最后發(fā)現是幾個關鍵的定義漏了。在再次修改后,程序最終能夠運行。接著就是每一個查詢功能的運行,在此期間,出現了很多問題,比如讓程序自身比較兩個數值的大小,先是怎么也不能正確判斷數值所處的區(qū)間,糾其原因,原來是文本類型的數值不能使系統(tǒng)準確判斷大小,只好重新定義數字類型。就是這樣一步一步調試、檢查,再調試、再檢查……最后,問題逐一解決!第七章展望7.1應用前景由于本交通查詢系統(tǒng)是一個通用的信息查詢系統(tǒng),并不是專門為某一特定的部門或者企事業(yè)單位開發(fā)的,故可以適合于任何公司部門的信息查詢和管理。本系統(tǒng)雖然簡單,但通用,易用,界面友好,安全性高。在對信息管理的同時也對用戶進行管理。7.2發(fā)展前景在今后的實踐和應用中發(fā)現該系統(tǒng)的不足,并加以完善,盡最大可能完整實現該系統(tǒng)的查詢功能,實現真正的面向用戶,即切實實際地做到查詢條件表示某個確定的查詢條件而定,而是面向用戶的需求而定。另外,網絡目前已成為廣為流行的一種獲得信息的手段和方法,若要實現信息的共享,最便捷的方法就是將自己的信息發(fā)布到Internet上,以供別人參考和借鑒。所以,此類系統(tǒng)的發(fā)展前景就是將其本身發(fā)布到網絡世界以實現資源共享。結束語經過四個多月的辛勤設計和開發(fā),鐵路交通查詢系統(tǒng)基本開發(fā)完畢。其功能基本符合要求,能夠完成并實對現各個表數據的存儲和查詢,以及各類相關信息的打印。同時,還提供了系統(tǒng)維護功能,使用戶能夠方便地進行數據備份、恢復、刪除和修改。另外,程序也有效地解決了數據的一致性的問題。但是,經過進一步的分析與思考,本鐵路交通查詢系統(tǒng)還存在著以下問題:由于在設計時考慮地欠全面,查詢塊的功能并非十分完善,比如要實現對從一個站點到另一個站點,而這兩個站點并非起點站和終點站時,可以乘什么車次的車的問題,這當中有可能要牽連到“換乘”的問題,換乘又牽連到時間以及天數的問題,這樣就要涉及到數據結構中最短路徑的思想……要周全考慮所有的查詢要求并對其實現,需要有很精確的思路和扎實的理論概念和基礎,進行更進一步的研究和開發(fā)。鳴謝首先,我要感謝我的指導老師——陳學進老師,他在我做畢業(yè)設計的過程中起了舉足輕重的作用。一開始,陳老師給我們列出《畢業(yè)設計指導書》和《畢業(yè)設計論文編寫大綱》,宏觀安排好各個時間段所要做的工作,要求我們盡量按照所要求的進程完成。雖然陳老師工作忙,但在繁忙之余他總不忘關心我們的設計進度。每隔一段時間,老師會詢問我們做的怎樣,有沒有什么困難。若有疑問,不論問題大小和難易,老師都耐心解答,這樣使我沒有一點緊張的情緒,交流時氣氛也特別的輕松。我得感謝所有授予我知識的老師,正是點滴知識的積累,我才有了自學和學以致用的本領,才能夠完成畢業(yè)設計。另外,我還要感謝校計算機中心的值班老師,他們盡最大可能保持機房的開放(甚至沒有周末),以讓我們有充足的時間做畢業(yè)設計。他們是如此辛苦卻沒有一句怨言!我還要感謝所有同學,正是大家一起創(chuàng)造了良好的學習氛圍,發(fā)揚了互相幫助、樂于助人的精神,在別人遇到困難時樂心予以幫助,才使得我在學習的過程中積極向上,充滿信心。在整整一學期的做畢業(yè)設計的過程中,我了解到VB等面向對象編程技術的優(yōu)點,熟悉了Basic語言。我亦學會應用VB的基本和主要的控件,將編程的思路和開發(fā)系統(tǒng)的方法全面提高,以至能獨立完成一般信息管理系統(tǒng)的開發(fā)執(zhí)行過程。有了這次實踐經歷,我能在今后的系統(tǒng)開發(fā)中駕輕就熟,也使我們能更有自信面對今后的學習和工作。我由衷的感謝所有予以我?guī)椭娜?,謝謝!附錄:源程序代碼(a)login窗體代碼:DimmyconAsADODB.ConnectionDimmystrAsStringDimmyrecAsADODB.RecordsetDimstrAsStringDimSQLAsStringOptionExplicitDimsisAsIntegerPublicLoginSucceededAsBooleanPrivateSubcmdCancel_Click()LoginSucceeded=FalseUnloadMeEndEndSubPrivateSubcmdOK_Click()Setmyrec=NewADODB.RecordsetSQL="select*from用戶表where用戶名='"&Trim(txtUserName.Text)&"'and密碼='"&Trim(txtPassword.Text)&"'"myrec.OpenSQL,mycon,adOpenDynamic,adLockBatchOptimistic,adCmdTextIfmyrec.BOFAndmyrec.EOFThenmyrec.CloseMsgBox"用戶名或密碼有誤,請重新輸入!",vbCriticalsis=sis+1Ifsis>=5ThenUnloadfrmloginExitSubElseIftxtPassword.Text=myrec.Fields("密碼").ValueThenIfmyrec.Fields("權限")=1ThenUnloadfrmloginMDIForm1.ShowEndIfIfmyrec.Fields("權限")=0ThenUnloadfrmloginMDIForm1.ShowMDIForm1.manage.Enabled=FalseMDIForm1.Toolbar1.Buttons(3).Enabled=FalseMDIForm1.Toolbar1.Buttons(4).Enabled=FalseMDIForm1.a.Enabled=FalseMDIForm1.b.Enabled=FalseMDIForm1.c.Enabled=FalseMDIForm1.yh.Enabled=FalseMDIForm1.TreeView1.Enabled=FalseEndIfEndIfmyrec.CloseEndIfEndSubPrivateSubForm_Load()Setmycon=NewADODB.Connectionstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\wmh\db1.mdb;PersistSecurityInfo=False"mycon.OpenstrEndSubPrivateSubTimer1_Timer()Staticii=i+1Image1.Picture=ImageList1.ListImages(i).PictureIfi=8Theni=1-1EndIfEndSubPrivateSubTimer2_Timer()Label1.Left=Label1.Left-50IfLabel1.Left<-Label1.WidthThenEndIfEndSubPrivateSubtxtPassword_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThencmdOK.SetFocusEndIfEndSubPrivateSubtxtUserName_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThentxtPassword.SetFocusEndIfEndSub(b)MDIForm1窗體代碼:PrivateSuba_Click()時刻表編輯.ShowEndSubPrivateSubabout_Click()frmAbout.ShowEndSubPrivateSubb_Click()具體內容編輯.ShowEndSubPrivateSubc_Click()價格表編輯.ShowEndSubPrivateSubexit_Click()IfMsgBox("是否退出此系統(tǒng)?",vbYesNo+vbCritical,"系統(tǒng)")=vbYesThenEndEndIfEndSubPrivateSubfind_Click()frmSearch.ShowEndSubPrivateSublogin_Click()frmlogin.ShowEndSubPrivateSubMDIForm_Activate()TreeView1.Width=Picture1.ScaleWidthTreeView1.Height=Picture1.ScaleHeightTreeView1.Left=0EndSubPrivateSubMDIForm_Load()DimSysNodeAsNodeSetSysNode=TreeView1.Nodes.Add(,,"SysFunc","鐵路交通查詢系統(tǒng)",1)SysNode.Expanded=TrueSetSysNode=TreeView1.Nodes.Add("SysFunc",tvwChild,"yhgl","用戶管理",2)SetSysNode=TreeView1.Nodes.Add("yhgl",tvwChild,"edityh","用戶信息編輯",4)SetSysNode=TreeView1.Nodes.Add("SysFunc",tvwChild,"jtgl","交通管理",2)SetSysNode=TreeView1.Nodes.Add("jtgl",tvwChild,"searchsj","交通信息查詢",3)SetSysNode=TreeView1.Nodes.Add("jtgl",tvwChild,"editsk","時刻表編輯",4)SetSysNode=TreeView1.Nodes.Add("jtgl",tvwChild,"editjt","具體內容編輯",4)SetSysNode=TreeView1.Nodes.Add("jtgl",tvwChild,"editjg","價格表編輯",4)SetSysNode=TreeView1.Nodes.Add("SysFunc",tvwChild,"tc","退出系統(tǒng)",5)EndSubPrivateSubMDIForm_Unload(CancelAsInteger)OnErrorResumeNextUnloadfrmTipEndSubPrivateSubPicture1_Resize()TreeView1.Width=Picture1.ScaleWidthTreeView1.Height=Picture1.ScaleHeightTreeView1.Left=0EndSubPrivateSubtip_Click()SaveSettingApp.EXEName,"Options","在啟動時顯示提示",1frmTip.ShowEndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.KeyCase"b":find_ClickCase"c":xgmm_ClickCase"d":yh_ClickCase"e":a_ClickCase"f":frmTip.ShowEndSelectEndSubPrivateSubTreeView1_NodeClick(ByValNodeAsMSComctlLib.Node)SelectCaseNodeCase"用戶信息編輯":yh_ClickCase"交通信息查詢":find_ClickCase"時刻表編輯":a_ClickCase"具體內容編輯":b_ClickCase"價格表編輯":c_ClickCase"退出系統(tǒng)":exit_ClickEndSelectEndSubPrivateSubxgmm_Click()密碼修改.ShowEndSubPrivateSubyh_Click()用戶信息編輯.ShowEndSub(c)About窗體代碼:OptionExplicit'注冊表關鍵字安全選項...ConstREAD_CONTROL=&H20000ConstKEY_QUERY_VALUE=&H1ConstKEY_SET_VALUE=&H2ConstKEY_CREATE_SUB_KEY=&H4ConstKEY_ENUMERATE_SUB_KEYS=&H8ConstKEY_NOTIFY=&H10ConstKEY_CREATE_LINK=&H20ConstKEY_ALL_ACCESS=KEY_QUERY_VALUE+KEY_SET_VALUE+_KEY_CREATE_SUB_KEY+KEY_ENUMERATE_SUB_KEYS+_KEY_NOTIFY+KEY_CREATE_LINK+READ_CONTROL'注冊表關鍵字ROOT類型...ConstHKEY_LOCAL_MACHINE=&H80000002ConstERROR_SUCCESS=0ConstREG_SZ=1'獨立的空的終結字符串ConstREG_DWORD=4'32位數字ConstgREGKEYSYSINFOLOC="SOFTWARE\Microsoft\SharedToolsLocation"ConstgREGVALSYSINFOLOC="MSINFO"ConstgREGKEYSYSINFO="SOFTWARE\Microsoft\SharedTools\MSINFO"ConstgREGVALSYSINFO="PATH"PrivateDeclareFunctionRegOpenKeyExLib"advapi32"Alias"RegOpenKeyExA"(ByValhKeyAsLong,ByVallpSubKeyAsString,ByValulOptionsAsLong,ByValsamDesiredAsLong,ByRefphkResultAsLong)AsLongPrivateDeclareFunctionRegCloseKeyLib"advapi32"(ByValhKeyAsLong)AsLongPrivateSubcmdSysInfo_Click()CallStartSysInfoEndSubPrivateSubcmdOK_Click()UnloadMeEndSubPrivateSubForm_Load()Me.Caption="關于"&App.TitlelblVersion.Caption="版本"&App.Major&"."&App.Minor&"."&App.RevisionlblTitle.Caption=App.TitleEndSubPublicSubStartSysInfo()OnErrorGoToSysInfoErrDimrcAsLongDimSysInfoPathAsString'試圖從注冊表中獲得系統(tǒng)信息程序的路徑及名稱...IfGetKeyValue(HKEY_LOCAL_MACHINE,gREGKEYSYSINFO,gREGVALSYSINFO,SysInfoPath)Then'試圖僅從注冊表中獲得系統(tǒng)信息程序的路徑...ElseIfGetKeyValue(HKEY_LOCAL_MACHINE,gREGKEYSYSINFOLOC,gREGVALSYSINFOLOC,SysInfoPath)Then'已知32位文件版本的有效位置If(Dir(SysInfoPath&"\MSINFO32.EXE")<>"")ThenSysInfoPath=SysInfoPath&"\MSINFO32.EXE"'錯誤-文件不能被找到...ElseGoToSysInfoErrEndIf'錯誤-注冊表相應條目不能被找到...ElseGoToSysInfoErrEndIfCallShell(SysInfoPath,vbNormalFocus)ExitSubSysInfoErr:MsgBox"此時系統(tǒng)信息不可用",vbOKOnlyEndSubPublicFunctionGetKeyValue(KeyRootAsLong,KeyNameAsString,SubKeyRefAsString,ByRefKeyValAsString)AsBooleanDimiAsLong'循環(huán)計數器DimrcAsLong'返回代碼DimhKeyAsLong'打開的注冊表關鍵字句柄DimhDepthAsLongDimKeyValTypeAsLong'注冊表關鍵字數據類型DimtmpValAsString'注冊表關鍵字值的臨時存儲器DimKeyValSizeAsLong'注冊表關鍵自變量的尺寸'打開{HKEY_LOCAL_MACHINE...}下的RegKeyrc=RegOpenKeyEx(KeyRoot,KeyName,0,KEY_ALL_ACCESS,hKey)'打開注冊表關鍵字If(rc<>ERROR_SUCCESS)ThenGoToGetKeyError'處理錯誤...tmpVal=String$(1024,0)'分配變量空間KeyValSize=1024'標記變量尺寸'檢索注冊表關鍵字的值...rc=RegQueryValueEx(hKey,SubKeyRef,0,_KeyValType,tmpVal,KeyValSize)'獲得/創(chuàng)建關鍵字值If(rc<>ERROR_SUCCESS)ThenGoToGetKeyError'處理錯誤If(Asc(Mid(tmpVal,KeyValSize,1))=0)Then'Win95外接程序空終結字符串...tmpVal=Left(tmpVal,KeyValSize-1)'Null被找到,從字符串中分離出來Else'WinNT沒有空終結字符串...tmpVal=Left(tmpVal,KeyValSize)'Null沒有被找到,分離字符串EndIf'決定轉換的關鍵字的值類型...SelectCaseKeyValType'搜索數據類型...CaseREG_SZ'字符串注冊關鍵字數據類型KeyVal=tmpVal'復制字符串的值CaseREG_DWORD'四字節(jié)的注冊表關鍵字數據類型Fori=Len(tmpVal)To1Step-1'將每位進行轉換KeyVal=KeyVal+Hex(Asc(Mid(tmpVal,i,1)))'生成值字符。ByChar。NextKeyVal=Format$("&h"+KeyVal)'轉換四字節(jié)的字符為字符串EndSelectGetKeyValue=True'返回成功rc=RegCloseKey(hKey)'關閉注冊表關鍵字ExitFunction'退出GetKeyError:'錯誤發(fā)生后將其清除...KeyVal=""'設置返回值到空字符串GetKeyValue=False'返回失敗rc=RegCloseKey(hKey)'關閉注冊表關鍵字EndFunction(d)Tip窗體代碼:OptionExplicit'內存中的提示數據庫。DimTipsAsNewCollection'提示文件名稱ConstTIP_FILE="TIPOFDAY.ini"'當前正在顯示的提示集合的索引。DimCurrentTipAsLongPrivateSubDoNextTip()'隨機選擇一條提示。CurrentTip=Int((Tips.Count*Rnd)+1)'或者,您可以按順序遍歷提示'CurrentTip=CurrentTip+1'IfTips.Count<CurrentTipThen'CurrentTip=1'EndIf'顯示它。frmTip.DisplayCurrentTipEndSubFunctionLoadTips(sFileAsString)AsBooleanDimNextTipAsString'從文件中讀出的每條提示。DimInFileAsInteger'文件的描述符。'包含下一個自由文件描述符。InFile=FreeFile'確定為指定文件。IfsFile=""ThenLoadTips=FalseExitFunctionEndIf'在打開前確保文件存在。IfDir(sFile)=""ThenLoadTips=FalseExitFunctionEndIf'從文本文件中讀取集合。OpensFileForInputAsInFileWhileNotEOF(InFile)LineInput#InFile,NextTipTips.AddNextTipWendCloseInFile'隨機顯示一條提示。DoNextTipLoadTips=TrueEndFunctionPrivateSubchkLoadTipsAtStartup_Click()'保存在下次啟動時是否顯示此窗體SaveSettingApp.EXEName,"Options","在啟動時顯示提示",chkLoadTipsAtStartup.ValueEndSubPrivateSubcmdNextTip_Click()DoNextTipEndSubPrivateSubcmdOK_Click()UnloadMeEndSubPrivateSubForm_Load()DimShowAtStartupAsLong'察看在啟動時是否將被顯示ShowAtStartup=GetSetting(App.EXEName,"Options","在啟動時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論