第9章 圖書管理應用程序設計_第1頁
第9章 圖書管理應用程序設計_第2頁
第9章 圖書管理應用程序設計_第3頁
第9章 圖書管理應用程序設計_第4頁
第9章 圖書管理應用程序設計_第5頁
已閱讀5頁,還剩93頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第9章圖書管理應用程序設計

一個軟件系統(tǒng)從整體上可以稱為一項解決方案,該方案中可以包含一個或多個項目,一個項目中又可以包含多個窗體、模塊、類以及其他文件。

變量的作用域與生存期涉及命名空間、項目、模塊、類和過程。

本章通過設計一個圖書管理應用程序,重點探討多窗體的設計、類的設計、變量的作用域與生存期。首先我們應該熟悉項目的管理、命名空間、模塊等知識點。工作情境描述

9.1本章教學導航9.2

參考實例體驗9.3

設計任務描述9.4

項目Chapter10_1中變量的作用域與生存期分析9.6

任務實現(xiàn)過程9.5

課堂同步實踐9.7

相關知識鏈接9.89.1工作情境描述信息系統(tǒng)一般由多個窗體組成,主要包括用戶登錄窗體、注冊提示窗體、系統(tǒng)主窗體、各個功能實現(xiàn)窗體。用戶通常先進行登錄,然后顯示主窗體,主窗體是信息系統(tǒng)的總控臺,在主窗體可以打開其他功能實現(xiàn)窗體。9.2本章教學導航知識技能目標掌握【圖書管理】應用程序功能的實現(xiàn)掌握模塊的創(chuàng)建掌握自定義類的創(chuàng)建掌握對象的創(chuàng)建與使用掌握全局變量、靜態(tài)變量的應用掌握變量的生存期與作用域掌握多窗體應用程序的設計掌握應用程序的啟動與退出掌握SQL語句在數(shù)據(jù)訪問環(huán)境中的正確使用方法掌握復雜SQL語句的正確書寫方法掌握ComboBox、DataGrid控件數(shù)據(jù)綁定的實現(xiàn)方法掌握導航欄的設計方法掌握MDI窗體的設計方法掌握Main過程的創(chuàng)建與編碼方法課時建議8課時(含課堂同步實踐)本章任務課堂示范、同步實踐課外拓展:圖書管理應用程序本章應用的已學控件Label、TextBox、Button、Panel、GroupBox、ComboBox、MainMenu、ContextMenu、ToolBar、StatusBar、ImageList、Timer應用的屬性

窗體的屬性:窗體的MdiParent、Dock等屬性

控件的屬性:ComboBox控件的DataSource、Focus等屬性,DataGrid控件的CurrentCell、DataSource等屬性應用的方法窗體的方法:窗體的ShowDialog方法應用的基礎知識數(shù)據(jù)類型:String

變量:全局變量、窗體級局部變量、過程級局部變量、塊級局部變量、靜態(tài)變量表達式:比較表達式、復雜的連接表達式語句:If…EndIf、If…Else…EndIf、SelectCase…EndSelect、With…EndWithSQL語句:like運算符、%通配符命名空間:System.Data.SqlClient

類:Application類及其方法Run,DataTable類及其屬性Rows、DefaultView,SqlConnection類,BindingManagerBase類自定義類與對象自定義模塊9.3參考實例體驗參考實例如圖9-1所示,請從網(wǎng)上下載瑞天圖書管理系統(tǒng)2008標準版,成功安裝后,試用該系統(tǒng),體驗其功能。圖9-1

