畢業(yè)設(shè)計(jì)--《網(wǎng)吧收費(fèi)系統(tǒng)》_第1頁
已閱讀1頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  肅聿蒁薂羈肈薃螇袆?wù)仄M薀螂肆蒞螆蚈肅蒈薈羇膅膇螄袃膄艿薇蝿膃蒂螂螅膂薄蚅肄膁芄蒈羀膀莆蚃袆腿蒈蒆螂艿膈螞蚈羋芀蒄羆芇莃蝕袂芆薅蒃袈芅芅螈螄芄莇薁肅芃葿螆罿芃薂蕿裊莂芁螅螁羈莄薈蚇羇蒆螃羅羇膅薆羈羆莈袁袇羅蒀蚄螃羄薂蕆肂羃節(jié)螞羈羂莄蒅襖肁蕆蟻螀肁膆蒄蚆肀荿蠆肅聿蒁薂羈肈薃螇袆?wù)仄M薀螂肆蒞螆蚈肅蒈薈羇膅膇螄袃膄艿薇蝿膃蒂螂螅膂薄蚅肄膁芄蒈羀膀莆蚃袆腿蒈蒆螂艿膈螞蚈羋芀蒄羆芇莃蝕袂芆薅蒃袈芅芅螈螄芄莇薁肅芃葿螆罿芃薂蕿裊

2、莂芁螅螁羈莄薈蚇羇蒆螃羅羇膅薆羈羆莈袁袇羅蒀蚄螃羄薂蕆肂羃節(jié)螞羈羂莄蒅襖肁蕆蟻螀肁膆蒄蚆肀荿蠆肅聿蒁薂羈肈薃螇袆?wù)仄M薀螂肆蒞螆蚈肅蒈薈羇膅膇螄袃膄艿薇蝿膃蒂螂螅膂薄蚅肄膁芄蒈羀膀莆蚃袆腿蒈蒆螂艿膈螞蚈羋芀蒄羆芇莃蝕袂芆薅蒃袈芅芅螈螄芄莇薁肅芃葿螆罿芃薂蕿裊莂芁螅螁羈莄薈蚇羇蒆螃羅羇膅薆羈羆莈袁袇羅蒀蚄螃羄薂蕆肂羃節(jié)螞羈羂莄蒅襖肁蕆蟻螀肁膆蒄蚆肀荿蠆肅聿蒁薂羈肈薃螇袆?wù)仄M薀螂肆蒞螆蚈肅蒈薈羇膅膇螄袃膄艿薇蝿膃蒂螂螅膂薄蚅肄膁芄蒈羀膀莆蚃袆

3、腿蒈蒆螂艿膈螞蚈羋芀蒄羆芇莃蝕袂芆薅蒃袈芅芅螈螄芄莇薁肅芃葿螆罿芃薂蕿裊莂芁螅螁羈莄薈蚇羇蒆螃羅羇膅薆羈羆莈袁袇羅蒀蚄螃羄薂蕆肂羃節(jié)螞羈羂莄蒅</p><p>  題 目: (服務(wù)器端)</p><p>  姓 名: 陳 寶 忠</p><p>  系 別: 計(jì)算機(jī)工程系</p><p>  指導(dǎo)教師: 鐘 文

4、龍</p><p>  重慶電子職業(yè)技術(shù)學(xué)院</p><p><b>  二00八年三月</b></p><p><b>  摘要</b></p><p>  計(jì)算機(jī)日益普及的今天,我國(guó)網(wǎng)民數(shù)量日益增多.其中網(wǎng)吧是網(wǎng)民集中的場(chǎng)所,在利益的驅(qū)使下,越來越多的網(wǎng)吧成立.網(wǎng)吧的管理也成了一 個(gè)新的問題,一

5、方面是硬件的安裝與維修,網(wǎng)絡(luò)安全的組建.還有一方面就是網(wǎng)吧收費(fèi).網(wǎng)吧這樣的公眾場(chǎng)所,人員流動(dòng)性大,不可能完全靠人力 去解決,而且管理者和工作人員之間也要有帳目的清算.</p><p>  而且為了節(jié)約成本,網(wǎng)吧的工作人員也不會(huì)有太多,如何達(dá)到這樣的目的,信息化的時(shí)代還是 要靠科技.面對(duì)這樣的現(xiàn)實(shí),一款應(yīng)用軟件就能把這些問題解決,軟件該怎么做,需要什么功能我們自然不能靠簡(jiǎn)單的理論分析,有機(jī)會(huì) 還是要到實(shí)際的生活中去

6、了解,只有這樣才能保證做 出的系統(tǒng)有較高的使用價(jià)值.</p><p>  在開發(fā)圖書管理的過程,在實(shí)際調(diào)查后確定開發(fā)流程,基本功能設(shè)計(jì),文檔研究方案.</p><p>  現(xiàn)在網(wǎng)吧不單是靠提供計(jì)算機(jī)給網(wǎng)民上網(wǎng)服務(wù),還加有商品的銷售,商品銷售如果只是靠人員來記錄消費(fèi)情況,會(huì)提高出錯(cuò)的概率,而且在人員換班的時(shí)候 帳目清算是件很麻煩的事情. 如果把商品 的銷售也加進(jìn)這個(gè)系統(tǒng)中,工作人員只是輸入

7、商品的編號(hào),帳目就有系統(tǒng)自動(dòng)結(jié)算.</p><p>  還要考慮到系統(tǒng)實(shí)際運(yùn)行執(zhí)行代碼的效率,功能模塊很多的時(shí)候,運(yùn)行速度就成了新的問題,如何解決,讓起流暢運(yùn)行呢?</p><p>  數(shù)據(jù)庫安全的問題,計(jì)算機(jī)畢竟只是機(jī)器而已,受外界環(huán)境影響很大,所以也要考慮備份數(shù)據(jù)庫.</p><p>  這次開發(fā)只是開發(fā)了收費(fèi)系統(tǒng)的服務(wù)器端,還要開發(fā)出對(duì)應(yīng)的客戶端與服務(wù)器連接起

