Visual Basic 6.0程序設(shè)計教程第八章_第1頁
Visual Basic 6.0程序設(shè)計教程第八章_第2頁
Visual Basic 6.0程序設(shè)計教程第八章_第3頁
Visual Basic 6.0程序設(shè)計教程第八章_第4頁
Visual Basic 6.0程序設(shè)計教程第八章_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三篇提高篇第8章學(xué)生信息管理系統(tǒng)本章學(xué)習(xí)要點1、了解程序設(shè)計的一般思想。2、掌握程序設(shè)計的一般流程。3、了解算法、程序的概念,學(xué)會結(jié)構(gòu)化程序設(shè)計方法。4、能夠靈活應(yīng)用VB中的控件、菜單和對話框,使所設(shè)計的應(yīng)用程序易用、易維護(hù)、方便以后擴(kuò)充。8.1應(yīng)用背景學(xué)生信息是學(xué)校的一項重要的數(shù)據(jù)資源,學(xué)籍管理也是學(xué)校的一項常規(guī)性的重要工作。而長期以來,學(xué)生信息管理都是依賴人工進(jìn)行,面對如此多的學(xué)生信息,其工作量可想而知。不僅僅浪費了大量的人力物力,而且由于人工管理存在大量的不可控因素,造成了學(xué)生信息管理的某些不規(guī)范,使學(xué)生信息管理陷入“事倍功半”的地步。本章就是針對高校現(xiàn)在學(xué)生信息管理的弊端,結(jié)合學(xué)生信息管理的基本流程,實現(xiàn)一個完善的學(xué)生信息管理實例。根據(jù)實際要求,結(jié)合學(xué)生信息的實際流程,本系統(tǒng)需要實現(xiàn)以下功能:1、掌握全校每個學(xué)生的基本情況。其中包括學(xué)號、班級、姓名、系別、出生日期、性別、家庭住址、電話等。2、基于權(quán)限的管理。本系統(tǒng)可同時提供給管理員和學(xué)生使用。但是對于學(xué)生而言只能查看本人信息;對于管理員可以修改學(xué)生信息。

3、提供靈活的瀏覽和查找功能。可以查看某個系、某個班級所有學(xué)生的學(xué)生情況,可以對學(xué)生信息進(jìn)行模糊和精確查找。

4、可以對學(xué)生信息進(jìn)行變動管理,對學(xué)生信息進(jìn)行添加、編輯和刪除等操作。

5、可以將學(xué)生的基本信息生成報表,并打印。信息。8.2系統(tǒng)設(shè)計