【瑞天圖書管理系統(tǒng)】的主界面9.4設計任務描述創(chuàng)建一個簡單的圖書管理應用程序,該程序包括閃窗、登錄窗體、MDI主窗體、瀏覽圖書信息窗體、瀏覽讀者信息窗體等多個窗體,MDI主窗體包括菜單欄、工具欄、導航欄、狀態(tài)欄和子窗體顯示區(qū)域。9.5任務實現(xiàn)過程9.5.1新建【圖書管理】應用程序項目(1)啟動VisualStudio.NET2003,在VisualStudio.NET2003集成開發(fā)環(huán)境中,單擊菜單【文件】-【新建】-【項目】,打開【新建項目】對話框。(2)在【新建項目】對話框左側“項目類型”中選擇【VisualBasic項目】選項,在右側“模板”中選擇【W(wǎng)indows應用程序】選項。(3)在對話框的【名稱】文本框中輸入新項目的名稱:Chapter10_1。在“位置”文本框中輸入或者選取項目文件的存儲位置。(4)單擊【確定】按鈕,完成新項目的創(chuàng)建,系統(tǒng)自動生成一個名為“Form1.vb”的Windows窗體,將該窗體的名稱修改為“frmMain.vb”,即應用程序的主窗體。9.5.2設計圖書管理應用程序的MDI主界面Windows應用程序的主界面一般是一個MDI窗體,MDI窗體是整個應用程序的控制中心,主要包括菜單欄、工具欄、狀態(tài)欄,其中通過菜單欄或工具欄可以打開子窗口或實現(xiàn)一些功能,狀態(tài)欄可以顯示系統(tǒng)的動態(tài)幫助信息。圖書管理應用程序的主界面如圖9-2所示。

圖9-2圖書管理應用程序的主界面圖書管理應用程序主界面的菜單欄包括【系統(tǒng)設置】、【圖書管理】、【讀者管理】、【借閱管理】、【數(shù)據(jù)查詢】、【報表打印】和【幫助】等菜單,主要菜單的菜單項如表9-1所示。表9-1 圖書管理應用程序主界面的主要菜單及菜單項圖書管理應用程序主界面導航欄及其按鈕組成如圖9-3、圖9-4和圖9-5所示。圖書管理應用程序主界面的主要屬性設置如表9-2所示。屬性名稱屬性值屬性名稱屬性值(Name)frmMainText圖書管理應用程序Icon指定一個ico文件Size720,780IsMdiContainerTrueStartPositionCenterScreenMenuMainMenu1WindowStateMaximized表9-2 圖書管理應用程序主界面的主要屬性設置9.5.3設計瀏覽圖書信息界面瀏覽圖書信息窗體如圖9-6所示。圖9-6瀏覽圖書信息窗體9.5.4添加公共類單擊VisualBasic.NET的菜單【項目】-【添加類】或選中項目名稱,然后單擊鼠標右鍵打開快捷菜單,在快捷菜單中單擊菜單【添加】-【添加類】,如圖9-7所示,

圖9-7【添加類】的快捷菜單

彈出一個【添加新項】的對話框,如圖9-8所示,在【名稱】文本框中輸入類文件的文件名,例如“dbClass.vb”,擴展名“vb”可以不輸入,默認的擴展名也是“vb”。

