(中職)Visual FoxPro 6.0教程第八章 數(shù)據(jù)庫應(yīng)用程序開發(fā)實(shí)例教學(xué)課件_第1頁
(中職)Visual FoxPro 6.0教程第八章 數(shù)據(jù)庫應(yīng)用程序開發(fā)實(shí)例教學(xué)課件_第2頁
(中職)Visual FoxPro 6.0教程第八章 數(shù)據(jù)庫應(yīng)用程序開發(fā)實(shí)例教學(xué)課件_第3頁
(中職)Visual FoxPro 6.0教程第八章 數(shù)據(jù)庫應(yīng)用程序開發(fā)實(shí)例教學(xué)課件_第4頁
(中職)Visual FoxPro 6.0教程第八章 數(shù)據(jù)庫應(yīng)用程序開發(fā)實(shí)例教學(xué)課件_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、YCF正版可修改PPT(中職)Visual FoxPro 6.0教程第八章 數(shù)據(jù)庫應(yīng)用程序開發(fā)實(shí)例教學(xué)課件第八章 數(shù)據(jù)庫應(yīng)用程序開發(fā)實(shí)例任務(wù)一 系統(tǒng)功能分析任務(wù)二 系統(tǒng)設(shè)計(jì)任務(wù)三 編譯應(yīng)用程序任務(wù)一 系統(tǒng)功能分析一、系統(tǒng)功能介紹 本系統(tǒng)用來實(shí)現(xiàn)企業(yè)的員工信息管理、員工工資管理。員工信息管理的主要功能有員工記錄的添加、編輯、保存、刪除、員工信息的打印: 員工工資管理的主要功能有當(dāng)月基本工資的生成、當(dāng)月變動(dòng)工資的輸入、當(dāng)月實(shí)發(fā)工資的生成及打印系統(tǒng)結(jié)構(gòu)框圖如圖8-1所示。各組成部分的功能如下。數(shù)據(jù)管理:對員工進(jìn)行添加、刪除等操作;對員工的個(gè)人信息進(jìn)行瀏覽、修改、保存等操作。下一頁返回任務(wù)一 系統(tǒng)功能

2、分析根據(jù)員工的基本信息、所處的工作崗位生成當(dāng)月基本工資表;在當(dāng)月基本資表的基礎(chǔ)上錄入其他工資和各項(xiàng)扣款;生成當(dāng)月實(shí)發(fā)工資。數(shù)據(jù)打印:打印員工信息和員工工資退出:退出本管理系統(tǒng)二、系統(tǒng)功能演示1.啟動(dòng)應(yīng)用程序雙擊 圖標(biāo),啟動(dòng)企業(yè)工資管理系統(tǒng),如圖8-2所示。 單擊“進(jìn)入系統(tǒng)”按鈕,啟動(dòng)界面消失,進(jìn)入應(yīng)用程序主界面,如圖8-3所示;單擊“退出”按鈕,退出本系統(tǒng)的使用。上一頁下一頁返回任務(wù)一 系統(tǒng)功能分析2.菜單功能介紹(1)數(shù)據(jù)管理單擊數(shù)據(jù)管理菜單項(xiàng),會(huì)彈出下拉式菜單,其中有兩項(xiàng)子菜單:員工信息管理和員工工資管理.如圖8-4所示。 員工信息管理。單擊“員工信息管理”子菜單項(xiàng),進(jìn)人員工信息管理窗口,

3、如圖8-5所示。a.通過如圖8-6中的四個(gè)按鈕,來瀏覽記錄。b.通過單擊圖8 -7中的“添加”“編輯”“刪除”“保存”按鈕,實(shí)現(xiàn)在員工信息表中添加記錄、修改記錄并保存、刪除記錄。上一頁下一頁返回任務(wù)一 系統(tǒng)功能分析員工工資管理。單擊“員工工資管理”子菜單項(xiàng),進(jìn)入員工工資管理窗口,如圖8-8所示。a.通過 單擊按鈕,可以把上月工資從數(shù)據(jù)庫中清除。b.通過 在文本框中輸入當(dāng)月下資的年份:在下拉列表框中選擇月份。c.通過 單擊按鈕,系統(tǒng)自動(dòng)根據(jù)員工信息表中相關(guān)信息生成本月基本工資信息,如圖8-9所示。在生成的員工基本工資表上,錄入本月其他工資和各項(xiàng)扣款。通過單擊 按鈕.系統(tǒng)生成扣除了個(gè)人所得稅后的員

