使用DLL封裝應(yīng)用程序的資源_第1頁(yè)
使用DLL封裝應(yīng)用程序的資源_第2頁(yè)
使用DLL封裝應(yīng)用程序的資源_第3頁(yè)
使用DLL封裝應(yīng)用程序的資源_第4頁(yè)
使用DLL封裝應(yīng)用程序的資源_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

使用DLL封裝應(yīng)用程序的資源[轉(zhuǎn)]ToDo使用DLL封裝應(yīng)用程序的資源}程序在BDS2006下編譯通過(guò)。筆者有些懶,理論說(shuō)明文檔就引用網(wǎng)上的。筆者的代碼應(yīng)該來(lái)說(shuō)是寫(xiě)得比較簡(jiǎn)單的。談Delphi編程中資源文件的應(yīng)用一、初級(jí)應(yīng)用篇資源文件一般為擴(kuò)展名為res的文件,在VC中資源文件用得非常普遍,但Delphi在其聯(lián)機(jī)幫助

中對(duì)資源文件沒(méi)作什么介紹。其實(shí)利用其自帶的資源編譯工具BRCC32.EXE(—般位于DelphiBIN目錄

下),我們完全可以做出跟VC—樣效果的文件來(lái)。資源文件最大的好處是能將一些在必要時(shí)才調(diào)用的文件跟可執(zhí)行文件一起編譯,生成一個(gè)文件。這樣做最大的好處就是使外部文件免遭破壞。例如在一個(gè)程序中你要臨時(shí)調(diào)用一幅圖片,一般作法是把圖片放在某一路徑下(通常是主程序所在路徑),但如果用戶(hù)路徑誤刪你的圖片文件則可能使程序找不到相應(yīng)文件而出錯(cuò)崩潰。另外,如果你想自己的程序界面美觀,想用一些自定義光標(biāo),也要用到資源文件。資源文件的使用步驟為:1?編寫(xiě)rc腳本文本用記事本或其它文本編輯器編寫(xiě)一個(gè)擴(kuò)展名為rc的文件。例如:mycurcursormove.cur//加入光標(biāo)mypicBitmapWater.BMP〃加入位圖mywavWAVEhappy.wav〃加入聲音myAVIAVIEPOEN.AVI〃加入視頻mylcoICONCJT.ICO//加入圖標(biāo)格式分別為在資源文件中的名稱(chēng)->類(lèi)型->實(shí)際文件名稱(chēng),例如上面第一行定義一個(gè)名為mycur的光標(biāo),實(shí)際名稱(chēng)為加入光標(biāo)move.cur。2?將rc文件編譯成res資源文件將腳本文件和實(shí)際文件拷到Brcc32.EXE所在目錄,執(zhí)行DOS命令。格式為:Brcc32腳本文件(回車(chē)),例如有一名為myfirst.rc的腳本文件,則執(zhí)行Brcc32myfirst.rc(回車(chē))即可。如果你是懶人,也可新建一批處理文件,內(nèi)容只有一行:Brcc32mufist.rc。(因?yàn)镈elphi安裝后一般會(huì)在自動(dòng)批處理文件中指明搜索路徑的)如果編譯成功,則會(huì)生成一個(gè)結(jié)尾為res的文件,這個(gè)文件就是我們需要的資源文件。3?在Delphi單元中加入資源文件將生成的res資源文件拷貝到你所編程序的路徑下,在單元文件{$R*DFM}后加上一句

{$Rmufirst.res},則將res文件加入去,編譯后資源文件即已包含在可執(zhí)行文件中了。若你有多個(gè)資源文