單擊【打開】按鈕,一個新的類文件便會添加到項目中,同時打開代碼編輯窗口。圖9-8【添加新項】對話框9.5.5添加公共模塊向項目Chapter10_1中添加一個模塊文件Module1.vb,該模塊文件主要定義了3個公有變量、1個自定義類的對象和main過程,程序代碼如下所示。PublicUserNameAsString '用于存放當前登錄用戶的用戶名PublicUserPasswordAsString '用于存放當前登錄用戶的密碼PublicUserPurviewAsString '用于存放當前登錄用戶的類型PublicobjDbAsNewdbClass '定義自定義類的對象變量PublicSubmain()DimLoginAsNewfrmLoginLogin.ShowDialog()IfLogin.bResult=TrueThenDimMainAsNewfrmMainApplication.Run(Main)EndIfEndSub9.5.6圖書管理應用程序主窗體的程序設計1.圖書管理應用程序主界面的窗體或控件的事件過程及功能說明該事件的過程及功能說明如表9-8所示。表9-8 圖書管理應用程序主界面的窗體或控件的事件過程及功能說明窗體或控件的事件過程功能說明窗體frmMain的Load事件過程(1)根據(jù)窗口大小設置控件panel的大?。?)根據(jù)登錄用戶的權限類型設置菜單項的是否可用(3)在主界面中顯示默認的子窗體,且設置子窗體的顯示狀態(tài)窗體frmMain的SizeChanged事件過程當窗口大小發(fā)生改變時,控件panel的大小也相應進行調整工具欄的ButtonClick事件過程單擊工具欄按鈕,顯示相應的子窗口主界面菜單的Click事件過程單擊菜單欄中的菜單項,顯示相應的子窗口左側導航欄主按鈕的Click事件過程單擊某一個主按鈕,顯示對應的panel控件,隱藏其他的panel控件左側導航欄各個按鈕的MouseMove事件過程和MouseLeave事件過程當鼠標指針移動到各個按鈕位置時,各個按鈕的前景色立即發(fā)生改變左側導航欄各個按鈕的Click事件過程單擊左側導航欄的panel控件區(qū)域的按鈕時,顯示對應的窗口窗體frmMain的Closed事件過程當窗體被關閉時,顯示提示信息2.編寫自定義函數(shù)IsMDIChi的程序代碼自定義過程IsMDIChi用于判斷窗體是否已經(jīng)打開,如果窗體已經(jīng)打開,則不需重復打開,只需顯示。3.編寫主窗體frmMain的Load事件過程的程序代碼4.編寫主窗體frmMain的SizeChanged事件過程的程序代碼5.編寫主窗體frmMain菜單項的Click事件過程的程序代碼(1)編寫菜單項mnu02_01的Click事件過程的程序代碼(2)編寫主窗體【窗口】菜單欄中各個菜單項的Click事件過程的程序代碼(3)在菜單中列出已打開的MDI子窗體把【窗口】菜單的MdiList屬性設置為True,系統(tǒng)自動將打開的MDI子窗體的標題添加到【窗口】的菜單的末尾。6.編寫主窗體frmMain工具欄的ButtonClick事件過程的程序代碼7.編寫主窗體frmMain左側導航欄主按鈕的Click事件過程的程序代碼該程序代碼如表9-11所示。表9-11 主窗體frmMain左側導航欄主按鈕的Click事件過程及其程序代碼控件名稱Click事件過程的程序代碼btnBasicOperatepanel03_1.Visible=Truepanel03_2.Visible=Falsepanel03_3.Visible=FalsebtnDataManagepanel03_1.Visible=Falsepanel03_2.Visible=Truepanel03_3.Visible=FalsebtnSystemSetpanel03_1.Visible=Falsepanel03_2.Visible=Falsepanel03_3.Visible=True8.編寫導航欄按鈕的MouseMove事件過程和MouseLeave事件過程的程序代碼左側導航欄【基本操作】按鈕的MouseMove事件過程和MouseLeave事件過程的程序代碼如表9-12所示,【資料管理】與【系統(tǒng)設置】兩個按鈕的MouseMove事件過程和MouseLeave事件過程的程序代碼與【基本操作】按鈕類似??丶Q事件名稱程序代碼btnBasicOperateMouseMovebtnBasicOperate.ForeColor=System.Drawing.Color.RedbtnBasicOperateMouseLeavebtnBasicOperate.ForeColor=System.Drawing.Color.Black表9-12導航欄中【基本操作】按鈕的MouseMove和MouseLeave事件過程的程序代碼9.編寫click事件的程序代碼該程序代碼如下所示,左側導航欄中其他按鈕Click事件過程的程序代碼與【圖書管理】按鈕類似。mnu02_01.PerformClick()10.編寫窗體frmMain的Closed事件過程的程序代碼該程序代碼如下所示。IfMessageBox.Show("您是否真的要退出圖書管理應用程序?")ThenApplication.Exit()EndIf9.5.7瀏覽圖書信息窗體的程序設計1.定義窗體級變量2.編寫bookInfoManage窗體的Load事件過程的程序代碼3.編寫按鈕btnSelectAll的Click事件過程的程序代碼4.編寫文本框txtBookName的TextChanged事件過程的程序代碼5.編寫文本框txtBookId的TextChanged事件過程的程序代碼6.編寫控件DataGrid1的CurrentCellChanged事件過程的程序代碼9.5.8設計閃窗

閃窗的外觀如圖9-9所示,閃窗的Name屬性值為frmSplash,該窗體不必編寫事件過程的程序代碼。圖9-9閃窗的外觀9.5.9設計圖書管理應用程序的用戶登錄界面1.設計用戶登錄界面的外觀用戶登錄窗體如圖9-10所示,該窗體包括1個GroupBox控件、3個Label控件、1個ComboBox控件、1個TextBox控件、2個Button控件和1個Timer控件。