4、工實(shí)發(fā)下資,如圖8-10所示。上一頁下一頁返回任務(wù)一 系統(tǒng)功能分析(2)數(shù)據(jù)打印單擊數(shù)據(jù)打印菜單項(xiàng),會(huì)彈出下拉式菜單,其中有兩個(gè)子菜單項(xiàng):員工信息打印和員工工資打印,如圖8-11所示。員工信息打印。單擊“員工信息打印”子菜單項(xiàng),進(jìn)人員工信息打印可以預(yù)覽或打印員工信息,如圖8-12所示。員工工資打印。單擊“員工工資打印”命令,進(jìn)人員工工資打印,可以預(yù)覽或打印員工工資如圖8-13所示。上一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)一、 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫在整個(gè)管理系統(tǒng)中占有非常重要的位置,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將白接影響數(shù)據(jù)庫的使用效率和系統(tǒng)實(shí)現(xiàn)的效果。在d:下創(chuàng)建文件夾,文件夾名為“應(yīng)用程序?qū)嵗?,并將該文件夾設(shè)為默認(rèn)

5、日錄。建立forms , data , report三個(gè)子文件夾,分別用來存放表單文件、數(shù)據(jù)庫文件、報(bào)表文件。建立一個(gè)項(xiàng)目文件“企業(yè)工資管理系統(tǒng).pjx”。在該項(xiàng)目中創(chuàng)建一個(gè)名為salary的數(shù)據(jù)庫。在數(shù)據(jù)庫中創(chuàng)建以下表。下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì) a.在數(shù)據(jù)庫中創(chuàng)建“staffinfo. dbf”表,用來存放員工基本信息,表結(jié)構(gòu)如圖8一14所示?;诮虒W(xué)目的及篇幅的考慮,所用數(shù)據(jù)庫僅使用了一些基本必需的表和字段員工編號(hào)是索引字段。b.在數(shù)據(jù)庫中創(chuàng)建“salsrystatic. dhf”表,用來存放當(dāng)月工資,表結(jié)構(gòu)如圖8-15所示員工編號(hào)是索引字段。c.在數(shù)據(jù)庫中創(chuàng)建“salarytax. d

6、hf”表,用來存放個(gè)人所得稅計(jì)算方法,如圖8一16所示。d.在數(shù)據(jù)庫中創(chuàng)建“pastpay. dhf”表,用來存放不同崗位名稱所對應(yīng)的崗位工資,如圖8-17所示。上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)二、程序啟動(dòng)界面的設(shè)計(jì)1.創(chuàng)建啟動(dòng)界面創(chuàng)建一個(gè)文件名為*tart. scx的表單,作為啟動(dòng)界面表單,如圖8-18所示表單及表單控件部分屬性的設(shè)置見表8-1。2.編寫表單代碼當(dāng)單擊“進(jìn)入系統(tǒng)”按鈕,啟動(dòng)界面消失,顯示應(yīng)用程序主界面:單擊“退出”按鈕結(jié)束應(yīng)用程序的運(yùn)行因此,需要給command1和command2添加代碼代碼如下:command1_ clickthisform. release上一頁下一頁返

7、回任務(wù)二 系統(tǒng)設(shè)計(jì)do form formsmainf &調(diào)用主表單,進(jìn)人程序主界曲command2 clickthisform. releaseclear eventsquit三、程序主界面的設(shè)計(jì)1.創(chuàng)建主界面創(chuàng)建一個(gè)名為mainf. scx的表單,如圖8-19所示2.創(chuàng)建菜單創(chuàng)建一個(gè)名為mainmenu的菜單,如圖8-20所示。上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)菜單項(xiàng)、子菜單項(xiàng)及調(diào)用對象如圖8-21圖8 -24所示。3.載入菜單在mainf的init過程中添加do mainmenu. mpr with this來載入菜單。在mainf的unload過程中添加clear event*來清除事件