8、來才可以正常使用.</p><p>  問題的提出:講清所研究的問題“是什么”。</p><p>  選題背景及意義:講清為什么選擇這個(gè)題目來研究,即闡述該研究對(duì)學(xué)科發(fā)展的貢獻(xiàn)、對(duì)國(guó)計(jì)民生的理論與現(xiàn)實(shí)意義等。</p><p>  文獻(xiàn)綜述:對(duì)本研究主題范圍內(nèi)的文獻(xiàn)進(jìn)行詳盡的綜合述評(píng),“述”的同時(shí)一定要有“評(píng)”,指出現(xiàn)有研究成果的不足,講出自己的改進(jìn)思路。 研究方法

9、:講清論文所使用的科學(xué)研究方法。 </p><p><b>  目錄</b></p><p><b>  1.前言</b></p><p><b>  2. 需求分析</b></p><p>  2.1 用戶定位分析</p><p>  2.2 功能需求

10、分析</p><p>  2.3 性能需求分析</p><p><b>  3.系統(tǒng)分析</b></p><p>  3.1 環(huán)境平臺(tái)分析</p><p>  3.2 程序功能設(shè)計(jì)</p><p>  3.3 程序流程設(shè)計(jì)</p><p><b>  4. 詳細(xì)設(shè)

11、計(jì)</b></p><p>  4.1 程序單元設(shè)計(jì)</p><p>  4.2 程序單元編碼</p><p><b>  4.3 集成開發(fā)</b></p><p><b>  5. 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  5.1 系統(tǒng)模塊一<

12、;/b></p><p><b>  6 結(jié)論與展望</b></p><p><b>  參考文獻(xiàn)</b></p><p><b>  前言</b></p><p>  根據(jù)自己的愛好和軟件編程的能力,我選擇用VB編寫網(wǎng)吧收費(fèi)系統(tǒng)的服務(wù)器端,只是編寫出了基本的功能,比現(xiàn)實(shí)

13、生活中使用的要粗略.但是這個(gè)系統(tǒng)只是自己的一次實(shí)踐,我會(huì)在以后的學(xué)習(xí)中繼續(xù)努力的</p><p>  編寫這個(gè)應(yīng)用程序其意義在于鍛煉了我的動(dòng)手能力和邏輯思維能力,而且以前也從來沒有嘗試過編寫這樣綜合性的程序,培養(yǎng)了對(duì)問題考慮的全面性.</p><p>  為了編寫有實(shí)用價(jià)值的東西,我還參閱了大量的資料,包括網(wǎng)絡(luò)資料的選擇,當(dāng)然在程序完成只后,也不能只有編寫者才會(huì)用,所以要寫出對(duì)應(yīng)的幫助文擋

14、,一般的軟件都會(huì)有,這是我們生活中的常識(shí). 只是限于水平 ,只能編寫部分功能,數(shù)據(jù)庫安全方面也不可靠.一直在尋找解決辦法,如果能夠采用動(dòng)態(tài)數(shù)據(jù)庫,這些問題就能解決了.</p><p>  科學(xué)這東西講究的就是嚴(yán)謹(jǐn)?shù)膽B(tài)度,建立數(shù)學(xué)模型有助于完成設(shè)計(jì),在設(shè)計(jì)的時(shí)候避免出現(xiàn)思緒混亂,</p><p>  在經(jīng)過系統(tǒng)功能需求分析,在大腦中 已經(jīng)有很清晰的的目標(biāo),可以畫出要進(jìn)行的流程圖,比如先根據(jù)功

15、能模塊確定好選擇數(shù)據(jù)庫,然后根據(jù)實(shí)際編寫數(shù)據(jù)庫表,完成數(shù)據(jù)庫表的關(guān)聯(lián),可以先保存后,等窗體確定完畢,再連接數(shù)據(jù)庫.</p><p>  經(jīng)過代碼調(diào)試,確定能正常運(yùn)行.</p><p><b>  需求分析</b></p><p><b>  2.1用戶定位分析</b></p><p> ?。保侠淼?/p>

16、工具設(shè)置:用戶要求界面簡(jiǎn)潔 容易操作.于是可以使用工具條進(jìn)行設(shè)置,把經(jīng)常要使用的功能用工具條單獨(dú)羅列出來,比直接在菜單中選擇效率要高.</p><p>  2.安全要求:為了避免意外事件或者是人為原因?qū)е聰?shù)據(jù)庫信息丟失,要做好數(shù)據(jù)庫的保秘和數(shù)據(jù)庫災(zāi)難性恢復(fù).</p><p>  3.簡(jiǎn)單的操作方式:因?yàn)樾枰械臅r(shí)候需要對(duì)客戶機(jī)進(jìn)行遠(yuǎn)程控制,這樣管理起來就輕松起來 .</p>

17、<p>  4.提供全面的數(shù)據(jù)查詢和統(tǒng)計(jì):可以任意選擇查詢條件,而且為了方便可以設(shè)置統(tǒng)計(jì)報(bào)表功能.</p><p>  5.報(bào)表打印導(dǎo)出功能:要隨時(shí)可以導(dǎo)出以報(bào)表格式存放,打印出來長(zhǎng)期備份.</p><p>  6.會(huì)員卡管理:會(huì)員卡較之現(xiàn)金交易比較方便管理,</p><p>  7.商品管理:能夠?qū)ι唐愤M(jìn)行銷售統(tǒng)計(jì),存儲(chǔ)查詢.</p>&l

18、t;p>  8.網(wǎng)址限制:現(xiàn)在網(wǎng)絡(luò)病毒流行,尤其要注意一些不良網(wǎng)頁上隱藏病毒,所以要限制一些網(wǎng)站.</p><p><b> ?。?2功能需求分析</b></p><p>  主要功能: 對(duì)網(wǎng)吧的人員,資源進(jìn)行管理。公布網(wǎng)吧的通知公告等信息,發(fā)布網(wǎng)吧內(nèi)外新聞動(dòng)態(tài),提供上網(wǎng)人員的意見、建議反饋場(chǎng)所,管理網(wǎng)吧內(nèi)的計(jì)算機(jī),對(duì)上機(jī)用戶的情況進(jìn)行統(tǒng)計(jì),計(jì)時(shí)計(jì)費(fèi)等。<