件,也按上法依次加入。4?在Delphi程序中調(diào)用資源文件資源文件在Delphi中的關(guān)鍵字為hinstance,下面給出具體用法。<1>光標(biāo)的調(diào)用首先在程序中定義一個(gè)值大于0的常量,因?yàn)镈elphi本身用0到負(fù)16來(lái)索引默認(rèn)的光標(biāo),所以我們制定的光標(biāo)應(yīng)從表面上1開(kāi)始索引。然后在窗口的Oncreat事件中添加以下代碼:screen.cursor[35]:=Loadcursor(hinstance,'mycur');其中35為大于1的常量,mycur為光標(biāo)在資源文件中的名字。如果希望在其他控件上使用定制光標(biāo),例如Panel控件,只需在程序的適當(dāng)處加入以下代碼:Panel1.cursor:=35;<2>位圖的調(diào)用新建一項(xiàng)工程,添加一Timage控件,在需要顯示的地方寫(xiě)以下代碼(其中"mypic"為位圖資源

文件中的名稱(chēng)):Varmymap:Hbitmap;beginmymap:=LoadBitmap(hinstance,'mypic');lmage1.picture.Bitmap.Handle:=mymap;end;〈3〉A(chǔ)VI文件的調(diào)用新建一工程,添加一Animate控件,在需要的地方加入(其中myAVI為視頻文件在資源文件中的名稱(chēng)):animate門(mén).resname:='myAVI';animate門(mén).Active:=true;〈4〉調(diào)用WAV文件在uses中加入mmsystm單元,以便在程序中播放WAV文件。播放時(shí)Playsound(pchar('mywav'),hinstance,sndsyncorsnd_resource);其中mywav為聲音文件在資源中的名

稱(chēng)。〈5〉加入光標(biāo)加入光標(biāo)比較容易,只要將res文件加入單元文件中即可。但需注意,名稱(chēng)最好取"W"."WW"等,

使第一個(gè)字母盡量靠后,以免與主程序的圖標(biāo)順序顛倒。這樣一來(lái),別人在使用你的程序時(shí)如果想選擇其

它圖標(biāo)就有很多選擇了。補(bǔ)充:1?資源類(lèi)型除上述類(lèi)型外,還可以字體文件,字符串文件等;2?資源文件不但可以在標(biāo)準(zhǔn)圖形界面下使用還可在控制臺(tái)下使用。下面我們來(lái)試驗(yàn)一下:新建一

工程,將唯一的一個(gè)Form刪除,然后修改工程文件。增加一句{$Apptypeconsole},在uses子句中加入

mmsystem,并將其它引用單元?jiǎng)h掉。將Begin和end之間語(yǔ)句刪掉。至此,我們就可和TurboPASCAL

下編程序一樣,且還可以調(diào)用windows的API和資源。將資源文件----{$Rmyfist.res}加入。在Begin和

end之間寫(xiě)下:writeln('演示程序,按任意鍵開(kāi)始!’);readln;playsound(pchar('mywav'),hinstance,snd_syncorsnd_resource);writeln('演示結(jié)束!’);運(yùn)行程序,將彈出一個(gè)標(biāo)準(zhǔn)DOS窗口,按任意鍵播放聲音文件。是不是很COOL呢?我曾下載

過(guò)一個(gè)播放器,在其安裝目錄下我發(fā)現(xiàn)有一“DOS程序”,用鼠標(biāo)雙擊它便彈出一個(gè)DOS窗口,顯示DOS

時(shí)代特有的畫(huà)圖,并有背景音樂(lè)!可能就是用這個(gè)方法做的。3.Delphi本身自帶了一個(gè)叫ImageEditor的工具,同樣可以編輯資源文本,但和本文的方法比