8、循環(huán),從而結(jié)束整個(gè)程序。四、數(shù)據(jù)管理模塊的設(shè)計(jì)1.員工信息管理表單界面創(chuàng)建一個(gè)名為*taffadm. scx的表單,在數(shù)據(jù)環(huán)境中添加*taffinfo和postpay表,用來實(shí)現(xiàn)員工信息管理,如圖8-25所示。用到的主要控件及其部分屬性,見表8-2。上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)在本表單中需要一個(gè)自定義屬性bModify和一個(gè)自定義方法Setmode在本管理系統(tǒng)中定義員工信息管理表單存在“瀏覽”和“修改”兩種狀態(tài)其中“瀏覽”狀態(tài)是指表單中的控件處于如下的狀態(tài):表單中的文本框只讀組合框不可以接收焦點(diǎn);“保存”和“取消”按鈕不可用。本程序中使用自定義方法“setmode”來改變表單中控件的狀態(tài),

9、該方法首先獲取“bModify”的值,然后根據(jù)該值來改變表單中控件的狀態(tài),具體代碼如下。staffadm_ setmode*“員工信息管理”表單“setmode”方法*作用:根據(jù)表單屬性“bModify ”取值來判斷表單中控件狀態(tài)*將屬性值賦給變量上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)bmodify=thisform. bmodify*控件表單中文本框控件狀態(tài)thisform.setall(“readonly”, ! “bmodify”, “textbox”)*控制表單中組合框控件狀態(tài)thisform.setall(“enabled”, “bmodify”, “combobox”)*控制表單中表格控

10、件狀態(tài)thisform. grid1.enabled= ! bmodify*控制表單中命令按鈕狀態(tài)thisform. cmdnew. enabled=! bmodifythisform. cmdmodify. enabled=! bmodifythisform. cmddel. enabled=! bmodify thisform. cmdsave. enabled= bmodify上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)thisform. cmdccl. enabled= bmodifythisform. cmdexit. enabled= ! bmodify*刷新表單thisform. refre

11、sh編寫表單過程代碼staffadm_ init*表單進(jìn)入瀏覽狀態(tài)thisform. bmodify=. fthisform. setmode*刷新表單thisform.refreshstaffadm_refresh上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)*根據(jù)記錄指針位于表的位置,設(shè)置表單中各個(gè)控件的狀態(tài)select slaffinfo*如果數(shù)據(jù)進(jìn)入編輯狀態(tài),就不能移動(dòng)記錄了if thisform. bmodifythis. cmdtop. cnahlcd=.f.this. cmdpre. cnahlcd=.f.this. cmdnxt. cnahlcd=.f.Ihis_ cmdbtm. enabl

12、ed=.f.returnendif*如果數(shù)據(jù)表為空.就只有添加和退出可用.其他不可用上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)if(BOF( ).AND. EOF( ).OR. RECCOUNT( )=0thisform. bmodify=.f.thisform.grid1.enabled=.f.thisform. cmdmodiry. enabled=.f.thisform. cmddel. enabled=.f.thisform. cmrlsave. enahlerl=.f.thisform. cmrlccl. enabled=.f.endif*如果數(shù)據(jù)表為空或者只有一條記錄上一頁下一頁返回任務(wù)二

13、系統(tǒng)設(shè)計(jì)if(BOF( ).AND. EOF( ).OR. RECCOUNT( )0go bottombh=員工編號(hào)上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)newbh=alltrim(str(val(bh)+1)nzero=“00000000”lenbh=len(newbh)bh=substr (nzero,1,8-lenbh) +newbhelse &如果表中沒有記錄.設(shè)置編號(hào)為” “00000001”bh=“00000001”endif*添加空自記錄append blank*使表單進(jìn)入修改狀態(tài)上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)thisform. bmodifv=.t.thisform. setmod

14、ethisform.txt員工編號(hào).value=bh*刷新表單thisform. refreshcmdmodify_ click*使表單進(jìn)入修改狀態(tài)thisform. bmodifv=.t.thisform. setmode*刷新表單上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)thisform. refreshcmddel_ click*確認(rèn)對話框yn = messagebox(“確定刪除”,4+32,“企業(yè)工資管理系統(tǒng)”)如果確認(rèn)if yn=6select slaffinfo*邏輯刪除delete*表格數(shù)據(jù)源為空上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)thisform. grid1.recordsource=n