19、/p><p><b>  具體功能:</b></p><p>  被控制機(jī)有一個(gè)服務(wù)器,控制器集中在管理機(jī)上??梢钥刂频顷?,并進(jìn)行計(jì)時(shí),這是兩個(gè)基本功能;管理機(jī)還有上機(jī),下機(jī)結(jié)帳,開機(jī),關(guān)機(jī),重新啟動(dòng)等功能。 </p><p>  網(wǎng)絡(luò)管理、計(jì)費(fèi)系統(tǒng):本網(wǎng)站最重要和最復(fù)雜的功能。又分會(huì)員注冊(cè),登錄,以及會(huì)員的審核系統(tǒng),員工的管理,計(jì)時(shí)計(jì)費(fèi),計(jì)算機(jī)管

20、理等小系統(tǒng)。</p><p>  資源管理:分為流行歌曲,影視頻道,游戲推薦,動(dòng)漫Flash,精彩圖片幾個(gè)模塊。</p><p>  交流平臺(tái): 提供在線交流的平臺(tái),收集上網(wǎng)人員的相關(guān)的意見和建議,并及時(shí)處理,對(duì)有必要的問題進(jìn)行回復(fù)。</p><p>  以上功能大部份為系統(tǒng)已實(shí)現(xiàn)的基本功能,在開發(fā)本系統(tǒng)時(shí)也為后繼系統(tǒng)擴(kuò)展開發(fā)留有接口,使系統(tǒng)更加方便地可以進(jìn)行升級(jí)和

21、擴(kuò)展。</p><p><b> ?。?3性能需求分析</b></p><p>  強(qiáng)大的安全保障:網(wǎng)絡(luò)通訊全面采用數(shù)字證書認(rèn)證體系,具有與網(wǎng)上銀行同等的安全級(jí)別;基于角色的權(quán)限管理允許靈活定制管理權(quán)限;具有完備的數(shù)據(jù)保密、備份、災(zāi)難恢復(fù)等機(jī)制,保證數(shù)據(jù)高度安全可靠。 </p><p>  嚴(yán)謹(jǐn)與高效的業(yè)務(wù)流程設(shè)計(jì):網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)業(yè)務(wù)數(shù)據(jù)遵循

22、財(cái)務(wù)準(zhǔn)則設(shè)計(jì),嚴(yán)謹(jǐn)、規(guī)范;眾多獨(dú)到的設(shè)計(jì)不僅方便顧客使用也大大減輕了服務(wù)員的工作強(qiáng)度。 </p><p>  易于使用與維護(hù):網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)充分考慮了不同層次使用者的接受能力,服務(wù)員經(jīng)過10分鐘簡(jiǎn)單培訓(xùn)就能掌握,管理人員則擁有眾多工具和方法用于簡(jiǎn)化管理與維護(hù)。此外,為了幫助用戶盡快熟練掌握網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)的應(yīng)用,相關(guān)軟件公司還提供了多種方式的培訓(xùn)和技術(shù)支持。 </p><p>  集中管

23、理能力:將配置、升級(jí)等任務(wù)集中到服務(wù)器處理,使管理工作大量減少,變得高效。 </p><p><b>  系統(tǒng)分析</b></p><p><b>  3.1系統(tǒng)平臺(tái)分析</b></p><p>  系統(tǒng)的開發(fā)、運(yùn)行、測(cè)試環(huán)境均選用 Windows 系列的操作系統(tǒng),因?yàn)?Windows 系統(tǒng)是PC機(jī)上普及最廣泛的操作系統(tǒng),

24、它的界面友好、有高效的計(jì)算環(huán)境、對(duì)硬件的支持程度高、支持On-Now設(shè)備、有良好的可移植性和可伸縮性、系統(tǒng)運(yùn)行穩(wěn)定、可靠性好、維護(hù)方便、容易安裝;性能經(jīng)過優(yōu)化、安全性好、對(duì)網(wǎng)絡(luò)的支持程度好、使網(wǎng)絡(luò)應(yīng)用更為方便快捷。本系統(tǒng)可運(yùn)行于Windows 20000以上操作系統(tǒng),在這些操作系統(tǒng)上都必須安裝IIS,當(dāng)然最好是在Windows 2000 Advanced Server 上運(yùn)行,因?yàn)槲④涢_發(fā)的Windows 2000 Advanced S

25、erver是專門用來提供網(wǎng)絡(luò)服務(wù)器的,有微軟這個(gè)強(qiáng)大的技術(shù)支持,并且系統(tǒng)運(yùn)行穩(wěn)定、維護(hù)方便、性能經(jīng)過優(yōu)化、對(duì)網(wǎng)絡(luò)的支持程度好、使網(wǎng)絡(luò)應(yīng)用更為方便快捷。</p><p>  考慮到Windows XP Professional是我們平時(shí)用得最多的操作系統(tǒng),比較熟悉,且足夠支持開發(fā)軟件VB和Microsoft SQL Server 2000。所以在此我選用了它作為開發(fā)環(huán)境、運(yùn)行環(huán)境以及測(cè)試環(huán)境.</p>

26、<p>  在選擇開發(fā)工具的時(shí)候,考慮到各種編程軟件,我選擇VB6.0主要 有其特點(diǎn)決定的,VB 6.0提供了各種豐富的通信接口,比較適合這種服務(wù)器-客戶端.</p><p>  在界面設(shè)置上,VB 提供可視化編程,可以避免大量的代碼編寫,需要什么樣子的窗口布局,可以直接在工具箱\里面選擇,然后調(diào)整布局.</p><p>  采用的是事件驅(qū)動(dòng)方式,代碼執(zhí)行的過程可以直接控制,很