8.2.1模塊設(shè)計根據(jù)本系統(tǒng)的需求,結(jié)合學(xué)生信息管理的實際情況,本系統(tǒng)應(yīng)具有如下功能模塊:⒈用戶類型模塊本系統(tǒng)的用戶將分兩類:學(xué)生和管理員。學(xué)生用戶指當(dāng)前系統(tǒng)中的所有學(xué)生,其中用戶名為學(xué)生的姓名,密碼為學(xué)生的學(xué)號,該類用戶只能對自己的信息進(jìn)行瀏覽,不具有瀏覽和查找其他人信息的權(quán)限,也不能對自身和他人的信息進(jìn)行管理。對于管理員級的用戶,他們有特定的權(quán)限對本系統(tǒng)所有的學(xué)生信息進(jìn)行瀏覽、查找并進(jìn)行管理,而且可以使用相應(yīng)的報表功能。⒉信息查看和瀏覽模塊對于學(xué)生用戶而言,只有瀏覽自身的信息,而且信息具有只讀功能,學(xué)生如果對自身信息有何問題,可以向管理員報告以進(jìn)行修改。對于管理員而言,可以查看所有學(xué)生的信息,而且系統(tǒng)中提供了多種瀏覽方式:逐條記錄瀏覽、按所在班級瀏覽和按所在系瀏覽。⒊查找模塊此部分只能對管理員開放。如果瀏覽部分所提供的瀏覽方式不能滿足管理員的要求,那么管理員可以在現(xiàn)有的信息中進(jìn)行查找,以便找到滿足條件的學(xué)生信息,進(jìn)行瀏覽或者管理。該部分提供了對所有的進(jìn)行精確或者模糊查找的功能。⒋學(xué)生信息管理模塊此部分功能只對管理員開放。如果學(xué)生的基本信息改變,那么管理員可以根據(jù)具體的情況,對學(xué)生信息進(jìn)行管理,可以添加,刪除或者修改某個用戶的信息。⒌報表模塊此部分只對管理員開放。管理員在查看學(xué)生信息的同時,可以將學(xué)生的基本信息生成報表并打印。8.2.2開發(fā)環(huán)境結(jié)合所要開發(fā)的系統(tǒng)的特點,本系統(tǒng)使用VisualBasic6.0中文版來作為開發(fā)工具,后臺數(shù)據(jù)庫則采用Access2003。根據(jù)“學(xué)生信息管理系統(tǒng)”的需求說明和模塊設(shè)計,本章將著意于如何實現(xiàn)各個模塊的基本功能,如果要具體應(yīng)用到學(xué)校的情況中,還需要對各學(xué)校的具體需求進(jìn)一步明確,并對本系統(tǒng)進(jìn)行修正。8.2.3系統(tǒng)整體流程根據(jù)學(xué)生信息管理系統(tǒng),結(jié)合各功能模塊,系統(tǒng)的整體流程如圖所示。系統(tǒng)的總體流程Splash窗口顯示版本信息登錄窗口(學(xué)生或管理員)查看學(xué)生自己的信息瀏覽、查找、修改學(xué)生的信息按姓名查找按學(xué)號查找8.3詳細(xì)設(shè)計

8.3.1數(shù)據(jù)庫設(shè)計本系統(tǒng)使用Access2003作為數(shù)據(jù)庫管理系統(tǒng)(DataBase

ManegementSystem,DBMS)。在Access中,新建一個數(shù)據(jù)庫,將其命名為Student.mdb,將新建的數(shù)據(jù)庫放置在應(yīng)用程序的目錄中,以便調(diào)用。1.學(xué)生表的設(shè)計(Student)本表主要對象為學(xué)生的基本信息,包括以下部分:學(xué)號(Serial)、班級(Class)、學(xué)生姓名(Name)、出生日期(Birthday)、性別(Sex)、家庭住址(Address)、電話(Tel)等。在數(shù)據(jù)庫中創(chuàng)建一個表,表名為“Student”,其字段結(jié)構(gòu)如表所示字

名字

明類

型長

度備

注Serial學(xué)號文本7主關(guān)鍵字Name姓名文本10不能為空Class所屬班級文本5不能為空Birthday生日日期/時間不能為空Sex性別文本2默認(rèn)值為“男”Address家庭住址文本30可以為空Tel電話文本15可以為空Resume簡歷備注500可以為空2.班級表(Class)字

名字

明類

型寬

度備

注ClaName班級名文本5主關(guān)鍵字Dept_Id班級編號文本5不能為空3.系表(Department)字

名字

明類

型寬

度備

注Id部門編號數(shù)字長整型主關(guān)鍵字DepName部門名文本20不能為空4.管理員賬號的設(shè)計(Admin)字

名字

明類

型寬

度備

注AdmName管理員名字文本長整型主關(guān)鍵字Pwd管理員密碼字符16不能為空5.各表的關(guān)系定義下列兩組參照完整性:

Class表的CLaName字段與Student表的Class字段為一對多的關(guān)系;

Department表的Id字段與Class表的Dep_id字段為一對多的關(guān)系。8.3.2創(chuàng)建工程在VisualBasic6.0中創(chuàng)建一個工程,命名為Student.vbp,并將創(chuàng)建的Student數(shù)據(jù)庫拷貝到工程目錄中,以便建立數(shù)據(jù)連接。登陸窗口在登錄窗體中,輸入用戶名、口令,并選擇各自的類型后,單擊“確定”按鈕就會將輸入提交給系統(tǒng)以驗證用戶、密碼及身份。如果用戶的密碼輸錯3次,則系統(tǒng)自動退出;如果用戶密碼正確,則將進(jìn)入系統(tǒng)的MDI