較,可得出下表:ImageEditorBrcc32BMP只支持16位色任意色光標(biāo)黑白兩色任意色I(xiàn)CO只支持16位色任意色AVI不支持支持WAV不支持支持字體不支持支持字符串不支持支持上面說(shuō)的是直接在程序本身的調(diào)用。其實(shí)資源文件還有其它用法。比如說(shuō)在你的程序攜帶其它文件,要用的時(shí)候釋放出來(lái)。例如:myexeexefile'hal.exe'//腳本文件下面是自定義釋放函數(shù)ExtractRes,本例中使用如下:ExtractRes('exefile','myexe','c:new.exe');就把ha1.exe以new.exe為名字保存到C盤(pán)根目錄下了。functionTForm1.ExtractRes(ResType,ResName,ResNewName:string):boolean;varRes:TResourceStream;begintryRes:=TResourceStream.Create(Hinstance,Resname,Pchar(ResType));tryRes.SavetoFile(ResNewName);Result:=true;finallyRes.Free;end;exceptResult:=false;end;二、中級(jí)應(yīng)用篇:上面我們已經(jīng)知道如何把一副BMP圖像從資源文件里面讀出來(lái),但是BMP文件太大了,JPG文件應(yīng)用的相對(duì)較多。那么如何把JPG圖像讀出來(lái)呢?用資源文件加流方式即可。具體方法如下:⑴MyJpgJPEGMy.JPG(2)VarStream:TStream;MyJpg:TJpeglmage;BeginStream:=TResourceStream.Cceat(HINSTANCE,'MyJpg','JPEG');TryMyJpg:=TJpeglmage.Create;TryMyJpg.LoadfromStream(Stream);Image1.Picture.Assignc(MyJpg);FinallyMyJpg.Free;end;FinallyStream.Free;end;end;讀取其它圖片文件也是一樣的。比如說(shuō)gif動(dòng)畫(huà)文件,當(dāng)然前提是你有一個(gè)gif.pas,這個(gè)單元很

多站點(diǎn)都有的,可以自己去找找。實(shí)際應(yīng)用中我還發(fā)現(xiàn)用上面的代碼可以直接顯示資源文件中的ICON和BMP。說(shuō)到圖形處理,實(shí)際上還可以用Delphi創(chuàng)建、調(diào)用純圖標(biāo)資源的DLL。比如說(shuō)你可以看看超級(jí)

解霸目錄下的Dll,很多就是純圖標(biāo)資源而已。具體方法如下:(1)創(chuàng)建一個(gè)Hicon.RES文件,這里不再重復(fù);(2)新建一文本文件Icon.dpr,內(nèi)容如下:libraryIcon;{$RIcon.RES}beginend.用Delphi打開(kāi)編譯即可得到lcon.dll。(3)實(shí)際調(diào)用方法如下:PrivateHinst:THANDLE;VarHicon:THANDLE;beginHinst:=Loadlibrary('lcon.dll');IfHinst=0ThenExit;Hicon:=Loadicon(Hinst,Pchar(Edit1.Text));IfHicon<>0Thenlmage1.Picture.lcon.Handle:=Hicon;FreeLibrary(Hinst);end;如果你的程序想在國(guó)際上供使用不同語(yǔ)言的人使用的話(huà),用Dll來(lái)存放字符資源將是一個(gè)好方法。因?yàn)镈ll不象ini文件那樣可以被人隨便修改,特別是有時(shí)侯如果想保存一些版權(quán)信息的話(huà)用Dll就再好不過(guò)了。比如說(shuō)你準(zhǔn)備開(kāi)發(fā)一個(gè)“漢字簡(jiǎn)繁體翻譯器”軟件,準(zhǔn)備提供Gb32、Big5碼和英文三種語(yǔ)言菜

單給用戶(hù),那么你可以試試用Dll來(lái)保存字符資源。我們需要建立三個(gè)DII。第一步當(dāng)然是寫(xiě)Rc文件,舉Gb32碼為例,內(nèi)容如下:/*MySc.rc*/#defineIDS_MainForm_Caption1#defineIDS_BtnOpen_Caption2#defineIDS_BtnSave_Caption3#defineIDS_BtnBig5_Caption4#defineIDS_BtnGb32_Caption5#defineIDS_BtnHelp_Caption6#defineIDS_Help_Shelp7Stringtable{IDS_MainForm_Caption,"漢字簡(jiǎn)繁體翻譯器"IDS_BtnOpen_Caption,"打開(kāi)文件"IDS_BtnSave_Caption,"保存文件"IDS_BtnBig5_Caption,"轉(zhuǎn)換成Big5"IDS_BtnGb32_Caption,"轉(zhuǎn)換成Gb32"IDS_BtnHelp_Caption,"幫助"IDS_Help_Shelp,"輸入文字或打開(kāi)文件后按需要點(diǎn)擊按鈕即可轉(zhuǎn)換!"}另外兩個(gè)Dll用同樣的方法生成。第二步是Brcc32編譯為Res文件后用上面的方法得到Dll文件。下面來(lái)應(yīng)用一下:新建一個(gè)工程,放上五個(gè)Button:BtnOpen、BtnSave、BtnBig5、BtnGb32和BtnHelp,還有一個(gè)