27、方便代碼的調(diào)試和改寫.比起傳統(tǒng)的那些編程語言,代碼從開始執(zhí)行到代碼結(jié)涑</p><p><b>  3.2程序功能設(shè)計(jì)</b></p><p>  系統(tǒng)功能設(shè)計(jì):這一部分是整個(gè)系統(tǒng)最基本也是最重要的設(shè)置,其中系統(tǒng)設(shè)置至少包括以下幾方面的內(nèi)容:</p><p><b>  計(jì)算機(jī)設(shè)置:</b></p><

28、p><b>  管理員設(shè)置</b></p><p><b>  數(shù)據(jù)備份</b></p><p><b>  數(shù)據(jù)還原</b></p><p><b>  系統(tǒng)設(shè)置</b></p><p>  記費(fèi)用功能設(shè)計(jì):包括下面內(nèi)容</p>&l

29、t;p><b>  開始記費(fèi)</b></p><p><b>  限定時(shí)間</b></p><p><b>  結(jié)帳</b></p><p><b>  調(diào)換計(jì)算機(jī)</b></p><p><b>  選購(gòu)計(jì)算機(jī)</b><

30、/p><p><b>  客戶機(jī)控制</b></p><p>  界面設(shè)置功能:主要是對(duì)運(yùn)行中的系統(tǒng)界面設(shè)置,不同的工作人員喜歡不同的背景或布局格式,對(duì)整個(gè)系統(tǒng)沒有太大的影響</p><p>  管理功能:包括商品資料管理,客戶管理,會(huì)員卡管理</p><p><b>  統(tǒng)計(jì)功能:</b></p

31、><p>  日?qǐng)?bào)表統(tǒng)計(jì):商品統(tǒng)計(jì)和上機(jī)統(tǒng)計(jì)</p><p>  月報(bào)表統(tǒng)計(jì):商品統(tǒng)計(jì)和上機(jī)統(tǒng)計(jì)</p><p><b>  3.3程序流程設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫設(shè)計(jì)(采用無源數(shù)據(jù)庫連接)</p><p>  無源數(shù)據(jù)庫”連接也并不是說不需要數(shù)據(jù)源,如果沒有數(shù)據(jù)源則連接是紙上談兵,只

32、是不需要配置ODBC數(shù)據(jù)源,利用ADO就可通過代碼進(jìn)行連接。</p><p>  1.1 ADO(ActiveX Data Object)</p><p>  在Visual Basic6.0中,數(shù)據(jù)訪問接口有三種:ActiveX數(shù)據(jù)對(duì)象(ADO)、遠(yuǎn)程數(shù)據(jù)對(duì)象(RDO)和數(shù)據(jù)訪問對(duì)象(DAO)。這三種接口的每一種都分別代表該技術(shù)的不同發(fā)展階段,最新的是ADO,它比RDO和DAO更加簡(jiǎn)單,

33、更加靈活。對(duì)于新工程,應(yīng)使用ADO作為數(shù)據(jù)訪問接口。</p><p>  ADO 是Microsoft 數(shù)據(jù)庫應(yīng)用程序開發(fā)的接口,是建立在OLE DB之上的高層數(shù)據(jù)庫訪問技術(shù)。它封裝了OLE DB所提供的接口,比起OLE DB提供者,ADO的接口可以使程序員在更高級(jí)別上進(jìn)行數(shù)據(jù)交互。ADO技術(shù)不僅可以應(yīng)用于關(guān)系數(shù)據(jù)庫,也可以應(yīng)用于非關(guān)系數(shù)據(jù)庫。可以用統(tǒng)一的方法對(duì)不同的文件系統(tǒng)進(jìn)行訪問,大大簡(jiǎn)化了程序編制,增加了程

34、序的可移植性。</p><p>  1.2 建立無源數(shù)據(jù)庫連接</p><p>  在連接數(shù)據(jù)庫前,首先要在Visual Basic 6.0菜單中“工程”—“引用”中選擇Microsoft ActiveX Data Objects 2.6 Library 和Microsoft ActiveX Data Objects Recordset 2.6 Library這兩個(gè)組件。</p>

35、;<p>  運(yùn)用ADO對(duì)象模型的主要元素:Connection(連接)中的ConnectionString屬性進(jìn)行連接, ConnectionString為可讀寫string類型,指定一個(gè)連接字符串,告訴ADO 如何連接數(shù)據(jù)庫。</p><p>  實(shí)例:以建立登陸系統(tǒng)為例,介紹無源數(shù)據(jù)庫連接。在Microsoft SQL Server 2000 中建立一個(gè)Student 的數(shù)據(jù)庫,在Studen

36、t數(shù)據(jù)庫中建立login_user(name,password)的數(shù)據(jù)表,Microsoft SQL Server服務(wù)器的名為data_server。代碼如下:</p><p>  Option Explicit</p><p>  Public LoginSucceeded As Boolean</p><p>  '引用Microsoft ActiveX

37、 Data Objects 2.6 Library</p><p>  '定義連接對(duì)象和記錄集</p><p>  Dim conn As ADODB.Connection</p><p>  Dim rs As ADODB.Recordset</p><p>  '對(duì)取消按鈕單擊事件的響應(yīng)</p><p&

38、gt;  Private Sub cmdCancel_Click()</p><p>  '設(shè)置全局變量為 false</p><p><b>  '不提示失敗的登錄</b></p><p>  LoginSucceeded = False</p><p><b>  Me.Hide</b

39、></p><p><b>  End Sub</b></p><p>  '對(duì)登錄按鈕單擊事件的響應(yīng)</p><p>  Private Sub cmdOK_Click()</p><p>  Set conn = New ADODB.Connection </p><p>  S

40、et rs = New ADODB.Recordset</p><p>  '建立無源數(shù)據(jù)庫連接</p><p>  conn.ConnectionString="driver={sql server};server=data_server;uid=sa;pwd=;Database=student"</p><p>  conn.Conn