15、ull*物理刪除pack*表格數(shù)據(jù)源為員工信息表thisform. gridl.recordsource=”staffinfo*移動(dòng)記錄thisform. refreshendifcmdsave_ click*檢查表單中數(shù)據(jù)有效性*員工編號(hào)不能為空上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)if empty(alltrim(thisform. txt員工編號(hào).value)messagebox(“員工編號(hào)不能為空”,48,“企業(yè)工資管理系統(tǒng)”)thisform. txt員工編號(hào).setfocusreturnendif*姓名不能為空if empty(alltrim(thisform. txt姓名.value)

16、messagebox(“姓名不能為空”,48,“企業(yè)工資管理系統(tǒng)”)thisform. txt姓名.setfocusreturnendif上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)*性別不能為空if empty(alltrim(thisform. txt性別.value)messagebox(“性別不能為空”,48,“企業(yè)工資管理系統(tǒng)”)thisform.cmd性別.setfocusreturnendif*電話不能為空if empty(alltrim(thisform. txt家庭電話.value)messagebox(“電話不能為空”,48,“企業(yè)工資管理系統(tǒng)”)thisform.txt家庭電話.se

17、tfocusreturnendif上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)*崗位名稱不能為空if empty(alltrim(thisform. txt崗位名稱.value)messagebox(“崗位名稱不能為空”,48,“企業(yè)工資管理系統(tǒng)”)thisform.cmd崗位名稱.setfocusreturnendif*工作時(shí)間不能為空if empty (thisform. txt工作時(shí)間.value)messagebox(“工作時(shí)間不能為空”,48,“企業(yè)工資管理系統(tǒng)”)thisform.txt工作時(shí)間.setfocusreturnendif上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)*如果數(shù)據(jù)有效.確認(rèn)對話框y

18、h=messagebox ( “確定保存”,4+32,”企業(yè)工資管理系統(tǒng)”)如果確認(rèn)if yn=6*保存記錄if empty (tableupdate(.F.)=.F.)messagebox(“員工編號(hào)重復(fù)”,48,“企業(yè)工資管理系統(tǒng)”)thisform.txt員工編號(hào).setfocusreturnendif上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)*表單進(jìn)入瀏覽狀態(tài)thisform. bmodify=.F.thisform. setmodethisform. refreshendifcmdccl_ click*確認(rèn)對話框yh=messagebox ( “確定取消”,4+32,”企業(yè)工資管理系統(tǒng)”)*如

19、果確認(rèn)上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)if yn=6*取消修改tablerevert(.F.)*表單進(jìn)入瀏覽狀態(tài)thisform. bmodify=.F.thisform. setmode*刷新表單go bottomthisform.fefreshendifcmdexit_ click上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)yh=messagebox ( “確定退出”,4+32,”企業(yè)工資管理系統(tǒng)”)if yn=6thisform. releaseendif2.員工工資管理表單(1)界面創(chuàng)建一個(gè)名為“salarystc.sex”的表單,在數(shù)據(jù)環(huán)境中添加salarystatic、staffinfo、po

20、stpay和salarytax表,用來完成員資管理.如圖8-26所示上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)(2)用到的主要控件及其部分屬性(見表8-3)(3)編寫表單代碼本表單用來計(jì)算員工某年月工資、稅金,需要用到兩個(gè)自定義函數(shù):函數(shù)salarystc函數(shù)salarystc作用:統(tǒng)計(jì)公司所有人的工資。salarystc函數(shù)在salarystc. prg文件中定義function salarvstc (nvear , nmonth)select staffinfogo toplocalyghh,ygxm,gzyf, jhgz,gwgz,qtgz,kkje,gzze,sdse,sjgz,Y,1上一頁下一

21、頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)工資月份1=alltrim(nyear)y=alltrim(nmonth )gzyf = 1+“年”+y+“月”循環(huán)統(tǒng)計(jì)每個(gè)人的工資情沉do while. not eof( )員工編號(hào)yghh = staffinfo.員工編號(hào)員工姓名ygxm = staffinfo.姓名上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)基本工資jbgz = staffinfo.基本工資崗位工資gwgz=0 &初始化變量select postpay查找崗位對應(yīng)的崗位工資locate for崗位名稱=staffinfo.崗位名稱找到相應(yīng)的崗位if found()gwgz = postpay.崗位工資else上