圖9-10

【用戶登錄】窗體的外觀2.用戶登錄的程序設計(1)聲明窗體級變量(2)編寫用戶登錄窗體frmLogin的Load事件過程的程序代碼(3)編寫按鈕btnLogin的Click事件過程的程序代碼(4)編寫控件Timer1的Tick事件過程的程序代碼(5)編寫登錄窗體中【登錄】按鈕的Click事件過程的程序代碼9.5.10程序的調試、編譯和運行1.生成程序2.改變啟動對象在“窗體屬性頁”對話框中改變程序的啟動對象為“SubMain”。3.運行程序9.5.11

【圖書管理】應用程序的測試單擊【啟動】按鈕或者直接按<F5>,程序開始運行,首先顯示如圖9-12所示的【閃窗】;閃窗的透明度逐步降低,

圖9-12【閃窗】的運行狀態(tài)

直到透明度為0,閃窗隱退,出現(xiàn)如圖9-13所示【用戶登錄】窗口;

圖9-13【用戶登錄】窗口的運行狀態(tài)在組合框的用戶列表中選擇一個“用戶名”,例如選擇“admin”,然后在【密碼】文本框中輸入正確的密碼,單擊【確定】按鈕,會彈出如圖9-14所示的【成功登錄】的提示信息對話框。

圖9-14【成功登錄】的提示信息對話框在【成功登錄】的提示信息對話框中單擊【確定】按鈕,則先后加載圖書管理應用程序的主窗體和子窗體,如圖9-18所示。

圖9-18圖書管理應用程序的主窗體和子窗體9.6項目Chapter10_1中變量的作用域與生存期分析不同類型的變量在內(nèi)存中的不同區(qū)域分配存儲空間,其作用域與生存期也不完全相同。1.模塊Module1中變量的聲明與訪問2.類內(nèi)變量的聲明與訪問3.窗體類frmLogin中窗體級變量的聲明與訪問4.窗體類frmLogin中過程級變量的聲明與訪問(1)過程級局部變量(2)過程級靜態(tài)變量(3)塊級局部變量項目Chapter10_1涉及了變量的作用域與生存期、模塊級全局變量、窗體級全局變量、窗體級局部變量、過程級局部變量和靜態(tài)變量等問題,分析各個變量及其訪問權限,可以得出以下結論。(1)一個解決方案可以包含一個或多個項目,一個項目又可包含一個或多個窗體、一個或多個類、一個或多個模塊。(2)模塊中的Public成員、Friend成員能被模塊所在項目中的類直接訪問。(3)類(包括窗體類)中的Public成員、Friend成員能被類內(nèi)成員以及該類的對象訪問。(4)類(包括窗體類)中的Private成員只能被類內(nèi)成員訪問,不能被類的對象訪問。(5)窗體級的變量允許使用Public、Friend、Private修飾符聲明;也允許使用Dim聲明,相當于使用Private修飾符。9.7課堂同步實踐1.任務描述創(chuàng)建一個項目“ClassroomPractise10_1”,在該項目添加兩個窗體:【閃窗】和【用戶登錄】窗體,在【閃窗】中添加1個Timer控件。將項目的啟動對象設置為【閃窗】,即先調用【閃窗】,后調用【用戶登錄】窗體。程序運行時,首先看到的是【閃窗】,【閃窗】漸隱至完全透明之后,【閃窗】消失,【用戶登錄】窗體出現(xiàn)。請編寫程序代碼實現(xiàn)以上要求。2.要點提示窗體的出現(xiàn)順序為:先出現(xiàn)閃窗,后出現(xiàn)登錄窗體,簡稱為“推式調用”。在閃窗的Closed事件或者Closing事件中添加如下代碼即可實現(xiàn)。DimLoginAsNewfrmLoginLogin.ShowDialog()9.8相關知識鏈接9.8.1解決方案資源管理器觀察如圖9-26所示的【解決方案資源管理器】窗口,本章前面所創(chuàng)建的解決方案Chapter10_1中包含了1個項目文件Chapter10_1,該項目中包含了4個窗體文件:frmSplash.vb、frmLogin.vb、frmMain.vb和bookInfoManage.vb,1個類文件dbClass.vb和1個模塊文件Module1.vb。