41、ectionTimeout = 50</p><p><b>  conn.Open</b></p><p>  Dim str As String</p><p><b>  '連接連接對(duì)象</b></p><p>  Set rs.ActiveConnection = conn</

42、p><p><b>  '設(shè)置游標(biāo)類型</b></p><p>  rs.CursorType = adOpenDynamic</p><p>  If Trim(txtUserName.Text = "") Then</p><p>  MsgBox "用戶名不能為空,請(qǐng)重新輸入用戶名

43、!", vbOKOnly + vbExclamation, "警告"</p><p>  txtUserName.SetFocus</p><p><b>  Else</b></p><p><b>  '設(shè)置查詢字符串</b></p><p>  str =

44、 "select * from login_user where name ='" & Trim(txtUserName.Text) & "'"</p><p>  rs.Open str</p><p>  If rs.EOF = True Then</p><p>  MsgBox &quo

45、t;沒有這個(gè)用戶,請(qǐng)重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"</p><p>  txtUserName.SetFocus</p><p><b>  Else</b></p><p>  '登錄成功,連接主窗口</p><p>  If (

46、Trim(txtPassword.Text) = Trim(rs.Fields("password"))) Then</p><p>  LoginSucceeded = True</p><p><b>  Me.Hide</b></p><p><b>  main.Show</b></p&g

47、t;<p><b>  Else</b></p><p>  MsgBox "密碼不正確,請(qǐng)重輸入密碼!", , "警告"</p><p>  txtPassword.SetFocus</p><p>  SendKeys "{Home}+{End}"</p>

48、<p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  無源數(shù)據(jù)庫連接則不用配置OD

49、BC環(huán)境,可以省去手工設(shè)置DSN的麻煩,這種方法所編寫的軟件適應(yīng)性廣,又符合專業(yè)軟件的要求。</p><p>  DO封裝并且實(shí)現(xiàn)了Microsoft強(qiáng)大的數(shù)據(jù)訪問接口OLE DB的所有功能,它具有通用性好,效率高的特點(diǎn)。通過ADO進(jìn)行無源數(shù)據(jù)庫連接,省去手工設(shè)置DSN的麻煩,使ADO對(duì)象模型獲得更大的靈活性.</p><p><b>  界面設(shè)置</b></p

50、><p>  確定 應(yīng)用程序的功能后,從最基本的界面布局設(shè)置,這一步的關(guān)鍵就是熟悉VB控件的基本功能,包括常用控件和其它需要從部件里面添加的控件.界面設(shè)置要合理,美觀為好.</p><p><b>  代碼編輯</b></p><p>  VB 采用的是事件驅(qū)動(dòng)方式,可以直接選擇控件的事件和屬性,在編寫代碼的時(shí)候會(huì)自動(dòng)給予提示,這樣當(dāng)對(duì)一個(gè)事件進(jìn)行

51、代碼編輯的時(shí)候如果沒有給予格式提醒,這個(gè)時(shí)候要考慮是不是出錯(cuò)了,如果沒有這種功能,這種錯(cuò)誤只能到代碼編譯運(yùn)行的時(shí)候才會(huì)發(fā)現(xiàn),那個(gè)時(shí)候會(huì)浪費(fèi)很多時(shí)間來修改錯(cuò)誤代碼.</p><p><b>  模塊建立</b></p><p>  模塊一般是放全局公用的函數(shù)、過程、常數(shù)、自定義結(jié)構(gòu)、全局變量等等東西的地方,也就是公用部分的集中場(chǎng)所。當(dāng)然,模塊中也可以定義private

52、 的函數(shù)或者過程以便公用過程的內(nèi)部調(diào)用。類模塊是定義一個(gè)類,類模塊中的所有public成員必須在創(chuàng)建了累的實(shí)例以后才能夠調(diào)用,需要和標(biāo)準(zhǔn)模塊區(qū)分開來。好的編程習(xí)慣是把不同種類的功用模塊分類放在不同的標(biāo)準(zhǔn)模塊中,便于查閱,所以很多程序中會(huì)有多個(gè)標(biāo)準(zhǔn)模塊存在.</p><p>  類模塊和標(biāo)準(zhǔn)模塊的不同點(diǎn)在于存儲(chǔ)數(shù)據(jù)方法的不同。標(biāo)準(zhǔn)模塊的數(shù)據(jù)只有一個(gè)備份。這意味著標(biāo)準(zhǔn)模塊中一個(gè)公共變量的值改變以后,在后面的程序中再讀

53、取該變量時(shí),它將得到同一個(gè)值。 </p><p>  而類模塊的數(shù)據(jù),是相對(duì)于類實(shí)例(也就是,由類創(chuàng)建的每一對(duì)象)而獨(dú)立存在的。 </p><p>  同樣的,標(biāo)準(zhǔn)模塊中的數(shù)據(jù)在程序作用域內(nèi)存在,也就是說,它存在于程序的存活期中;而類實(shí)例中的數(shù)據(jù)只存在于對(duì)象的存活期,它隨對(duì)象的創(chuàng)建而創(chuàng)建,隨對(duì)象的撤消而消失。 </p><p>  最后,當(dāng)變量在標(biāo)準(zhǔn)模塊中聲明為 P

54、ublic 時(shí),則它在工程中任何地方都是可見的;而類模塊中的 Public 變量,只有當(dāng)對(duì)象變量含有對(duì)某一類實(shí)例的引用時(shí)才能訪問 </p><p><b>  運(yùn)行調(diào)試</b></p><p><b>  1.運(yùn)行程序 </b></p><p>  運(yùn)行程序,可用下列方法之一: </p><p> 

55、 (1)選擇主窗口的“運(yùn)行"菜單的“啟動(dòng)”命令。 </p><p>  (2)按快捷鍵F5。 </p><p>  (3)選擇工具欄上的啟動(dòng)按鈕。 </p><p>  在程序運(yùn)行過程中,標(biāo)題欄顯示: </p><p>  工程1-Microsoft Visual Basic[運(yùn)行] </p><p>  表