主窗體(MDIMain.frm)。

8.3.3建立數(shù)據(jù)連接

8.3.3.1數(shù)據(jù)環(huán)境設(shè)計器屬性的設(shè)計操作步驟如下:(1)用第六章所學(xué)的方法添加ADO控件。(2)引用數(shù)據(jù)環(huán)境設(shè)計器。在“工程”菜單中,單擊“引用”命令。在彈出的對話框中,選擇“MicrosoftDataEnvironment1.0”項,然后單擊“確定”按鈕。(3)從“工程”菜單中,選擇“添加DataEnvironment”命令,添加數(shù)據(jù)環(huán)境設(shè)計器。(4)在出現(xiàn)的數(shù)據(jù)環(huán)境設(shè)計器窗口添加一個Connection對象,命名為Con。(5)查看Con屬性,在“提供程序”選項卡中選擇“MicrosoftJet4.0OLEDBProvider”項,如圖8.3所示,并單擊“下一步”按鈕。(6)在“數(shù)據(jù)庫名稱”文本框中,選擇Student.mdb項,并選中“空白密碼”和“允許保存密碼”兩個單選框。(7)單擊“測試連接”按鈕,如果出現(xiàn)“連接成功”提示框,則表示設(shè)置成功,如圖8.4所示;否則還需要檢查數(shù)據(jù)庫連接的設(shè)置。經(jīng)過以上兩步設(shè)置,數(shù)據(jù)環(huán)境設(shè)計器的Con數(shù)據(jù)連接屬性設(shè)置如表8.5所示。Provider=Microsoft.Jet.OLEDB.4.0;Password=”;DataSourse=D:\學(xué)生信息管理系統(tǒng)\Splash\Student.mdb;Persist

象屬

性設(shè)

置DEConnectionNameConConnectionStringSecurityInfo=TrueCursorLocation3-adUseClient

8.3.3.2數(shù)據(jù)連接的初始化代碼在系統(tǒng)實際運行時,數(shù)據(jù)庫所處的位置是變化的。而默認(rèn)情況下,數(shù)據(jù)環(huán)境設(shè)計器的連接中使用的數(shù)據(jù)庫位置是固定的,所以需要在數(shù)據(jù)環(huán)境的初始化(Initialize)事件中,動態(tài)改變數(shù)據(jù)連接Con的連接字段(ConnectionString)

PrivateSubDataEnvironment_Initialize()''根據(jù)目錄所在的位置,改變ADO所使用的連接的字符串

DimstrConnAsString

strConn="Provider=Microsoft.Jet.OLEDB.4.0;Password=;DataSourse="

strConn=strConn&App.Path&"\Stuednt.mdb"&";PersistSecurityInfo=True"

Con.ConnectionString=strConnEndSub8.3.4Splash窗體設(shè)計8.3.4.1窗體界面設(shè)計在工程中添加一類型為“展示屏幕”的窗體,命名為frmSplash.frm。該窗體上的控件及其屬性設(shè)置如表8_7所示。為了方便起見,該窗體中所有的標(biāo)簽控件都設(shè)計為名稱為lblInfo的控件數(shù)組。8.3.4.2窗體代碼設(shè)計

frmSplash窗體具體有兩個作用,其一為系統(tǒng)啟動時的窗體,其二為系統(tǒng)運行時的“關(guān)于…”窗體。所以在代碼頁的“通用”部分定義模塊級的公共變量mbAbout

,作為區(qū)別這兩個作用的標(biāo)識:PublicmbAboutasBoolean