圖9-26【解決方案資源管理器】窗口解決方案資源管理器是有效管理項目及其文件的視圖,并且提供與項目和文件相關的命令的快捷訪問方式。與此窗口相關聯(lián)的工具欄中,如圖9-27所示,

圖9-27【解決方案資源管理器】窗口的工具欄及功能提供了【解決方案資源管理器】窗口列表中突出顯示項的常用命令。

若要顯示【解決方案資源管理器】窗口,單擊菜單【視圖】-【解決方案資源管理器】即可。9.8.2多窗體設計(1)【常規(guī)】屬性【常規(guī)】屬性欄主要設置程序集名稱、輸出類型、啟動對象、根命名空間等內(nèi)容,如圖9-28所示,設置項目的啟動對象為“SubMain”。圖9-28設置項目Chapter10_1的啟動對象(2)【生成】屬性單擊【生成】,切換到【生成】選項,如圖9-29所示。

圖9-29【Chapter10_1屬性頁】的【生成】屬性選項主要設置應用程序圖標、編譯器默認值。其中“OptionExplicit”用于指定所有的變量是否必須先定義后使用,“OptionStrict”用于指定是否必須有明確的類型轉換,“OptionCompare”用于設定字符串比較的規(guī)則。一個項目中可以包含多個窗體,一個窗體便是一個類,只是窗體類有可視化的外觀。9.8.3應用程序的啟動與退出.NET框架類庫提供了Application類。Application類提供了一些方法和屬性來管理應用程序,包括啟動和退出應用程序的方法。1.SubMain過程(1)SubMain是一個特定的程序,只能定義在模塊或類中(2)創(chuàng)建自定義的SubMain過程(3)將SubMain設定為啟動對象(4)定義SubMain過程的限制2.使用Application.Exit方法退出應用程序(1)語法格式:Application.Exit()(2)調用Application.Exit退出應用程序時,不會觸發(fā)Form.Closed和Form.Closing事件,如果在這些事件中有必須執(zhí)行的代碼,那么在調用Application.Exit方法前,先調用Form.Close方法關閉各個獨立窗體。但是單擊窗體右上角的“關閉”按鈕會觸發(fā)Form.Closing事件。(3)在只有一個窗體的應用程序中,使用Form.Close方法就可以退出應用程序而不需要調用Application.Exit方法。但在多個窗體的應用程序中,應該調用Application.Exit退出應用程序。9.8.4類與對象1.基本概念(1)類類是創(chuàng)建對象的“模板”或者“藍圖”。類通過定義屬性來存儲數(shù)據(jù),通過定義操作來使用這些數(shù)據(jù),類同時也定義了一套“限制”允許或禁止訪問它的屬性和操作。類是對事物共性的抽象,例如Form類抽象了窗體的基本屬性(例如標題、背景色)和一些基本操作(例如打開、關閉、最小化)。(2)對象如果要執(zhí)行類的方法和使用類的屬性,則需要創(chuàng)建類的實例(instance),類的實例稱為對象。對象是類的特定實例,它包含類中所定義的特征。(3)類與對象的區(qū)別類與對象就好比圖紙與房子的關系,類是抽象的,對象是實際的。類是創(chuàng)建對象實例的模板,是同類對象的集合與抽象,它包含所創(chuàng)建對象的屬性描述和行為特征的定義。類是對象的定義,用類說明的變量稱為對象,對象是類的一個實例。2.類的基本特性(1)封裝性(2)繼承性(3)多態(tài)性3.創(chuàng)建與使用自定義類類是構建對象的基礎,對象是類的實例化。類的成員主要有:成員常數(shù)、成員變量、成員屬性、成員事件、成員方法和構造函數(shù)(New)。(1)類的聲明聲明類的語法格式如下所示。訪問權限修飾符Class類名稱