56、示進(jìn)入運(yùn)行狀態(tài)。 </p><p><b>  2.暫停運(yùn)行 </b></p><p>  若程序有錯(cuò)誤,可用以下任一種方式進(jìn)入中斷狀態(tài),對(duì)程序進(jìn)行調(diào)試: </p><p>  (1)選擇“運(yùn)行"菜單的“中斷"命令。 </p><p>  (2)按Ctrl+Break鍵。 </p>&l

57、t;p>  (3)選擇工具欄上的中斷圖標(biāo)。 </p><p>  進(jìn)人中斷狀態(tài),標(biāo)題欄顯示: </p><p>  工程1-Microsoft Visual Basic[break] </p><p>  若要繼續(xù)運(yùn)行,可直接按F5鍵,或選取“運(yùn)行”菜單的“繼續(xù)"命令。若要重新運(yùn)行,按 </p><p>  Shift+F5鍵

58、或選擇“運(yùn)行”菜單的“重新啟動(dòng)”命令。 </p><p><b>  3.結(jié)束程序運(yùn)行 </b></p><p>  結(jié)束程序運(yùn)行返回設(shè)計(jì)狀態(tài)的方法為: </p><p>  (1)選擇“運(yùn)行”菜單的“結(jié)束"命令。 </p><p>  (2)選擇工具欄上的結(jié)束圖標(biāo)。 </p><p>

59、  (3)按程序的結(jié)束按鈕或程序窗口的關(guān)閉按鈕</p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p>  4.1程序單元設(shè)計(jì)</p><p>  登陸窗口設(shè)計(jì):登陸系統(tǒng)窗口界面要簡(jiǎn)單為好,需要兩個(gè)標(biāo)簽框用來標(biāo)明用戶名和密碼,兩個(gè)文本框用來輸入用戶名和密碼,還有兩個(gè)命令按扭用來實(shí)現(xiàn)登入和取消命令:</p><p>

60、;  根據(jù)需要添加ACTIVE XActiveX控件數(shù)據(jù)輸入和函數(shù)功能執(zhí)行都必須通過容器,因此ActiveX控件和容器都必須支持一些特定的接口協(xié)議。根據(jù)Microsoft 相應(yīng)的規(guī)格標(biāo)準(zhǔn),ActiveX控件應(yīng)具備如下的性能機(jī)制。 屬性和方法:ActiveX控件必須提供屬性的名稱、方法的名稱及參數(shù),通過這項(xiàng)機(jī)制容器可以存取和改變ActiveX控件的屬性參數(shù)。 事件:ActiveX控件由這項(xiàng)機(jī)制通知容器在ActiveX控件中發(fā)生的事件,比

61、如屬性參數(shù)的改變,用戶按下鼠標(biāo)左鍵等。 存儲(chǔ):容器由這項(xiàng)機(jī)制通知ActiveX控件存儲(chǔ)和提取有關(guān)信息數(shù)據(jù)等。   ActiveX控件只要在Windows的Registry數(shù)據(jù)庫中注冊(cè)后,就可以像其他Windows應(yīng)用程序一樣發(fā)揮各自的功能。   ActiveX控件是一個(gè)模塊化的靈活對(duì)象,如果某個(gè)應(yīng)用程序或網(wǎng)頁需要增加一項(xiàng)特殊的功能,無須重寫整個(gè)程序,只要靈活地插入一個(gè)具有此項(xiàng)功能的ActiveX控件即可實(shí)現(xiàn)。ActiveX的優(yōu)勢(shì)還在于它

62、的動(dòng)態(tài)可交互性,用戶可以動(dòng)態(tài)地在使用過程中,通過改變它的屬性和參數(shù),在應(yīng)用程序中實(shí)現(xiàn)自己的特殊要求。   也許有的讀者會(huì)問:目</p><p><b>  設(shè)計(jì)完成效果圖</b></p><p><b> ?。玻鹘缑嬖O(shè)計(jì)</b></p><p>  4.2.程序單元編碼</p><p><b

63、>  登陸窗口代碼:</b></p><p>  rivate Sub cmdOK_Click()</p><p><b>  '檢查正確的密碼</b></p><p>  With frmMain.Data8.Recordset</p><p>  .MoveFirst</p>

64、<p>  For i = 1 To .RecordCount</p><p>  If Combo1.Text = .Fields("用戶名稱") And txtPassword = .Fields("用戶密碼") Then</p><p>  LoginSucceeded = True</p><p>  Use

65、rName = .Fields("用戶名稱")</p><p>  UserPass = .Fields("權(quán)限")</p><p><b>  Exit For</b></p><p><b>  End If</b></p><p><b>  

66、.MoveNext</b></p><p><b>  Next i</b></p><p>  If LoginSucceeded Then</p><p>  '將代碼放在這里傳遞</p><p>  '成功到 calling 函數(shù)</p><p>  '設(shè)

67、置全局變量時(shí)最容易的</p><p><b>  Unload Me</b></p><p><b>  Else</b></p><p>  MsgBox "無效的密碼,請(qǐng)重試!", , "登錄"</p><p>  txtPassword.SetFocus

68、</p><p>  SendKeys "{Home}+{End}"</p><p><b>  End If</b></p><p><b>  End With</b></p><p><b>  End Sub</b></p><p

69、>  Private Sub Form_Load()</p><p>  On Error Resume Next</p><p>  With frmMain.Data8.Recordset</p><p>  .MoveFirst</p><p>  For i = 1 To .RecordCount</p><

70、p>  Combo1.AddItem .Fields("用戶名稱")</p><p>  Combo1.ItemData(Combo1.NewIndex) = .AbsolutePosition</p><p><b>  .MoveNext</b></p><p><b>  Next i</b>

71、;</p><p><b>  End With</b></p><p><b>  管理員模塊代碼</b></p><p>  Dim aa As Long</p><p>  Private Sub Combo1_Click()</p><p>  Command4.En