mbAbout具體含義如下:若mbAbout為True,則表示為系統(tǒng)啟動時的Splash窗體;若mbAbout為Flase,則表示為系統(tǒng)運行時的“關(guān)于”窗體介于Splash窗體的特點,如果單擊窗體上的任何部分,或者按下任一個鍵,都將調(diào)用UnloadForm子過程,以退出本窗體。在UnloadForm子過程中,首先退出Splash窗體,然后如果mbAbout為False,即表示此時此時窗體為Splash窗體,需要顯示登錄窗體;否則就不需要顯示登錄窗體。8.3.5登錄窗體設(shè)計本系統(tǒng)的用戶分兩類:管理員和學(xué)生。在設(shè)計登錄窗體時,要增加一個ComboBox控件,用來表示用戶身份,其中0表示管理員身份,1表示學(xué)生類用戶。同時,為了避免非法用戶的干擾,如果用戶連接輸錯3次密碼,則將會自動退出系統(tǒng)。8.3.5.1窗體界面設(shè)計在工程中添加一類型為“登錄對話框”的窗體,命名為frmLogin.frm

。該窗體上的控件及其屬性設(shè)置如表8.7所示。對

象屬

性設(shè)

置窗體NamefrmLoginBorderStyle3-FixedDialogCaption請登錄KeyPreviewFalseShowInTaskbarFalseStartUpPositon2-屏幕中心對

象屬

性設(shè)

置框架1NamefraLoginCaption登錄標(biāo)簽(0)NamelalLabelsAutoSizeTrueCaption用戶名:文本框NametxtUserCaption為空標(biāo)簽(1)NamelblLabelsAutoSizeTrueCaption口令:文本框NametxtPwdText為空標(biāo)簽(2)NamelblLabelsCaption選擇身份:組合框1NamecboUserTypeList管理員;學(xué)生命令按鈕1NamecmdOKCaption確定DefaultTrue命令按鈕2NamecmdCancelCaption取消CancelTrue8.3.5.2窗體代碼設(shè)計⒈定義mnUserType

在代碼頁的“通用”部分定義模塊級變量mnUserType,用來表示當(dāng)前用戶在身份下拉列表中所選的類型(管理員或?qū)W生)。⒉添加數(shù)據(jù)命令splSeek

根據(jù)用戶選擇的不同身份,在不同的表里查詢數(shù)據(jù)。如果選擇了“管理員”身份,則在Admin中針對name和pwd字段進(jìn)行搜索;如果選擇了“學(xué)生”身份,則在student表中針對name和Serial字段進(jìn)行搜索。⒊校對輸入的用戶名和密碼用戶輸入了用戶名和密碼,并且選擇了對應(yīng)的身份之后,可以單擊“確定”按鈕來驗證,即激活cmdOK控件的Click事件。8.3.6MDI主窗體在工程中添加一個MDI窗口,取名為“MDIMain.frm”,并為MDI窗體進(jìn)行菜單的設(shè)計和代碼的設(shè)計。8.3.6.1菜單設(shè)計MDI主窗體是整個系統(tǒng)的容器,為了方便用戶的使用,應(yīng)設(shè)計相應(yīng)的菜單。在主菜單中,設(shè)計兩個根節(jié)點“通用”和“幫助”,“通用”菜單用來進(jìn)行學(xué)生信息的管理,而“幫助”菜單用來顯示有關(guān)系統(tǒng)的幫助信息?!巴ㄓ谩辈藛雾椀淖硬藛沃?,系統(tǒng)用戶可以單擊“學(xué)生信息管理”進(jìn)入整個學(xué)生信息管理系統(tǒng)的主界面,可以單擊“學(xué)生信息查詢”來查看符合條件的學(xué)生信息,也可以通過單擊“退出”,退出MDI窗體?!皫椭辈藛沃卸x了“關(guān)于”子菜單,用戶可以單擊該子菜單,來顯示有關(guān)系統(tǒng)的幫助信息8.3.6.2窗體代碼設(shè)計⒈定義模塊級變量⒉判斷用戶權(quán)限⒊Form的QueryUnload事件⒋“重新登錄”子菜單的代碼⒌“關(guān)于…”子菜單的代碼8.3.7學(xué)生信息查看窗體如果登錄的為學(xué)生類型的用戶,當(dāng)單擊“通用”菜單項下的“學(xué)生信息”子菜單時,系統(tǒng)需要顯示有關(guān)當(dāng)前登錄的學(xué)生的基本信息,但是這些信息對于該學(xué)生類型用戶而言必須是只讀的。8.3.7.1添加數(shù)據(jù)命令用戶在查詢時需要進(jìn)行使用數(shù)據(jù)庫的表連接。在數(shù)據(jù)環(huán)境設(shè)計器DataEnv中單擊數(shù)據(jù)連接對象Con,單擊鼠標(biāo)右鍵并在右鍵菜單中選擇“添加命令”菜單項,向Con數(shù)據(jù)連接對象添加一個命令,將其命名為Student。8.3.7.2界面設(shè)計在工程中添加一個窗體,命名為frmLook,這里將使用frmLook窗體來實現(xiàn)學(xué)生類型的用戶查看自己信息的功能。在該窗體中,用戶只能查看信息,而不能對信息進(jìn)行修改,所以將顯示各項數(shù)據(jù)控件的父控件fraInfo的Enabled屬性置為False,從而使各個子控件不可訪問,使各項數(shù)據(jù)不能修改。8.3.7.3代碼實現(xiàn)PrivateSubForm_Load()’根據(jù)當(dāng)前登錄的用戶在DataEnv.rsStudent中查找到對應(yīng)的記錄