TComboBox:CbSelect用來(lái)選擇語(yǔ)言種類(lèi)的。具體代碼如下:unitUnitl;interfaceprivateSHelp:string;functionSearchLanguagePack:TStrings;

procedureSetActiveLanguage(LanguageName:string);{Privatedeclarations}implementationprocedureTForm1.CbSelectChange(Sender:TObject);

beginSetActiveLanguage(CbSelect.Text);//調(diào)用相應(yīng)Dll文件讀取相應(yīng)字符.end;procedureTForm1.FormCreate(Sender:TObject);beginCbSelect.ltems.AddStrings(SearchLanguagePack);//搜索當(dāng)前目錄下所有的Dll文件名稱(chēng)

end;functionTForml.SearchLanguagePack:TStrings;varResultstrings:TStrings;DosError:integer;

SearchRec:TsearchRec;beginResultstrings:=TStringList.Create;DosError:=FindFirst(ExtractFilePath(ParamStr(O))+'*.dll',faAnyFile,SearchRec);

whileDosError=0dobegin

ResultStrings.Add(ChangeFileExt(SearchRec.Name,"));DosError:=FindNext(SearchRec);

end;FindClose(SearchRec);Result:=ResultStrings;end;procedureTForm1.SetActiveLanguage(LanguageName:string);varHdll:Hmodule;MyChar:array[0..254]ofchar;DllFileName:string;beginDllFileName:=ExtractFilePath(ParamStr(0))+LanguageName+'.dll';

ifnotFileExists(DllFileName)thenExit;

Hdll:=loadlibrary(Pchar(DIIFileName));Loadstring(hdll,1,MyChar,254);Self.Caption:=MyChar;〃讀取字符資源,1表示資源文件中定義的1Loadstring(hdll,1,MyChar,254);Self.Caption:=MyChar;Loadstring(hdll,2,MyChar,254);BtnOpen.Caption:=MyChar;Loadstring(hdll,3,MyChar,254);BtnSave.Caption:=MyChar;Loadstring(hdll,4,MyChar,254);BtnBig5.Caption:=MyChar;Loadstring(hdll,5,MyChar,254);BtnGb32.Caption:=MyChar;Loadstring(hdll,6,MyChar,254);BtnHelp.Caption:=MyChar;Loadstring(hdll,7,MyChar,254);SHelp:=MyChar;Freelibrary(hdll);Application.Title:=Self.Caption;BtnOpen.Visible:=True;BtnSave.Visible:=True;BtnBig5.Visible:=True;BtnGb32.Visible:=True;BtnHelp.Visible:=True;end;procedureTForm1.BtnHelpClick(Sender:TObject);beginApplication.MessageBox(Pchar(SHelp),'Http://',MB_ICONINFORM

ATION);end;end.可能你會(huì)說(shuō),這種方法還不如我自己在程序中直接定義三種具體的值來(lái)的方便。甚至我自己自定義一個(gè)結(jié)構(gòu)好了,用不著用DLL那么麻煩的。但是如果你的程序要用的字符很多呢?比如說(shuō)Windows操作系統(tǒng),本身就有簡(jiǎn)體中文、繁體中文、英文等版本,用Dll的話(huà)只要直接替換DLL即可,而不用每發(fā)行一個(gè)版本就打開(kāi)代碼來(lái)修改一次。這樣一來(lái)可以大大減少工作量和出錯(cuò)的機(jī)會(huì)。說(shuō)到這里,再多說(shuō)一句:Windows系統(tǒng)本身很多Dll帶有了圖片等資源,我們可以在程序中直接調(diào)用,這樣一來(lái)我們的EXE也可以減少不少!當(dāng)然最小的方法是實(shí)時(shí)生成技術(shù)。老外曾經(jīng)寫(xiě)了一個(gè)67KB的程序就是利用了這個(gè)方法,感興趣的朋友可以到/lovejingtao/ha1.exe下載。三、高級(jí)應(yīng)用篇Delphi是個(gè)很有效率的開(kāi)發(fā)工具,但是它有一個(gè)缺點(diǎn)就是生成的EXE文件太大。一個(gè)程序就算

只有一個(gè)空窗口體積也有286KB。如果直接用API來(lái)寫(xiě)的話(huà)程序體積是小了,但是又太繁瑣,無(wú)法立即

看到界面效果,根本談不上是可視化開(kāi)發(fā)。其實(shí)并非“魚(yú)與熊掌不可兼得”,利用資源文件我們就可以輕松

達(dá)到這個(gè)目的。在開(kāi)始之前,我們需要一個(gè)可以編輯資源文件的工具。這類(lèi)工具很多,比如說(shuō)

ResourceWorkShop就是非常好的一個(gè)。如果一時(shí)找不到,利用VC的編輯器來(lái)也是可以的。下面我們

就以VC的為例示范如何創(chuàng)建一個(gè)窗口資源文件。運(yùn)行VC,打開(kāi)菜單“File/New",將出現(xiàn)一個(gè)多項(xiàng)選擇頁(yè)。我們選擇“Files/ResourceTemplate",在右邊的File填上Demo,Location選擇保存路徑,然后點(diǎn)擊按鈕OK返回VC開(kāi)發(fā)環(huán)境。選擇菜單“Insert/Resource”,將出現(xiàn)一個(gè)資源類(lèi)型選擇框。我們把鼠標(biāo)移到Dialog上面,不用展

開(kāi),點(diǎn)擊右邊的New即可,這時(shí)候返回VC開(kāi)發(fā)環(huán)境并出現(xiàn)一個(gè)只有關(guān)閉按鈕和兩個(gè)Button的窗體。將

鼠標(biāo)選定窗體,擊右鍵選擇最后一項(xiàng)Properties,將出現(xiàn)一個(gè)設(shè)置窗口,將ID改為“MAINFORM”(注意:

跟下面添加的其它控件的屬性設(shè)置方法不同,主窗口的ID必須把雙引號(hào)寫(xiě)上去,而且名稱(chēng)必須為大寫(xiě)。

否則程序?qū)⒄也坏劫Y源。程序會(huì)一運(yùn)行就退出了。)Caption改為“安裝程序”,這時(shí)候可以立刻看到窗口

的標(biāo)題變成了“安裝程序”,把Styles的Minimizebox選上,MoreStyles的Center勾上使程序運(yùn)行時(shí)的位

置居中。當(dāng)然你也可以設(shè)置它的坐標(biāo),其它保留默認(rèn)值即可?;氐介_(kāi)發(fā)環(huán)境,在控件框里面分別選擇一個(gè)

StaticText,一個(gè)EditBox,一個(gè)Button和一個(gè)GroupBox添加到窗體上面,把它們按照自己的愛(ài)好排

列整齊,然后逐個(gè)修改它們的屬性。方法就是按照上面說(shuō)的選定控件后擊右鍵選擇最后一項(xiàng)Properties,

在出現(xiàn)的屬性框里面修改。其中屬性如下:GroupBox的Caption屬性清空,StaticText的Caption屬性

改為“請(qǐng)選擇安裝目錄:”,EditBox的ID改為10001,第一個(gè)Button的ID為10002,Caption屬性為“選

擇”,第二個(gè)Button的ID為10003,Caption屬性為“安裝”,第三個(gè)Button的ID為10004,Caption屬性

為“退出”。為了使程序更加完美,我們?yōu)樗偬砑右粋€(gè)菜單IDR_MENU1。選擇“Insert/Resource/Menu”,我們這里只簡(jiǎn)單添加一項(xiàng)“文件/退出”,其中“退出”的ID為10005。然后在主窗口的屬性Menu設(shè)定為IDR_MENU1即可。為了使程序更加美觀,我們?cè)偬砑右粋€(gè)小圖標(biāo),同時(shí)這也將是我們程序的圖標(biāo)。選擇