72、abled = True</p><p><b>  End Sub</b></p><p>  Private Sub Command1_Click()</p><p><b>  '添加用戶</b></p><p>  On Error Resume Next</p>&l

73、t;p>  If Command1.Caption = "添加用戶" Then</p><p>  ListView1.Visible = False</p><p>  Frame1.Visible = True</p><p>  Text1.Text = ""</p><p>  Text2

74、.Text = ""</p><p>  Text3.Text = ""</p><p>  Text4.Text = ""</p><p>  Combo1.Text = Combo1.List(0)</p><p>  Command2.Enabled = False</p

75、><p>  Command3.Enabled = False</p><p>  Command4.Enabled = True</p><p>  Command1.Caption = "放棄添加"</p><p><b>  Else</b></p><p>  ListVi

76、ew1.Visible = True</p><p>  Frame1.Visible = False</p><p>  Command2.Enabled = True</p><p>  Command3.Enabled = True</p><p>  Command4.Enabled = False</p><p&

77、gt;  Command1.Caption = "添加用戶"</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p><b>  

78、'編輯用戶</b></p><p>  On Error Resume Next</p><p>  With frmMain.Data8.Recordset</p><p>  Text1.Text = .Fields("用戶名稱")</p><p>  Select Case .Fields(&qu

79、ot;權(quán)限")</p><p><b>  Case "A"</b></p><p>  Combo1.Text = Combo1.List(0)</p><p>  Text2.PasswordChar = ""</p><p>  Text3.PasswordChar

80、 = ""</p><p>  Text4.PasswordChar = ""</p><p>  Text2.Text = .Fields("用戶密碼")</p><p>  Text3.Text = .Fields("用戶密碼")</p><p>  Text

81、4.Text = .Fields("用戶密碼")</p><p><b>  Case "B"</b></p><p>  Combo1.Text = Combo1.List(1)</p><p>  Text2.PasswordChar = ""</p><p&g

82、t;  Text3.PasswordChar = ""</p><p>  Text4.PasswordChar = ""</p><p>  Text2.Text = .Fields("用戶密碼")</p><p>  Text3.Text = .Fields("用戶密碼")</

83、p><p>  Text4.Text = .Fields("用戶密碼")</p><p><b>  Case "C"</b></p><p>  Combo1.Text = Combo1.List(2)</p><p>  Text2.PasswordChar = "&qu

84、ot;</p><p>  Text3.PasswordChar = ""</p><p>  Text4.PasswordChar = ""</p><p>  Text2.Text = .Fields("用戶密碼")</p><p>  Text3.Text = .Fields(

85、"用戶密碼")</p><p>  Text4.Text = .Fields("用戶密碼")</p><p><b>  Case "D"</b></p><p>  Text2.PasswordChar = "*"</p><p>  Te

86、xt3.PasswordChar = "*"</p><p>  Text4.PasswordChar = "*"</p><p>  Text2.Text = ""</p><p>  Text3.Text = ""</p><p>  Text4.Text =

87、 ""</p><p>  Combo1.Text = Combo1.List(3)</p><p>  End Select</p><p><b>  End With</b></p><p>  If Command2.Caption = "修改用戶" Then</p&

88、gt;<p>  ListView1.Visible = False</p><p>  Frame1.Visible = True</p><p>  Command1.Enabled = False</p><p>  Command3.Enabled = False</p><p>  Command4.Enabled =

89、 False</p><p>  Command2.Caption = "放棄修改"</p><p><b>  Else</b></p><p>  ListView1.Visible = True</p><p>  Frame1.Visible = False</p><p&

90、gt;  Command1.Enabled = True</p><p>  Command3.Enabled = True</p><p>  Command4.Enabled = False</p><p>  Command2.Caption = "修改用戶"</p><p><b>  End If<

91、;/b></p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p><b>  '刪除用戶</b></p><p>  On Error Resume Next</p><p&g

92、t;  With frmMain.Data8.Recordset</p><p>  If MsgBox("確實(shí)要?jiǎng)h除用戶:" & .Fields("用戶名稱") & " 嗎?", vbYesNo + vbQuestion) = vbYes Then</p><p>  If Err <> 0 Then

93、 Exit Sub</p><p>  If .Fields("權(quán)限") = "D" Then</p><p>  mm = InputBox("請(qǐng)輸入密碼:")</p><p>  If mm = .Fields("用戶密碼") And .Fields("用戶名稱"

94、) <> UserName Then</p><p><b>  .Delete</b></p><p>  ListView1.ListItems.Clear</p><p><b>  Form_Load</b></p><p><b>  Else</b>&l

95、t;/p><p>  MsgBox "不能刪除用戶!", vbCritical</p><p><b>  End If</b></p><p><b>  Else</b></p><p><b>  .Delete</b></p><p&

96、gt;  ListView1.ListItems.Clear</p><p><b>  Form_Load</b></p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End With<

97、;/b></p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click()</p><p><b>  '保存設(shè)置</b></p><p>  On Error Resume Next</p><p&g

98、t;  If Trim(Text1.Text) = "" Then</p><p>  MsgBox "用戶名錯(cuò)誤!", vbCritical</p><p>  Text1.SetFocus</p><p><b>  Exit Sub</b></p><p><b>

99、  End If</b></p><p>  With frmMain.Data8.Recordset</p><p>  If Text3.Text <> Text4.Text Then</p><p>  MsgBox "前后密碼設(shè)置不一至,請(qǐng)重新輸入!", vbCritical</p><p>

100、;  Text3.Text = ""</p><p>  Text4.Text = ""</p><p>  Text3.SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p>

101、;<p>  aa = .AbsolutePosition</p><p>  .MoveFirst</p><p>  For i = 1 To .RecordCount</p><p>  If .Fields("用戶名稱") = Text1.Text Then</p><p>  If .Absolut

