![InstallShield使用說明.doc_第1頁](http://file.renrendoc.com/FileRoot1/2020-1/13/69f35fe9-b7fb-4693-a518-dcbc169347c4/69f35fe9-b7fb-4693-a518-dcbc169347c41.gif)
![InstallShield使用說明.doc_第2頁](http://file.renrendoc.com/FileRoot1/2020-1/13/69f35fe9-b7fb-4693-a518-dcbc169347c4/69f35fe9-b7fb-4693-a518-dcbc169347c42.gif)
![InstallShield使用說明.doc_第3頁](http://file.renrendoc.com/FileRoot1/2020-1/13/69f35fe9-b7fb-4693-a518-dcbc169347c4/69f35fe9-b7fb-4693-a518-dcbc169347c43.gif)
![InstallShield使用說明.doc_第4頁](http://file.renrendoc.com/FileRoot1/2020-1/13/69f35fe9-b7fb-4693-a518-dcbc169347c4/69f35fe9-b7fb-4693-a518-dcbc169347c44.gif)
![InstallShield使用說明.doc_第5頁](http://file.renrendoc.com/FileRoot1/2020-1/13/69f35fe9-b7fb-4693-a518-dcbc169347c4/69f35fe9-b7fb-4693-a518-dcbc169347c45.gif)
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
前言2001-01-18 addingyesky在DOS時(shí)代,人們不會(huì)忘記,想要制作一個(gè)應(yīng)用程序的安裝往往是通過批處理文件來實(shí)現(xiàn)的,這種風(fēng)格的安裝程序常常令人們樂此不疲。直到UCDOS圖形安裝界面的出現(xiàn),才讓人感到一些新意,并為之一振。然而不久,具有易學(xué)易用的圖形用戶界面、多任務(wù)功能的Windows系統(tǒng)出現(xiàn)了,并大有取代DOS的趨勢(shì)。直到Windows 95的問世,才使得DOS真正變?yōu)檫^去,成為PC機(jī)上最流行的操作環(huán)境,并且隨著Windows 98與Internet Explorer集成的新特性的引入,越來越多的程序員已開始致力于Windows應(yīng)用程序的研究與開發(fā)。同樣,安裝程序的運(yùn)行環(huán)境也由原來的DOS變成了現(xiàn)在的Windows系統(tǒng)。安裝一個(gè)軟件或應(yīng)用程序已不再僅僅是將相關(guān)的文件復(fù)制到硬盤中,而是必須允許用戶按自己的愿望選擇安裝類型和安裝路徑,并且在不需要的時(shí)候,還要能夠?qū)惭b的相關(guān)內(nèi)容全部刪除掉。這種Windows下的安裝程序給人們留下了很深的印象,人們?cè)隗@嘆Office 2000強(qiáng)大的安裝功能和悅目的安裝界面之后,已無法維持對(duì)DOS安裝程序的留戀。InstallShield恰恰是在這種操作系統(tǒng)不斷發(fā)展的潮流中應(yīng)運(yùn)而生的,從InstallShield3.0到5.5,從普通的安裝程序制作到最新的Windows安裝界面,InstallShield公司已開發(fā)出基本各種操作平臺(tái)和軟件開發(fā)環(huán)境的InstallShield產(chǎn)品。InstallShield for Microsoft Visual C+6(簡(jiǎn)稱InstallShield VC版)和InstallShield Express Custom Edition for C+ Builder或Delphi(簡(jiǎn)稱InstallShield Express C+ Builder或Delphi版)就是其中用戶較為熟悉的產(chǎn)品。由于InstallShield功能強(qiáng)大、靈活性好、完全可擴(kuò)展以及具有強(qiáng)有力的網(wǎng)絡(luò)支持,在各種安裝程序開發(fā)工具中脫穎而出,成為目前最為流行的制作安裝程序的工具軟件。而且,它所內(nèi)建的腳本語言InstallScript使得用戶可以像其他高級(jí)語言那樣靈活地構(gòu)造出自己的安裝腳本程序來。正是因?yàn)檫@一點(diǎn),InstallShield已經(jīng)成為目前制作安裝程序的工業(yè)標(biāo)準(zhǔn)。用戶所熟悉的Visual Studio 98、Borland C+ Builder(Delphi)以及目前絕大多數(shù)的軟件安裝程序均是用InstallShield來制作的。由于InstallShield 5.5還支持Visual Basic 6.0,故本教程以InstallShield 5.5專業(yè)版為主,并從應(yīng)用出發(fā),深入詳實(shí)地討論制作一般應(yīng)用類和數(shù)據(jù)庫(kù)類安裝程序的方法、技巧以及InstallScript語言基礎(chǔ),且在InstallShield用戶界面函數(shù)的基礎(chǔ)上,挖掘其運(yùn)用能力,最大地發(fā)揮InstallShield的定制和擴(kuò)展?jié)撃?,?gòu)造出頗具創(chuàng)意、功能完善的安裝界面來。本教程主要講述InstallShield開發(fā)環(huán)境、InstallScript腳本語言基礎(chǔ)、基本安裝程序的建立、安裝界面的設(shè)計(jì)以及深入安裝程序制作等共五章內(nèi)容。各章內(nèi)容并不停留在初學(xué)者的水平上,而且在制作安裝程序的每個(gè)方面,都給出了更高、更深層次的方法,例如安裝對(duì)話框的定制、使用自己的DLL庫(kù)、操作注冊(cè)表、安裝界面的漢化、使用多媒體、反安裝以及安裝程序的調(diào)試等。為了幫助讀者充分掌握InstallShield特性,本書給出大量有用的實(shí)例,這些實(shí)例均以Ex_xxxx命名,并在Windows 98、InstallShield 5.5專業(yè)版本調(diào)試通過。由于在軟件開發(fā)環(huán)境和操作系統(tǒng)未來發(fā)展的幾年里,Windows 98/2000以及VC+、C+ Builder、VB等還仍將是主流。在這種契機(jī)下,適時(shí)地將InstallShield 5.5的使用方法和技巧奉獻(xiàn)給大家,必將對(duì)廣大的程序員、軟件開發(fā)者和愛好者有所幫助。由于時(shí)間倉(cāng)促,加之作者水平有限,不當(dāng)之處在所難免,懇請(qǐng)讀者批評(píng)指正。 感謝天極網(wǎng)及趙家雄、方舟先生,沒有他們此教程不可能在網(wǎng)上出版。感謝一直關(guān)心和支持此項(xiàng)工作的家人和朋友們,尤其是我的妻子。 集成開發(fā)環(huán)境概述2001-01-18 adding yesky在Windows 95/98/NT操作系統(tǒng)中正確安裝了InstallShield 5.5專業(yè)版后,就可以單擊任務(wù)欄的開始,選擇程序中的InstallShield 5.5 Professional Edition,再選擇該程序文件夾下的InstallShield 5.5 Professional Edition就能運(yùn)行InstallShield。第一次運(yùn)行時(shí),彈出如圖1.1所示的界面。但當(dāng)利用Project Wizard(項(xiàng)目向?qū)?或其他工具創(chuàng)建一個(gè)安裝項(xiàng)目后,就會(huì)出現(xiàn)InstallShield 5.5的完整界面,如圖1.2所示。它是由標(biāo)題欄、菜單欄、工具欄、項(xiàng)目工作區(qū)窗口、文檔窗口、輸出窗口以及狀態(tài)欄等組成的。標(biāo)題欄是用來顯示出當(dāng)前窗口中的文件名,而且一般還有最小化、最大化或還原以及關(guān)閉按鈕,單擊關(guān)閉按鈕將退出集成開發(fā)環(huán)境。菜單欄包含了集成開發(fā)環(huán)境中幾乎所有的命令,它為用戶提供了文檔操作、安裝腳本程序的編譯、調(diào)試、窗口操作等一系列的功能。由于工具欄比菜單操作更為便捷,故常常將一些常用菜單命令也同時(shí)安排在工具欄上。項(xiàng)目工作區(qū)窗口包含用戶安裝項(xiàng)目的一些信息,包括文件組、組件、腳本文件、資源等。在項(xiàng)目工作區(qū)窗口中的目錄項(xiàng)或圖標(biāo)處單擊鼠標(biāo)右鍵,有時(shí)還會(huì)彈出相應(yīng)的快捷菜單,它包含當(dāng)前狀態(tài)下的一些常用操作。文檔窗口位于集成開發(fā)環(huán)境中的右邊,腳本文件、資源文件以及安裝程序所需要的各種資源等都可以通過該窗口顯示出來。輸出窗口出現(xiàn)在集成開發(fā)環(huán)境窗口的底部,它包含了Build和Compile兩個(gè)頁面,分別用來顯示建立和編譯過程中的相關(guān)信息。狀態(tài)欄位于集成開發(fā)環(huán)境的最底部,它用來顯示當(dāng)前操作狀態(tài)、說明、文本光標(biāo)所在的行列號(hào)等信息。菜單欄和工具2001-01-17 addingyesky1.2.1 菜單欄在集成開發(fā)環(huán)境界面中,用戶可以看到在它的上方排列著一系列的菜單,而每一個(gè)菜單下都有各自的菜單命令。在進(jìn)一步與集成開發(fā)環(huán)境打交道之前,先了解各項(xiàng)菜單命令的基本功能是很有必要的,因?yàn)榇蟛糠值牟僮鞫际峭ㄟ^菜單來完成的。InstallShield 5.5的菜單欄中包含了File(文件)、Edit(編輯)、View(查看)、Insert(插入)、Project(項(xiàng)目)、Build(編譯)、Tools(工具)、Windows(窗口)以及Help(幫助)等菜單。其中File、Edit、View、Windows和Help均與一般Windows應(yīng)用程序的菜單用法相同。這里僅對(duì)Insert、Project、Build和Tools菜單作簡(jiǎn)單說明。Insert菜單Insert菜單中的命令主要用于項(xiàng)目及資源的創(chuàng)建和添加,它有三個(gè)菜單項(xiàng):File into Script Files.、File into Setup Files.和Links into File Groups.,分別表示將某個(gè)文件插入腳本文件和安裝文件中以及鏈接到文件組中。一般情況,這三個(gè)菜單項(xiàng)是被禁用的。當(dāng)切換到項(xiàng)目工作區(qū)窗口的Scripts頁面并選定其中的腳本文件目錄項(xiàng)時(shí),菜單項(xiàng)File into Scripts Files被激活;當(dāng)切換到項(xiàng)目工作區(qū)窗口的Setup Files頁面并選定其中的目錄項(xiàng)時(shí),菜單項(xiàng)Files into Setup Files被激活;而當(dāng)切換到項(xiàng)目工作區(qū)窗口的File Groups頁面并選中其中的Links目錄項(xiàng)時(shí),菜單項(xiàng)Links into File Groups被激活。Project菜單Project菜單中的命令主要用于項(xiàng)目的創(chuàng)建和相關(guān)內(nèi)容的設(shè)置,它有三個(gè)菜單項(xiàng):Project Wizard、Visual Basic Project Wizard和Setting,分別用來創(chuàng)建一般安裝項(xiàng)目、VB應(yīng)用程序安裝項(xiàng)目以及項(xiàng)目相關(guān)內(nèi)容的設(shè)置。Build菜單Build菜單中的命令主要用來進(jìn)行安裝程序的編譯、連接、調(diào)試、運(yùn)行等操作,它包括這樣的菜單命令:Compile(編譯)、Run Setup(運(yùn)行)、Debug Setup(調(diào)試)、Media(媒介)、Settings.( 設(shè)置調(diào)試和編譯時(shí)的參數(shù))。Tools菜單Tools菜單中的命令主要是一些用于運(yùn)行或定制開發(fā)環(huán)境中的實(shí)用工具,如圖1.3所示。值得一提的是,隨著集成開發(fā)環(huán)境當(dāng)前狀態(tài)的改變,有些菜單中的菜單命令項(xiàng)還會(huì)隨之變化。例如,當(dāng)文檔窗口沒有任何腳本程序時(shí),許多菜單項(xiàng)都是灰色的,用戶不能使用它們。此外,InstallShiled 5.5與其他Windows應(yīng)用程序一樣,其菜單系統(tǒng)一般都遵循下列一些相同的規(guī)則:(1) 打開InstallShiled 5.5的File菜單,會(huì)看到Open菜單項(xiàng)文本后有,若選擇該菜單命令,則彈出通用文件打開對(duì)話框。因此,菜單文本后有就表示其執(zhí)行結(jié)果是將彈出相應(yīng)的對(duì)話框。(2) 在File菜單文本中,其中F字母帶下劃線。它表示該菜單項(xiàng)的助記符是F,當(dāng)按住Alt鍵不放,再敲擊該字母時(shí),對(duì)應(yīng)的菜單項(xiàng)就會(huì)被選中。(3) 在Open菜單文本后有Ctrl+O字樣,任何時(shí)候,先按下Ctrl健不放,然后再按O鍵就執(zhí)行Open菜單項(xiàng)命令,彈出通用文件打開對(duì)話框。這表明Ctrl+O和該菜單項(xiàng)命令是一致的,Ctrl+O稱為該菜單項(xiàng)的快捷鍵。1.2.2 工具欄 盡管菜單命令可以完成各種操作,其相應(yīng)的快捷鍵也可提高操作的效率。但是,菜單命令的操作相對(duì)繁瑣,快捷鍵又需要用戶加以記憶,所以,有時(shí)候用起來還略嫌不便。而工具欄是一種圖形化的操作界面,具有直觀和快捷的特點(diǎn),熟練掌握工具欄的使用后,工作效率將大有提高。工具欄是一系列工具按鈕的組合。當(dāng)鼠標(biāo)指針停留在工具欄按鈕的上面時(shí),按鈕凸起,主窗口底端的狀態(tài)欄上顯示出該按鈕的一些提示信息,并且如果指針停留時(shí)間長(zhǎng)一些,就會(huì)出現(xiàn)一個(gè)小的彈出式的工具提示窗口,顯示出按鈕的名稱。工具欄上的按鈕通常和一些菜單命令相對(duì)應(yīng),提供了一種執(zhí)行經(jīng)常使用的命令的快捷方法。同菜單中的菜單命令項(xiàng)相似,當(dāng)菜單命令項(xiàng)禁止使用時(shí),相應(yīng)的工具按鈕也是灰色的,用戶不能使用它們。InstallShield 5.5的工具欄如圖1.4所示。1.3.1 Scripts頁面項(xiàng)目工作區(qū)窗口的Scripts頁面用來管理安裝程序的腳本文件,在該頁面中各項(xiàng)腳本文件均以樹狀列表的型式顯示出來的。每個(gè)目錄項(xiàng)前都有一個(gè)圖標(biāo),且頂層目錄項(xiàng)前還有一個(gè)套在方框中的符號(hào)+。雙擊頂層目錄項(xiàng)或單擊最前面的+,則直接打開并顯示該目錄項(xiàng)的所有子項(xiàng),此時(shí)頂層目錄項(xiàng)前的+變成-號(hào);再雙擊頂層目錄項(xiàng)或單擊最前面的-,則該項(xiàng)目的所有子項(xiàng)被收縮,只顯示頂層目錄項(xiàng)內(nèi)容,此時(shí)頂層項(xiàng)目前的-又變成了原來的+號(hào)。展開頂層目錄項(xiàng)的所有子項(xiàng),雙擊以.rul為擴(kuò)展名的腳本文件項(xiàng),則在開發(fā)環(huán)境的右邊的文檔窗口中顯示出該腳本文件的內(nèi)容。為了增強(qiáng)安裝程序代碼的可讀性,腳本文件的源代碼內(nèi)容往往是以不同顏色來顯示的,各種顏色所代表的含義如下所示:白底黑字 一般文本黑底白字 被選定的文本青色底黑色字 文本的行標(biāo)記白底紅字 InstallShield的函數(shù)白底藍(lán)字 InstallScript腳本語言的關(guān)鍵字白色底品紅色字 常數(shù)白色底紫紅色字 用符號(hào)括起來的文本內(nèi)容白底綠字 注釋1.3.2 Components頁面項(xiàng)目工作區(qū)窗口的Components頁面用來管理安裝程序的各項(xiàng)組件。缺省時(shí),一個(gè)安裝項(xiàng)目通常有程序文件(Program Files)、示例文件(Example Files)、幫助文件(Help Files)以及共享的DLL文件(Shared DLLs)共四個(gè)組件。雙擊某個(gè)組件目錄項(xiàng),則在主界面的右邊窗口中顯示出該組件相關(guān)屬性的完整列表,這些屬性都可以方便地進(jìn)行相應(yīng)的修改。1.3.3 Setup Types頁面 項(xiàng)目工作區(qū)窗口的Setup Types頁面用來管理提供給用戶的安裝類型。缺省時(shí),一個(gè)安裝項(xiàng)目通常有Typical(典型)、 Compact(緊湊)和Custom(定制)共三種安裝類型。雙擊某種安裝類型,則在主界面的右邊窗口中顯示出該安裝類型相關(guān)的組件。在組件中,凡是文件組前面有一個(gè)帶鉤號(hào)()的圖標(biāo),表示該文件組已被選入相應(yīng)的安裝類型中。反復(fù)雙擊文件組前面的圖標(biāo)可在選入和不選之間進(jìn)行切換。1.3.4 Setup Files頁面 項(xiàng)目工作區(qū)窗口的Setup Files頁面用來管理在安裝過程中所需要的安裝文件,它通常有含有下面一些內(nèi)容。(1) Splash Screen(啟動(dòng)畫面)InstallShield用Setup.bmp作為安裝程序的啟動(dòng)畫面。若在不同的語系(中文、English)中放置各自的位圖文件,則安裝程序?qū)⒏鶕?jù)安裝環(huán)境的不同語系選用相應(yīng)的Setup.bmp;若將該文件放置在Language Independent(與語系無關(guān))目錄項(xiàng)中,則不管操作系統(tǒng)是何種語系,都將以此位圖文件作為程序安裝的啟動(dòng)畫面。(2) Language Independent(與語系無關(guān))它允許用戶為各種操作系統(tǒng)或?qū)iT為Windows 95/98/NT操作系統(tǒng)指定相應(yīng)的安裝文件,這樣不管怎樣的語系,安裝程序都會(huì)根據(jù)相應(yīng)的操作系統(tǒng)來揀選相應(yīng)的文件。(3) (3)其他語系相關(guān)的文件它允許用戶為各種操作系統(tǒng)或?qū)iT為Windows 95/98/NT操作系統(tǒng)指定相應(yīng)的安裝文件,這樣安裝程序會(huì)根據(jù)相應(yīng)的語系和語系下的操作系統(tǒng)來揀選相應(yīng)的文件。(4) Advanced Files(高級(jí)文件)在用具體的媒介發(fā)布時(shí),允許用戶在相應(yīng)的媒介中放置一些非壓縮文件。1.3.5 File Groups頁面 項(xiàng)目工作區(qū)窗口的File Groups頁面用來管理安裝項(xiàng)目所需要的文件組。缺省時(shí),安裝程序項(xiàng)目通常有Example Files(示例文件組)、Help Files(幫助文件組)、Program DLLs(應(yīng)用程序所需的DLL文件組)、Program Executable Files(應(yīng)用程序文件組)以及Shared DLLs(共享DLL文件組)共五個(gè)文件組。雙擊某個(gè)文件組,則在主界面的右邊窗口中顯示出該文件組的相關(guān)屬性,用戶可以方便地進(jìn)行修改。1.3.6 Resources頁面 項(xiàng)目工作區(qū)窗口的Resources頁面用來管理安裝項(xiàng)目所需要的安裝資源。缺省時(shí),一個(gè)安裝項(xiàng)目通常有String Table(字符串表)、Registry Entries(注冊(cè)項(xiàng))和Shell Objects(外殼對(duì)象)共三種資源,其中Shell Objects資源是在Windows 95/98和Windows NT 4.0及其以后操作系統(tǒng)中創(chuàng)建被安裝應(yīng)用程序的程序文件夾(Folder命令)、桌面圖標(biāo)或相應(yīng)的快捷方式(Shortcut命令)。1.3.7 Media頁面項(xiàng)目工作區(qū)窗口的Media頁面用來管理程序發(fā)布時(shí)的媒介。在該頁面中包含Media Build Wizard(媒介創(chuàng)建向?qū)?、缺省的媒介以及用戶新創(chuàng)建的媒介等項(xiàng),單擊Media Build Wizard將開始媒介創(chuàng)建向?qū)?,用來?chuàng)建新的媒介。需要說明的是:在各個(gè)頁面中,右擊鼠標(biāo)時(shí)都會(huì)彈出相應(yīng)的快捷菜單,它包含當(dāng)前狀態(tài)下的一些常用操作。 集成開發(fā)環(huán)境的初步實(shí)踐2001-01-18 addingyesky前面介紹了關(guān)于集成開發(fā)環(huán)境的一些基本情況,這里以空類型的安裝項(xiàng)目為例,進(jìn)一步說明集成開發(fā)環(huán)境的使用過程。1.4.1 創(chuàng)建一個(gè)空的安裝項(xiàng)目在InstallShield 5.5中,利用Project Wizard(安裝項(xiàng)目向?qū)?和安裝項(xiàng)目模板可以創(chuàng)建Windows應(yīng)用程序、數(shù)據(jù)庫(kù)應(yīng)用程序以及其他類型程序的安裝項(xiàng)目。這里,我們首先對(duì)空類型的安裝項(xiàng)目作簡(jiǎn)單說明,其他安裝項(xiàng)目類型將在以后的章節(jié)中陸續(xù)介紹。一個(gè)空類型的安裝項(xiàng)目包含了一般安裝項(xiàng)目的基本框架,只是安裝腳本文件中沒有相應(yīng)的安裝程序代碼,因而不執(zhí)行任何操作。創(chuàng)建一個(gè)空類型的安裝項(xiàng)目的最大好處是可以幫助用戶熟悉和掌握InstallScript語言的用法,并由此編制出簡(jiǎn)繁隨意的安裝程序來。在InstallShield 5.5中,想要?jiǎng)?chuàng)建一個(gè)空類型的安裝項(xiàng)目,只需選擇File菜單-New菜單命令,在New對(duì)話框中選定Blank Setup,并單擊確定按鈕即可,如圖1.5所示。此時(shí),InstallShield 5.5自動(dòng)為該安裝項(xiàng)目命名為Blank Setup,并定位到項(xiàng)目工作區(qū)窗口的Scripts頁面,而且還在集成開發(fā)環(huán)境的右邊窗口中打開相應(yīng)的腳本文件。1.4.2 添加代碼 在空類型安裝項(xiàng)目的腳本文件中,一開始是沒有相應(yīng)的安裝程序內(nèi)容的,它需要用戶添加一些代碼,例如:.program / 每個(gè)安裝腳本程序都是以program開始SprintfBox(INFORMATION, 問候, %s, 您好! ); / 消息對(duì)話框endprogram / 每個(gè)安裝腳本程序都是以endprogram結(jié)束1.4.3 編譯并運(yùn)行 打開Build菜單,選擇Compile菜單項(xiàng)或按快捷鍵Ctrl+F7,系統(tǒng)開始對(duì)Blank Setup進(jìn)行編譯,同時(shí)在輸出窗口中在線地顯示出編譯過程的情況,當(dāng)出現(xiàn)Done - 0 error(s), 0 warning(s)字樣時(shí),表示Blank Setup安裝程序可以被運(yùn)行了。在Build菜單中選取Run Setup菜單命令或按快捷鍵Ctrl+F5,就可以運(yùn)行Blank Setup安裝項(xiàng)目。運(yùn)行剛開始,出現(xiàn)Setup對(duì)話框,用來顯示準(zhǔn)備安裝向?qū)У倪M(jìn)展情況,如圖1.6。然后才執(zhí)行前面添加的程序代碼,其結(jié)果如圖1.7所示。本章著重介紹了InstallShield 5.5的集成開發(fā)環(huán)境,并以空類型的安裝項(xiàng)目為例簡(jiǎn)單地說明了安裝腳本程序的添加、編譯、運(yùn)行的過程。下一章將討論InstallScript腳本語言的基礎(chǔ)內(nèi)容。第 2 章 InstallScript腳本語言基礎(chǔ)2001-01-19 addingyeskyInstallScript是專門用來編寫InstallShield安裝程序的腳本語言。由于InstallScript和C語言極為相似,因而使得Visual C+用戶編寫安裝腳本程序頗為得心應(yīng)手。即使對(duì)于沒有任何語言基礎(chǔ)的用戶來說,編寫InstallScript程序也不會(huì)覺得無從下手,因?yàn)镮nstallScript程序結(jié)構(gòu)是非常簡(jiǎn)單的。并且,InstallScript為用戶提供了超過250個(gè)的內(nèi)部函數(shù),從而使得用戶不需要太多的代碼就能編寫出具有專業(yè)水準(zhǔn)的安裝程序來。2.1 InstallScript程序結(jié)構(gòu)同其他程序設(shè)計(jì)語言一樣,InstallScript腳本語言也有自己的程序結(jié)構(gòu)。2.1.1 幾個(gè)InstallScript程序下面先來看看幾個(gè)比較簡(jiǎn)單的InstallScript程序。例Ex_Hello 一個(gè)簡(jiǎn)單的InstallScript程序,用來彈出問候?qū)υ捒颉TRING szTitle;programszTitle = 問候;SetDialogTitle (DLG_MSG_INFORMATION, szTitle);MessageBox(您好!, INFORMATION );endprogram 程序中,program.endprogram構(gòu)成主程序體,每一個(gè)InstallScript程序中都必須包含一個(gè)且只有一個(gè)這樣的主程序體。在主程序體外,只能是變量定義、用戶函數(shù)定義以及預(yù)處理指令等,而程序體內(nèi)可以包括若干條語句,每一條語句都由分號(hào);結(jié)束。本例中,SetDialogTitle和MessageBox都是InstallScript的內(nèi)部函數(shù),它們分別用來設(shè)置對(duì)話框的標(biāo)題和顯示指定的信息文本,INFORMATION是一個(gè)系統(tǒng)預(yù)定義的常量,szTitle變量是在程序體外定義的字符串變量。例Ex_Func 自已定義一個(gè)函數(shù),用來顯示消息對(duì)話框。STRING szTitle; / 定義一個(gè)字符串變量prototype MyMessage(STRING, STRING); / 自定義函數(shù)的聲明programszTitle = 問候;MyMessage(szTitle, 您好!);endprogramfunction MyMessage(szTitle, szMessage) /* MyMessage函數(shù)體 */beginSetDialogTitle (DLG_MSG_INFORMATION, szTitle);MessageBox(szMessage, INFORMATION );end;盡管本例的結(jié)果和Ex_Hello示例相同,但它使用了自定義函數(shù)MyMessage。InstallScript語言規(guī)定,一個(gè)自定義函數(shù)名必須在program關(guān)鍵字前面聲明,而函數(shù)體代碼的實(shí)現(xiàn)代碼必須在endprogram后進(jìn)行,且每個(gè)自定義的函數(shù)體都必須以begin開始end結(jié)束(注意end后要有分號(hào);)。程序中的/*.*/之間的內(nèi)容或/開始一直到行尾的內(nèi)容是用來注釋的,它的目的只是為了提高程序的可讀性,對(duì)編譯和運(yùn)行并不起作用。正是因?yàn)檫@一點(diǎn),注釋的內(nèi)容可以用漢字來表示,也可以用英文來說明,只要便于理解就行。例Ex_Include 使用包含文件。#include Sddialog.h;STRING szTitle, szMsg, svDir;programszTitle = SdAskDestPath Example;svDir = C:EXAMPLETARGET;szMsg = ; / 獲取用戶指定的安裝路徑if (SdAskDestPath(szTitle, szMsg, svDir, 0) = NEXT) thenTARGETDIR = svDir;endif;/ 顯示用戶指定的安裝路徑SprintfBox(INFORMATION, SdAskDestPath, Successful.nnThe Target +directory is: + TARGETDIR);endprogram#include Sddialog.rul該程序是使用Sd(Script Dialog,腳本對(duì)話框)對(duì)話框函數(shù)的一個(gè)示例。InstallScript語言規(guī)定,在調(diào)用Sd對(duì)話框函數(shù)時(shí),需要在program前加上#include Sddialog.h語句,而在endprogram后加#include Sddialog.rul。與C語言相似,#include Sddialog.h和#include Sddialog.rul是InstallScript的編譯指令,稱為預(yù)處理指令。InstallScript編譯系統(tǒng)會(huì)根據(jù)預(yù)處理指令#include中的文件名,把該文件的內(nèi)容包含進(jìn)來。也就是說,實(shí)際程序的代碼長(zhǎng)度是在原來長(zhǎng)度的基礎(chǔ)上增加了Sddialog.h和Sddialog.rul文件的長(zhǎng)度。程序中,SprintfBox參數(shù)內(nèi)容中的n是換行符,即在Successful.文本后回車換行。2.1.2 InstallScript程序的基本組成 從上面的幾個(gè)示例可以看出,一個(gè)InstallScript程序往往由預(yù)處理命令、函數(shù)、語句、變量以及注釋等幾個(gè)基本部分組成的。(1) 預(yù)處理命令在InstallScript程序的一開始經(jīng)常出現(xiàn)含有以#開頭的命令,它們是預(yù)處理命令。InstallScript提供了三類預(yù)處理命令:宏定義命令、文件包含命令和條件編譯命令。(2) 函數(shù)一個(gè)InstallScript程序是由若干個(gè)函數(shù)組成的。這些函數(shù)中,有的是InstallScript系統(tǒng)中所提供的內(nèi)部函數(shù),有的是用戶根據(jù)自己需要自己編制設(shè)計(jì)的函數(shù)(如例Ex_Func中的MyMessage)。(3) 語句語句是組成程序的基本單元,它可以是用來判斷的條件語句,也可以是用來反復(fù)運(yùn)行的循環(huán)語句等。這些語句是組成InstallScript程序中的最重要部分之一。(4) 變量大多數(shù)程序離不開變量。InstallScript變量的類型比較簡(jiǎn)單,主要有數(shù)值型(NUMBER)、字符串型(STRING)以及鏈表型(LIST)等,例如例Ex_Hello中的szTitle是一個(gè)STRING型變量。(5) 注釋程序的目的不僅在于實(shí)現(xiàn)某種功能、解決某個(gè)問題,而且還在于數(shù)據(jù)結(jié)構(gòu)和算法的交流。因此在程序中添加必要的注釋是非常重要的,它能提高程序的可讀性,幫助用戶對(duì)程序的理解。需要說明的是,InstallScript不支持控制臺(tái)的輸入和輸出,數(shù)據(jù)的輸入和輸出是通過對(duì)話框進(jìn)行的。2.1.3 InstallScript程序的書寫風(fēng)格 盡管InstallScript語言比C或C+語言容易理解,但對(duì)于初學(xué)者來說,一開始就養(yǎng)成良好的編程習(xí)慣仍然是非常重要和必要的。1. 標(biāo)識(shí)符命名 標(biāo)識(shí)符是用來標(biāo)識(shí)變量名、函數(shù)名、結(jié)構(gòu)名、文件名等的有效字符序列。標(biāo)識(shí)符命名的好壞直接影響程序的可讀性,例如a1b1、c1d雖然是合法的標(biāo)識(shí)符,但卻是不好的標(biāo)識(shí)符,因?yàn)樗荒茏屓死斫馑鼈兯淼暮x。下面幾個(gè)原則是命名時(shí)所必須注意的:(1) 合法性InstallScript規(guī)定標(biāo)識(shí)符由大小寫字母、數(shù)字字符(09)和下劃線組成,且第一個(gè)字符必須為字母或下劃線。任何標(biāo)識(shí)符中都不能有空格、標(biāo)點(diǎn)符號(hào)及其他字符,例如下面的標(biāo)識(shí)符是不合法的:93Salary,Youhe.Ding,$178,#5f68,rD注意,InstallScript中標(biāo)識(shí)符的大小寫是有區(qū)別的。例如,data、Data、DaTa、DATA等都是不同的標(biāo)識(shí)符。用戶定義的標(biāo)識(shí)符不能和系統(tǒng)的關(guān)鍵字同名。以下是43個(gè)InstallScript關(guān)鍵字:abort begin BOOL BYREFcase CHAR default downtoelse end elseif endfor endif endprogram endswitch endwhileexit for function GDI goto HWND if INTKERNEL LIST LONG NUMBERPOINTER program prototype repeatreturn SHORT step STRINGswitch then to typedefuntil USER while需要注意的是,用戶定義的標(biāo)識(shí)符還不能和InstallShield的函數(shù)名、系統(tǒng)變量名以及預(yù)定義的常量名相同。(2) 有效性雖然,標(biāo)識(shí)符的長(zhǎng)度(組成標(biāo)識(shí)符的字符個(gè)數(shù))是任意的,但最好不能超過32個(gè),因?yàn)镮nstallShield的編譯系統(tǒng)只能識(shí)別前32個(gè)字符,也就是說前32個(gè)字符相同的兩個(gè)不同標(biāo)識(shí)符被有的系統(tǒng)認(rèn)為是同一個(gè)標(biāo)識(shí)符。(3) 易讀性在定義標(biāo)識(shí)符時(shí),若能做到見名知意就可以達(dá)到易讀性的目的。為了達(dá)到這個(gè)目的,許多Visual Basic、Visual C+及Delphi等程序員廣泛使用匈牙利的命名規(guī)則來定義標(biāo)識(shí)符,InstallScript也使用這個(gè)命名規(guī)則。 匈牙利的命名規(guī)則是將標(biāo)識(shí)符的類型(小寫)來作為標(biāo)識(shí)符的前綴。例如前面的szTitle表示一個(gè)字符串變量,其中的sz表示STRING變量類型。表2.1列出了常用變量的前綴。除此之外,對(duì)于函數(shù)名的命名往往使用多個(gè)單詞來組成,每個(gè)單詞的第一字母都是大寫,例如前面的SdAskDestPath函數(shù)名。2. 縮進(jìn)和注釋 縮進(jìn)是指程序在書寫時(shí)不要將程序的每一行都由第一列開始,而且在適當(dāng)?shù)牡胤郊舆M(jìn)一些空行或空格。它同注釋一樣,也是為了提高程序的可讀性。注釋的重要性已在前面論及過,這里不再重復(fù)。但要注意的是:(1) 注釋應(yīng)在編程的過程中同時(shí)進(jìn)行,不要指望程序開發(fā)完成后再補(bǔ)寫注釋。那樣只會(huì)多花好幾倍的時(shí)間,更為嚴(yán)重的是,時(shí)間長(zhǎng)了以后甚至?xí)x不懂自己寫的程序。 必要的注釋內(nèi)容應(yīng)包含:腳本程序的總體注釋(文件名、作用、創(chuàng)建時(shí)間、版本、作者及引用的手冊(cè)、運(yùn)行環(huán)境等)、函數(shù)注釋(目的、算法、使用的參數(shù)和返回值的含義、對(duì)環(huán)境的一些假設(shè)等)及其他的少量注釋。千萬不要陳述那些一目了然的內(nèi)容,否則會(huì)使注釋的效果適得其反些空行或空格。它同注釋一樣,也是為了提高程序的可讀性。注釋的重要性已在前面論及過,這里不再重復(fù)。2.2 數(shù)據(jù)類型程序可以看成是由數(shù)據(jù)結(jié)構(gòu)和算法組成的。數(shù)據(jù)結(jié)構(gòu)體現(xiàn)對(duì)數(shù)據(jù)的描述,而算法反映了對(duì)數(shù)據(jù)的操作及處理。任何一門計(jì)算機(jī)語言都必須包括數(shù)據(jù)類型、運(yùn)算符與表達(dá)式等內(nèi)容來定義和實(shí)現(xiàn)程序中的數(shù)據(jù)結(jié)構(gòu)和算法。2.2.1 基本數(shù)據(jù)類型InstallScript的數(shù)據(jù)類型比其他任何高級(jí)語言的數(shù)據(jù)類型要簡(jiǎn)單易用,它只有基本類型和結(jié)構(gòu)類型兩類。這里先討論InstallScript的基本數(shù)據(jù)類型?;緮?shù)據(jù)類型是InstallScript的內(nèi)部數(shù)據(jù)類型,包括CHAR(字符型)、NUMBER(數(shù)值整型)等,表2.2列出各種基本數(shù)據(jù)的類型。 需要說明的是:在InstallScript的數(shù)據(jù)類型中,除了BOOL、HWND及LIST類型不能使用小寫外,其余的數(shù)據(jù)類型還有其小寫形式,例如int、number、string等,用來提供一種方便。但是,InstallScript沒有無符號(hào)數(shù)值類型以及浮點(diǎn)數(shù)值類型。2.2.2 常量與變量根據(jù)程序中數(shù)據(jù)的可變性,數(shù)據(jù)可以分為常量和變量?jī)纱箢悺?. 常量在程序運(yùn)行過程中,其值不能被改變的量稱為常量。常量可分為不同的類型,如1、20、0、-6為整型常量,a、b為字符常量。常量一般從其字面形式即可判別。InstallScript的常量有整型常量、字符常量和字符串常量等類型。這些常量的含義和C語言基本一致,故這里不再重復(fù)。需要說明的是,在InstallScript中還可以用一個(gè)標(biāo)識(shí)符表示一個(gè)常量。例Ex_Define 用#define定義符號(hào)常量。#define TITLE 問候programSprintfBox(INFORMATION,TITLE,%s,您好!);endprogram程序中用#define命令行定義TITLE,使其代表字符串常量問候,此后凡是在程序中出現(xiàn)的TITLE都代表問候。這種代替常量本身的標(biāo)識(shí)符稱為符號(hào)常量。在程序中使用符號(hào)常量不僅可以提高程序的可讀性(標(biāo)識(shí)符總比常量本身更具意義),而且修改也極為方便。2. 變量變量是指在程序執(zhí)行中其值可以改變的量。變量的作用是存儲(chǔ)程序中需要處理的數(shù)據(jù),它可以放在程序中的任何位置上。但無論如何,在使用一個(gè)變量前必須先定義這個(gè)變量。變量是用下面的格式語句進(jìn)行定義的:類型 變量名表;例如:NUMBER nNum1;NUMBER nNum2;NUMBER nNum3;BOOL bValidEntry; 其中,nNum1、nNum2、nNum3被定義成整型變量,而bValidEntry被定義成布爾型變量。有時(shí),還可以將同類型的變量定義在一行語句中,不過變量名要用逗號(hào)(,)分隔。例如上面的變量可這樣定義:NUMBER nNum1, nNum2, nNum3;BOOL bValidEntry;在定義字符串常量時(shí),可以指定字符串的長(zhǎng)度,例如:STRING szUserName128; / 指定字符串的長(zhǎng)度為128個(gè)字符若不指定其長(zhǎng)度,則InstallScript自動(dòng)指定。16位操作系統(tǒng)中,字符串的長(zhǎng)度被指定為512個(gè)字符,而32位操作系統(tǒng)中,字符串的長(zhǎng)度被指定為1024個(gè)字符。在定義變量時(shí),需要注意:(1) 不能在主程序體(program.endprogram之間)或函數(shù)體內(nèi)部(begin.end之間)定義變量,變量必須定義在程序體外或函數(shù)名與begin關(guān)鍵字之間。例如:function SdAskDestPath(szTitle, szMsg, svDir, nStyle)STRING szDlg, svDirLoc, szTemp;INT nId, nTemp;HWND hwndDlg;BOOL bDone;begin.end;(2) 在同一個(gè)主程序或同一個(gè)函數(shù)體中不能有同時(shí)出現(xiàn)兩個(gè)相同的變量名。(3) 不能在變量定義的同時(shí),給變量賦初值。2.2.3 InstallScript運(yùn)算符簡(jiǎn)介和其他的程序設(shè)計(jì)語言一樣,InstallScript記述運(yùn)算的符號(hào)稱為運(yùn)算符,運(yùn)算符的運(yùn)算對(duì)象稱為操作數(shù)。一個(gè)操作數(shù)可以是變量、常量或是具體的數(shù)值等。對(duì)一個(gè)操作數(shù)運(yùn)算的運(yùn)算符稱為單目運(yùn)算符,如-a;對(duì)二個(gè)操作數(shù)運(yùn)算的運(yùn)算符稱為雙目運(yùn)算符,如3+5等。InstallScript的運(yùn)算符分為以下幾類:算術(shù)運(yùn)算符 ( +, -, *, /)關(guān)系運(yùn)算符 ( , =, =, != )邏輯運(yùn)算符 ( &, |, ! )位運(yùn)算符 ( &, |, , , )賦值運(yùn)算符 ( = )指針運(yùn)算符 ( *, & )分量運(yùn)算符 ( ., - )下標(biāo)運(yùn)算符 ( )字符串運(yùn)算符 ( , +, % )其它 ( 如BYREF運(yùn)算符 )2.2.4 算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括常用的加減乘除四則運(yùn)算符以及單目正負(fù)運(yùn)算符,如下所示:+ (正號(hào)運(yùn)算符,如+4等)- (負(fù)號(hào)運(yùn)算符,如-4等)* (乘法運(yùn)算符,如6*8等)/ (除法運(yùn)算符,如6/8等)+ (加法運(yùn)算符,如6+8等)- (減法運(yùn)算符,如6-8等)InstallScript中算術(shù)運(yùn)算符和數(shù)學(xué)運(yùn)算的概念及運(yùn)算方法是一致的,但要注意以下幾點(diǎn):(1) 除法運(yùn)算兩個(gè)整數(shù)相除,結(jié)果為整數(shù),如7/5的結(jié)果為1,它是將小數(shù)部分去掉,而不是四舍五入。但I(xiàn)nstallScript不支持浮點(diǎn)運(yùn)算。(2) 優(yōu)先級(jí)和結(jié)合性在一個(gè)包含多種算術(shù)運(yùn)算的混合運(yùn)算中,先乘除后加減的運(yùn)算規(guī)則是由運(yùn)算符的優(yōu)先級(jí)來保證的。InstallScript將表達(dá)式求值中多種運(yùn)算之間的先后關(guān)系(即運(yùn)算符之間的優(yōu)先關(guān)系)用運(yùn)算符的優(yōu)先級(jí)表示。在算術(shù)運(yùn)算符中,單目運(yùn)算符的優(yōu)先級(jí)最高,其次是乘、除,最后是加減。優(yōu)先級(jí)相同的運(yùn)算符,則按它們的結(jié)合性進(jìn)行處理。所謂運(yùn)算符的結(jié)合性是指運(yùn)算符和操作數(shù)的結(jié)合方式,它有從左至右和從右至左兩種。從左至右的結(jié)合又稱左結(jié)合,是指運(yùn)算符左邊的操作數(shù)先與運(yùn)算符相結(jié)合,再與運(yùn)算符右邊的操作數(shù)進(jìn)行運(yùn)算,如3*5/4的次序是先乘后除;而自右至左的右結(jié)合的次序剛好相反,它是將運(yùn)算符右邊的操作數(shù)先與運(yùn)算符相結(jié)合,如-i+6相當(dāng)于(-i)+ 6。在算術(shù)運(yùn)算符中,除單目運(yùn)算符外,其余運(yùn)算符的結(jié)合性都是從左至右的。(3) 關(guān)于書寫格式在使用運(yùn)算符進(jìn)行數(shù)值運(yùn)算時(shí),若書寫時(shí)沒有在雙目運(yùn)算符兩邊加上空格,則有時(shí)編譯系統(tǒng)會(huì)做出與自己想象中不同的理解。例如:-5*-6-7和-5 * -6 - -7 / 注意空格結(jié)果是不一樣,前者發(fā)生編譯錯(cuò)誤,而后果的結(jié)果是37。為了避免上述情況的發(fā)生,在書寫時(shí),有時(shí)應(yīng)有意識(shí)地加上一些括號(hào)。這樣不僅增強(qiáng)程序的可讀性,而且,尤其當(dāng)對(duì)優(yōu)先關(guān)系猶豫時(shí),加上括號(hào)是保證正確結(jié)果的最好方法。2.2.5 賦值運(yùn)算符和賦值表達(dá)式在InstallScript腳本語言中,賦值符=是一個(gè)雙目運(yùn)算符,結(jié)合性從右至左,其作用是將賦值符右邊操作數(shù)的值賦給左邊的操作數(shù)。每一個(gè)合法的表達(dá)式在求值后都有一個(gè)確定的值和類型。賦值表達(dá)式的值是賦值符右邊操作數(shù)的值,賦值表達(dá)式的類型是賦值符右邊操作數(shù)的類型。例如下面語句:STRING szName;LONG nValue;BOOL bDone;HWND hInstance;INT iStyle;LIST LISTINFO;programszName = InstallShield;nValue = 15;bDone = FALSE;hInstance = 0;iStyle = DLG_MSG_STANDARD|DLG_CENTERED;LISTINFO = ListCreate(STRINGLIST);.但是,InstallScript不支持多重賦值運(yùn)算,例如a = b = c 相當(dāng)于C+的a = b =c。也就是說,若 b 不等于c,表達(dá)式為a=0,若b和c相等,則表達(dá)式為a=1。InstallScript往往利用邏輯運(yùn)算后的結(jié)果對(duì)程序進(jìn)行判斷、選取等控制。2.3 邏輯運(yùn)算和判斷選取控制2.3.1 關(guān)系運(yùn)算符關(guān)系運(yùn)算是邏輯運(yùn)算中比較簡(jiǎn)單的一種。所謂關(guān)系運(yùn)算實(shí)際上是比較兩個(gè)操作數(shù)是否符合給定的條件。若符合條件,則關(guān)系表達(dá)式的值為真,否則為假。在InstallScript編譯系統(tǒng)中,往往將真表示為TRUE,將假表示為FALSE。而任何不為0的數(shù)被認(rèn)為是真,0被認(rèn)為是假。由于關(guān)系運(yùn)算需要兩個(gè)操作數(shù),所以關(guān)系運(yùn)算符都是雙目運(yùn)算符。 InstallScript提供了下列6種關(guān)系運(yùn)算符:(小于),(大于),=(大于等于),= (相等于),!=(不等于)其中,前4種的優(yōu)先級(jí)相同且高于后面的兩種,但關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符。需要說明的是:(1) InstallScript賦值運(yùn)算符和等于的關(guān)系運(yùn)算符使用同一個(gè)=符號(hào)。(2) InstallScript不支持賦值和關(guān)系運(yùn)算同在一個(gè)表達(dá)式中的情形。例如,下面的語句是不允許的:if (listID = ListCreate (NUMBERLIST) = LIST_NULL) then . . .endif;2.3.2 邏輯運(yùn)算符邏輯運(yùn)算符是用于將多個(gè)關(guān)系表達(dá)式或邏輯量(真或假)組成一個(gè)邏輯表達(dá)式。InstallScript提供了下列3種邏輯運(yùn)算符:! 邏輯非(單目)& 邏輯與(雙目)| 邏輯或(雙目)邏輯非是指將真變假,假變真。邏輯與是指當(dāng)兩個(gè)操作數(shù)都是真時(shí),結(jié)果才為真,否則為假。邏輯或是指當(dāng)兩個(gè)操作數(shù)中有一個(gè)是真時(shí),結(jié)果就為真,而只有當(dāng)它們都為假時(shí),結(jié)果才為假。邏輯非、邏輯與和邏輯或的優(yōu)先級(jí)依次從高到低,且邏輯非的優(yōu)先級(jí)還比關(guān)系運(yùn)算符高,而邏輯與和邏輯或的優(yōu)先級(jí)卻比關(guān)系運(yùn)算符低。和C不一樣,InstallScript對(duì)邏輯表達(dá)式的值非常敏感,例如下面代碼:if (iVar = 10) & (MyFunction( ) = 0) then MessageBox(That is so true., INFORMATION); endif;只有當(dāng)&運(yùn)算符左邊的結(jié)果為TRUE時(shí),右邊的函數(shù)MyFunction才會(huì)被執(zhí)行。為了不引起誤解,最好將上述代碼改寫成:if (iVar = 10) then if (MyFunction( ) = 0) then MessageBox(That is so true., INFORMATION); endif;endif;2.3.3 if語句if語句是用來判定所給定的條件是否滿足,并根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。InstallScript提供了下列5種形式的if語句。(1) if-then結(jié)構(gòu)if-then結(jié)構(gòu)具有下列形式:if (條件表達(dá)式) then語句endif;當(dāng)條件表達(dá)式表達(dá)為真時(shí),then后面的語句才會(huì)被執(zhí)行。一個(gè)條件表達(dá)式可以是一個(gè)布爾或整型常量、變量、產(chǎn)生布爾或整型結(jié)果的表達(dá)式以
溫馨提示
- 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. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)鏈條式燃煤氣化鍋爐行業(yè)投資前景及策略咨詢研究報(bào)告
- 平頂山2024年河南平頂山市農(nóng)業(yè)科學(xué)院招聘7人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年鹽漬裙帶葉項(xiàng)目可行性研究報(bào)告
- 2025年桑拿服項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)異型軋輥行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)套裝風(fēng)炮行業(yè)投資前景及策略咨詢研究報(bào)告
- 廣西2025年廣西生態(tài)工程職業(yè)技術(shù)學(xué)院招聘筆試歷年參考題庫(kù)附帶答案詳解
- 2025年劍桿綜框項(xiàng)目可行性研究報(bào)告
- 2025年中央供氧系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 2025至2030年高錳鐵項(xiàng)目投資價(jià)值分析報(bào)告
- 走好群眾路線-做好群眾工作(黃相懷)課件
- NY∕T 4001-2021 高效氯氟氰菊酯微囊懸浮劑
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第七章社會(huì)主義市場(chǎng)經(jīng)濟(jì)規(guī)則論
- 漢聲數(shù)學(xué)圖畫電子版4冊(cè)含媽媽手冊(cè)文本不加密可版本-29.統(tǒng)計(jì)2500g早教
- 初中化學(xué)方程式匯總(魯教版)
- 企業(yè)組織架構(gòu)表
- 中國(guó)監(jiān)察制度史
- 搬家公司簡(jiǎn)介(15個(gè)范本)
- 典范英語-2備課材料2a課件
- 抽水蓄能輔助洞室施工方案
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter7 Searching
評(píng)論
0/150
提交評(píng)論