“Insert/Resource/lconv/Import”,選擇一個(gè)圖標(biāo)文件,并將它的ID設(shè)置為"MAINICON"(注意:必須把雙引

號(hào)寫(xiě)上而且字母為大寫(xiě)),為窗口添加一個(gè)Picture控件并設(shè)置它的屬性Type:lcon,Image下拉選擇剛才

的圖標(biāo)Mainlcon即可。如果你想為程序在鼠標(biāo)添加一些信息也是可以的。選擇“Insert/Resource/Version”即可。到這里

我們已經(jīng)完成了一個(gè)簡(jiǎn)單的“安裝程序”的窗體設(shè)計(jì),實(shí)際上我們現(xiàn)在就可以在Delphi中調(diào)用它了。我們先

把勞動(dòng)成果”保存起來(lái),選擇“File/SaveAs”,在文件類(lèi)型里選擇“32-bitResourceFile(.res)”保存為

“Demo.res”,文件大小大約為2.65KB。新建一個(gè)擴(kuò)展名為dpr的文本文件MyDemo.Dpr,鍵入如下代碼:UsesWindows,Messages;{$RDemo.Res}functionMainDialogProc(DlgWin:hWnd;DlgMessage:UINT;DlgWParam:WPARAM;DlgLParam:LPARAM):integer;stdcall;beginResult:=0;caseDlgMessageofWM_Close:beginPostQuitMessage(0);Exit;end;end;end;beginDialogBox(hlnstance,'MAINFORM',0,@MainDialogProc);end.用Delphi打開(kāi)它編譯一次即可產(chǎn)生一個(gè)大小為19KB的EXE。是不是很?。?!實(shí)際上,你甚至