102、ePosition <> aa Then</p><p>  MsgBox "用戶名已經(jīng)存在了,請(qǐng)你再換一個(gè)!", vbExclamation</p><p>  .MoveFirst</p><p><b>  .Move aa</b></p><p>  Text1.SetFocus&

103、lt;/p><p>  Text1.SelStart = 0</p><p>  Text1.SelLength = Len(Text1.Text)</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p><b

104、>  End If</b></p><p><b>  .MoveNext</b></p><p><b>  Next i</b></p><p>  .MoveFirst</p><p><b>  .Move aa</b></p><

105、p>  If Command1.Caption = "放棄添加" Then</p><p><b>  .AddNew</b></p><p><b>  Else</b></p><p>  If Text2.Text <> .Fields("用戶密碼") The

106、n</p><p>  MsgBox "密碼錯(cuò)誤,請(qǐng)重新輸入!", vbCritical</p><p>  Text2.Text = ""</p><p>  Text3.Text = ""</p><p>  Text4.Text = ""</p>

107、<p>  Text2.SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p><b>  .Edit</b></p><p><b>  End If</b>

108、</p><p>  .Fields("用戶名稱") = Text1.Text</p><p>  .Fields("用戶密碼") = Text3.Text</p><p>  .Fields("權(quán)限") = Left(Combo1.Text, 1)</p><p><b>

109、;  .Update</b></p><p><b>  End With</b></p><p>  If Err <> 0 Then MsgBox Error: Exit Sub</p><p>  ListView1.Visible = True</p><p>  Frame1.Visib

110、le = False</p><p>  Command1.Enabled = True</p><p>  Command2.Enabled = True</p><p>  Command3.Enabled = True</p><p>  Command4.Enabled = False</p><p>  Co

111、mmand1.Caption = "添加用戶"</p><p>  Command2.Caption = "修改用戶"</p><p>  ListView1.ListItems.Clear</p><p><b>  Form_Load</b></p><p><b>

112、  End Sub</b></p><p>  Private Sub Command5_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()<

113、/p><p>  On Error Resume Next</p><p>  With frmMain.Data8.Recordset</p><p>  aa = .AbsolutePosition</p><p>  .MoveFirst</p><p>  For i = 1 To .RecordCount<

114、/p><p>  ListView1.ListItems.Add i, , .Fields("用戶名稱")</p><p>  ' ListView1.ListItems(i).SubItems(1) = .Fields("用戶密碼")</p><p>  ListView1.ListItems(i).SubItems(1

115、) = "********"</p><p>  Select Case .Fields("權(quán)限")</p><p><b>  Case "A"</b></p><p>  ListView1.ListItems(i).SubItems(2) = "A—記費(fèi)員"&

116、lt;/p><p><b>  Case "B"</b></p><p>  ListView1.ListItems(i).SubItems(2) = "B—操作員"</p><p><b>  Case "C"</b></p><p>  L

117、istView1.ListItems(i).SubItems(2) = "C—管理員"</p><p><b>  Case "D"</b></p><p>  ListView1.ListItems(i).SubItems(2) = "D—超級(jí)管理員"</p><p>  End S

118、elect</p><p><b>  .MoveNext</b></p><p><b>  Next i</b></p><p>  .MoveFirst</p><p><b>  .Move aa</b></p><p><b>  E

119、nd With</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Resize()</p><p>  On Error Resume Next</p><p>  ListView1.Move 30, 10, Me.Width - 150, M

120、e.Height - 1200</p><p>  Picture1.Top = ListView1.Top + ListView1.Height + 100</p><p>  Picture1.Left = (Me.Width - Picture1.Width) / 2</p><p><b>  End Sub</b></p>

121、<p>  Private Sub Label5_Click()</p><p><b>  End Sub</b></p><p>  Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)</p><p><b>  '</

122、b></p><p>  On Error Resume Next</p><p>  With frmMain.Data8.Recordset</p><p>  .MoveFirst</p><p>  .Move Item.Index - 1</p><p><b>  End With</

123、b></p><p><b>  End Sub</b></p><p>  Private Sub Text1_Change()</p><p>  Command4.Enabled = True</p><p><b>  End Sub</b></p><p> 

124、 Private Sub Text2_Change()</p><p>  Command4.Enabled = True</p><p><b>  End Sub</b></p><p>  Private Sub Text3_Change()</p><p>  Command4.Enabled = True<

125、;/p><p><b>  End Sub</b></p><p>  Private Sub Text4_Change()</p><p>  Command4.Enabled = True</p><p><b>  End Sub</b></p><p><b>

126、  4.3集成開發(fā)</b></p><p>  窗體與代碼都設(shè)置完畢,就可以運(yùn)行調(diào)試了,當(dāng)然有共同點(diǎn)的窗體可以借用模塊來設(shè)計(jì).這里設(shè)置兩個(gè)模塊來節(jié)省代碼執(zhí)行時(shí)間,并不會(huì)影響到系統(tǒng)本身的功能:</p><p>  打開VB 程序菜單下的 工具→模塊,打開創(chuàng)建模塊窗體,名字為MODULE1,可以使用默認(rèn)的名稱.</p><p>  模塊其實(shí)也就是代碼窗體,只

127、不過這個(gè)窗體是功用的,涉及其它窗體的功能,</p><p>  這樣在出現(xiàn)錯(cuò)誤的時(shí)候代碼改寫很方便.</p><p><b>  模塊代碼:</b></p><p>  Public UserName As String</p><p>  Public UserPass As String</p><

128、;p>  Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long</p><p>  'Public Declare Functi

129、on SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long</p><p>  Public

130、Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long</p><p>  Type Lwi

131、nsock</p><p>  Ip As String</p><p>  Index As Long</p><p>  JSJ As Long</p><p><b>  End Type</b></p><p>  Public IndexSock() As Lwinsock</p&

132、gt;<p>  Type lChatUser</p><p>  Name As String</p><p>  Sex As String</p><p>  Used As Boolean</p><p><b>  End Type</b></p><p>  Public

133、 IChatUser() As lChatUser</p><p>  Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long</p>

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論