22、一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)沒有找到取第1條記錄select postpaygo topgwgz = postpay.崗位工資endifqtgz=0kkje=0工資總額gzze = jhgz+gwgz上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)所得稅額sese=0實(shí)際工資sjgz=0插入新記錄nsert into salarystatic values(yghh,ygxm,gzyf, jhgz,gwgz,qtgz, kkje,gzze,sdse,sjgz)下移記錄指針select staffinfoskip上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)enddoreturnendfunesds函數(shù)。sds函數(shù)用來計(jì)算

23、所得稅金額,sds函數(shù)在sds. prg文件中定義function sds(nnum)減去不用計(jì)稅部分nnum=nnum-2000查找工資級(jí)別上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)select salarytaxlocate for nnum-工資下限.and. nnum 工資上限if FOUND()如果找到.計(jì)算稅收sdse = salarytax.速算扣除數(shù)+( nnum-salarytax.工資下限)*所得稅率* 0. 01else如果未找到.為0sdse=0endifreturn sdseendfunc上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)cmddel_ click把數(shù)據(jù)庫中的舊工資刪除在工資統(tǒng)計(jì)

24、表中刪除記錄thisform. grid1.recordsource=nullselect salarvstaticif. not. (EOF( ).AND. BOF( ).OR. RECCOUNT( )=0)delete allpackendifthisform. gridl.recordSource=”slarystatic上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)thisform. refreshmessagebox(“舊工資成功清除”,64,“企業(yè)工資管理系統(tǒng)”cmdcou_ click生成本月新工資表的基本工資和崗位工資iyear=thisform. txtyear. valueimonth=

25、thisfnrm. cmbmonth. value檢測是否已經(jīng)統(tǒng)計(jì)工資syear=alltrim(str(iyear)smonth=alltrim(str(imonth)yf = syear+“年”+smonth+“月”上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)select salarystaticlocate for工資月份=yfif found()messagebox(yf+“工資已經(jīng)統(tǒng)計(jì)”,48,“企業(yè)工資管理系統(tǒng)”)returnendif如果沒有統(tǒng)計(jì),則開始統(tǒng)計(jì)salarystc(syear, smonth)統(tǒng)計(jì)結(jié)束后在刷新表單thisform. refresh上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)c

26、mdput_ click生成本月新工資表中的工資總額、稅金和實(shí)際工資select salarystaticif reccount()messagebox(yf+“工資已經(jīng)統(tǒng)計(jì)”,48,“企業(yè)工資管理系統(tǒng)”)returnendif彈出確認(rèn)對話框go top do while not eof ()上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)repl 工資總額with基本工資+崗位工資+其他金額-扣款金額gzze=工資總額所得稅額with sds(gzze)select salarystaticreel 實(shí)際工資 with 工資總額-所得稅額skipenddocmdexit_ click退出本表單yn = me

27、ssagebox(“確定退出”, 4+32,“企業(yè)工資管理系統(tǒng)”)上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)if yn=6thisform. releaseendif五、設(shè)計(jì)報(bào)表1.員工信息報(bào)表(圖8一27)2.員工工資報(bào)表(圖8-28)上一頁下一頁返回任務(wù)二 系統(tǒng)設(shè)計(jì)六、設(shè)計(jì)并設(shè)置主程序1.設(shè)計(jì)主程序主程序是數(shù)據(jù)庫應(yīng)用系統(tǒng)的入口,一般包括初始化環(huán)境、顯示啟動(dòng)界面、控制事件循環(huán),當(dāng)退出應(yīng)用系統(tǒng)時(shí),恢復(fù)原始的開發(fā)環(huán)境。2.設(shè)置主程序設(shè)置主程序的操作步驟如下。在項(xiàng)目管理器中選中要設(shè)置為主程序的文件,如圖8-29所示。 單擊“項(xiàng)目”菜單中的“設(shè)置主文件”子菜單,將該文件設(shè)置為主程序如圖8-30所示。由于一個(gè)應(yīng)用系統(tǒng)有且僅有一個(gè)入口,因

溫馨提示

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

評(píng)論

0/150

提交評(píng)論