DataEnv.rsStudent.Find"serial='"&MDIMain.msUserName&"'"EndSubPrivateSubcmdClose_Click()UnloadMeEndSub8.3.8學(xué)生信息管理窗體如果以管理員登錄本系統(tǒng),則管理員具有系統(tǒng)中所有的權(quán)限,包括對學(xué)生信息進(jìn)行查詢,對學(xué)生信息進(jìn)行添加、修改和刪除,并可以將當(dāng)前的學(xué)生信息生成報表,所以本窗體應(yīng)具有下列功能。導(dǎo)航:由于一個學(xué)校的學(xué)生信息的量是很大的,所以為了方便用戶的瀏覽,給用戶提供一個導(dǎo)航條,通過以網(wǎng)格形式顯示當(dāng)前滿足條件的學(xué)生的學(xué)號和姓名字段,便于用戶進(jìn)行管理。瀏覽:提供能夠在導(dǎo)航條中移動記錄的基本按鈕,通過該功能,用戶可以移動導(dǎo)航條的當(dāng)前記錄。查詢:提供一個能夠進(jìn)行精確和模糊查詢的“自定義查詢”,同時,考慮到大部分對學(xué)生信息查詢是分班級進(jìn)行的,所以在系統(tǒng)中增加一個查看各個班級的所有學(xué)生信息的簡易查詢。詳細(xì)信息:一旦導(dǎo)航條的當(dāng)前記錄發(fā)生改變,則要顯示當(dāng)前記錄的學(xué)生的詳細(xì)信息,而且提供一系列的管理按鈕,用戶可以通過它,來對記錄進(jìn)行添加、修改和刪除,并且生成相應(yīng)的報表。這4個部分在窗體上被分為4個區(qū):導(dǎo)航條、瀏覽框、查詢框、詳細(xì)信息框,如下圖所示。8.3.8.1窗體的設(shè)計和實現(xiàn)⒈窗體的屬性⒉添加數(shù)據(jù)命令⒊主窗體的代碼8.3.8.2導(dǎo)航條的設(shè)計和實現(xiàn)為了能夠在數(shù)量眾多的學(xué)生信息中進(jìn)行瀏覽,需要創(chuàng)建導(dǎo)航條。本系統(tǒng)采用數(shù)據(jù)網(wǎng)格控件,在控件中將顯示符合條件的學(xué)生信息的學(xué)號和姓名,用戶可以方便地選擇所要查詢的學(xué)生信息。⒈界面設(shè)計在“工程”菜單項下的“部件”子菜單中,選擇“MicrosoftDataGrid6.0(OLEDB)”項,這樣就將DataGrid控件加入到了工具欄中。⒉代碼實現(xiàn)當(dāng)grdScan的內(nèi)容發(fā)生變化,或者用戶通過單擊改變grdScan的當(dāng)前行,或者通過瀏覽框中的記錄移動按鈕,來移動grdScan的當(dāng)前行時,必須相應(yīng)改變詳細(xì)信息框中的學(xué)生基本信息。這就需要在grdScan和Change和RowColChange事件中調(diào)用自定義的子過程SeekStudent()來實現(xiàn)。8.3.8.3瀏覽框的設(shè)計和實現(xiàn)⒈瀏覽框的設(shè)計為了能夠在導(dǎo)航條中實現(xiàn)記錄的移動,需要實現(xiàn)瀏覽框。⒉代碼實現(xiàn)在瀏覽窗口中,調(diào)用DataEnv.rssqlSeek的MoveFirst、MovePrevious、MoveNext、MoveLast來將記錄移到第一條、上一條、下一條和最后一條,再調(diào)用子定義過程ChangeBrowseState()來改變各個按鈕的狀態(tài)。8.3.8.4查詢框的設(shè)計和實現(xiàn)整個信息系統(tǒng)中的學(xué)生記錄個數(shù)很多,即使使用了導(dǎo)航條,有時查找起來仍然會很費勁。所以用戶有時需要查詢某一條或某一個符合特殊條件的記錄。⒈界面設(shè)計(1)數(shù)據(jù)顯示框fraInfo(2)管理控制框fraManage⒉代碼設(shè)計為了給用戶靈活的查詢方式,本系統(tǒng)定義了兩種查詢。(1)按照班級進(jìn)行瀏覽(2)使用自定義查詢當(dāng)按照班級瀏覽不能滿足用戶需要的時候,也可以單擊“自定義查詢”按鈕,來進(jìn)行查詢。在該查詢中,可以對于Student表中的所有字段進(jìn)行各種運算符的查詢。8.3.8.5詳細(xì)信息框的設(shè)計和實現(xiàn)學(xué)生信息包括了學(xué)號、班級、姓名、出生日期、性別、家庭住址、電話、簡歷等內(nèi)容。在導(dǎo)航條中列出了各個學(xué)生的學(xué)號和姓名以供用戶進(jìn)行導(dǎo)航,但是在實際管理中,還需要顯示出某一條學(xué)生信息的詳細(xì)列表。為此,設(shè)計詳細(xì)列表框,來羅列用戶的各種詳細(xì)信息,并進(jìn)行管理。⒈界面設(shè)計(1)數(shù)據(jù)顯示框fraInfo