……'類的主體,在這里定義類的成員EndClass(2)成員變量的定義成員變量是指在類內(nèi)部聲明的變量,對于公有變量,類的對象可以直接訪問,而私有變量或保護類型的變量,類的對象不可以訪問。(3)成員屬性的定義屬性是類的對象與類輸入輸出數(shù)據(jù)的過程,分為可讀可寫、只讀、只寫等幾種類型。(4)成員方法的定義(5)成員事件的定義(6)共享成員的定義4.類的構造方法與析構方法VisualBasic.NET使用構造方法控制對象的初始化,使用析構方法控制系統(tǒng)資源的釋放。(1)類的構造方法(New方法)PublicSubNew()……'添加初始化代碼EndSub定義New方法的語法格式如下所示。(2)類的析構方法當不再需要某對象時,可以調用該對象的Finalize方法,釋放其占用的內(nèi)存。Finalize方法稱為“析構方法”,它負責執(zhí)行清理任務,例如保存狀態(tài)信息、關閉文件或關閉數(shù)據(jù)庫的連接,執(zhí)行在釋放對象前必須完成的其他任務。Finalize方法可以自行定義,定義的語法格式如下。ProtectedOverridesSubFinallize()……'執(zhí)行清理任務的程序代碼EndSub5.對象的創(chuàng)建與使用創(chuàng)建一個類的對象,系統(tǒng)會自動為它分配一定的內(nèi)存空間,用于存儲對象的相關信息。對象的使用過程中,對象將一直占有內(nèi)存空間。當對象使用完畢,就要釋放對象所占用的內(nèi)存空間,否則會浪費有限的系統(tǒng)資源。(1)創(chuàng)建類的對象VisualBasic.NET使用New語句來創(chuàng)建對象。創(chuàng)建對象的語法格式如下。Dim對象名稱AsNew命名空間.類名(2)設置對象的屬性

設置對象屬性的語法格式如下所示。對象名稱.屬性名稱=屬性值讀取對象屬性值的語法格式如下所示。變量名=對象名稱.屬性名稱(3)調用對象的方法調用對象的方法的語法格式如下所示。對象名.方法名(參數(shù)列表)(4)響應對象的事件通過對象的事件可以響應用戶的操作,與用戶進行交互。引發(fā)事件的對象稱為事件源,為了確定引發(fā)事件的事件源,用WithEvents關鍵字聲明對象,聲明位置必須位于函數(shù)外部的開頭部分。6.類的繼承一般地,如果B類從A類繼承而來,那么A類就稱為父類,B類就稱為子類,這與我們?nèi)祟惖母缸雨P系是相似的。繼承最大的優(yōu)勢是可以實現(xiàn)代碼復用,子類從父類中繼承各種特征,只要在子類中添加自己的特性代碼就可以形成新的類。在實現(xiàn)功能方面,子類可以“青出于藍,而勝于藍”,但父類的有些特征也可以限制子類無法繼承。

PublicClass子類名稱

Inherits父類名稱

……'子類的程序代碼EndClass繼承的語法格式如下所示。從父類定義子類時,必須使用Inherits關鍵字聲明父類名稱,Inherits語句必須位于類內(nèi)的第1行的位置。

根據(jù)以上分析我們得出以下幾個重要的結論:(1)子類可以從父類中繼承除Private類型以外的全部變量、屬性、方法和事件,子類可以直接調用從父類繼承的屬性、方法和事件等。(2)New方法不能被子類繼承,但是可以通過MyBase關鍵字調用父類的New方法。在子類的方法中使用MyBase關鍵字調用父類的New方法時,一定要把MyBase語句放在該方法的第一條語句的位置上,否則會出錯。7.VisualBasic.NET的類(1)窗體類(2)Control類(3)Object類(4)String類(5)Array類(6)Collection類Collection類提供了一種將一組相關項作為一個集合對象進行引用的便捷方法。集合中的成員只需要存在于集合中即可成為相關項,而不需要具有相同的數(shù)據(jù)類型。9.8.5模塊一個項目中所有對象都允許訪問的全局變量或方法,必須在模塊中聲明。例如模塊Module1中聲明的4個Public變量:userName、userPassword、UserPurview和objDb,在項目Chapte

溫馨提示

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

評論

0/150

提交評論