只用一行代碼就把它Show出來(lái),不過(guò)程序無(wú)法關(guān)閉而已:UsesWindows;{$RDemo.Res}

functionMainDialogProc:integer;beginResult:=0;end;beginDialogBox(hlnstance,'MAINFORM',0,@MainDialogProc);end.上面的程序只不過(guò)是一個(gè)空窗口而已,現(xiàn)在我們來(lái)寫(xiě)代碼響應(yīng)按下相應(yīng)按鈕響應(yīng)的事件。完整代

碼如下:programMyDemo;

usesWindows,Messages,shlobj;constID_Edit=10001;ID_Selet=10002;ID_Setup=10003;ID_Quit=10004;ID_Exit=10005;{$RDemo.Res}varMainWin:HWND;functionMy_Gettext:string;varTextlength:Integer;Text:PChar;s:string;beginTextLength:=GetWindowTextLength(GetDlgltem(MainWin,ID_Edit));GetMem(Text,TextLength+1);GetWindowText(GetDlgItem(MainWin,ID_Edit),Text,TextLength+1);s:=text;FreeMem(Text,TextLength+1);Result:=s;end;functionGetmyname:string;vari,j:integer;beginJ:=3;fori:=1tolength(ParamStr(O))doifParamStr(O)[i]=''thenJ:=I;Result:=copy(ParamStr(O),J+1,length(ParamStr(0))-J);end;functionSelectDirectory(handle:hwnd;constCaption:string;constRoot:WideString;outDirec

tory:string):Boolean;varlpbi:_browseinfo;buf:array[O..MAX_PATH]ofchar;id:ishellfolder;eaten,att:cardinal;rt:pitemidlist;initdir:pwidechar;beginresult:=false;lpbi.hwndOwner:=handle;lpbi.lpfn:=nil;lpbi.lpszTitle:=pchar(caption);lpbi.ulFlags:=BIF_RETURNONLYFSDIRS+BIF_EDITBOX;SHGetDesktopFolder(id);initdir:=pwchar(root);id.ParseDisplayName(0,nil,initdir,eaten,rt,att);lpbi.pidlRoot:=rt;

getmem(lpbi.pszDisplayName,MAX_PATH);tryresult:=shgetpathfromidlist(shbrowseforfolder(lpbi),buf);exceptfreemem(lpbi.pszDisplayName);end;

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論