在“工程”菜單下的“部件”子菜單中,選擇“MicrosoftDataList6.0(IKEDB)”項,這樣就將DataCombo和DataList這兩個控件加入到工具欄中,本部分將會使用DataCombo控件,在控件的下拉框中填充Class表的內(nèi)容。DataCombo控件是一個數(shù)據(jù)綁定組合框,它可自動地由一個數(shù)據(jù)附加數(shù)據(jù)源中的一個字段填充,并且可有選擇地更新另一個數(shù)據(jù)源的一個相關(guān)表中的一個字段。(2)管理控制框fraManage

在顯示詳細(xì)信息的同時,用戶可以對當(dāng)前記錄進(jìn)行管理,添加新記錄、編輯或者刪除當(dāng)前記錄,并對當(dāng)前記錄生成報表。⒉代碼設(shè)計在本系統(tǒng)中,在系統(tǒng)默認(rèn)情況下,班級編號將作為學(xué)號的前面幾位。為了體現(xiàn)這一關(guān)系,需要在dcbClass控件的Click事件中,判斷如果用以顯示學(xué)號的文本框為空,則將班級編號賦給文本框。8.3.9自定義查詢窗體在學(xué)生信息管理窗口中,如果用戶單擊了“自定義查詢”按鈕,將會出現(xiàn)“自定義查詢”窗體。在該窗體中可以選擇自定義查詢

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論