Delphi教程(清華版).ppt_第1頁
Delphi教程(清華版).ppt_第2頁
Delphi教程(清華版).ppt_第3頁
Delphi教程(清華版).ppt_第4頁
Delphi教程(清華版).ppt_第5頁
已閱讀5頁,還剩479頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Delphi教程,清華大學(xué)出版社,課程介紹,Delphi是著名的Borland公司開發(fā)的可視化軟件開發(fā)環(huán)境,自1995年問世以來,帶來了程序設(shè)計中的一場重大變化。Delphi作為第四代編程語言,具有簡單、高效和功能強大等特點,這些特點使得它為廣大程序開發(fā)者所青睞。,第1章 Delphi基礎(chǔ)知識,1.1 Delphi簡介 Delphi作為一種可視化的編程環(huán)境,經(jīng)歷了7代產(chǎn)品的發(fā)展歷程: Borland公司在1995年推出了基于Windows平臺的Delphi 1。 Delphi 2新增加的主要功能是對32位編程的支持。還增加了如數(shù)據(jù)模塊等多種高效的數(shù)據(jù)重用功能。,Delphi 3對其組件庫進行增

2、強 ,完全支持ActiveX組件及其創(chuàng)建 。 Delphi 4提供了Object Pascal語言的擴展 ,但系統(tǒng)穩(wěn)定性較差 。 1999年推出Delphi 5增強了數(shù)據(jù)庫的功能 2001年6月推出Delphi 6 ,增加了大量的新組件,使組件數(shù)目達350多個,以滿足網(wǎng)絡(luò)開發(fā)的需要。 2002年8月推出 Delphi 7 ,在集成開發(fā)環(huán)境IDE、Web、數(shù)據(jù)庫、編譯器、模型生成支持及組件庫等很多方面進行了改進,1.2 Delphi7 IDE 1.2.1 認識集成開發(fā)環(huán)境 Delphi 7的IDE主要包括7個部分:主窗口、組件面板、工具欄、窗體設(shè)計器、代碼編輯器、對象觀察器和代碼瀏覽器。,圖1-

3、1 Delphi 7的IDE,1.主窗口 主要包括:菜單欄、工具欄、標(biāo)題欄和組件面板 Delphi7的主菜單包括11個下拉菜單 注意:工具欄上的按鈕都提供了描述該按鈕功能的tooltip,除了組件面板IDE有6個獨立的工具欄 IDE工具欄的定制功能并不僅限于配置需要顯示的按鈕,還可以調(diào)整工具欄、組件面板和菜單欄在主窗口中的位置。,圖1-2 Delphi 7的主窗圖口,Delphi7組件板包含了350多個組件,是Delphi可視化編程的核心部件,它由27個選項卡組成 組件面板如圖1-4所示 包含了IDE中安裝的所有的VCL組件和ActiveX組件 將組件板上的組件添加到窗體上的三種方法: 單擊組

4、件板上的所需組件的按鈕,然后在窗體適當(dāng)位置拖動鼠標(biāo)畫出組件,即可將組件添加到窗體的指定位置上,圖1-4 Delphi 7的組件面板,雙擊組件板上的所需組件的按鈕,即可將組件添加到窗體的中心位置 按下鍵不放,單擊組件板上的所需組件的按鈕,所選組件出現(xiàn)藍色邊框,同時對象選擇按鈕將彈起 組件板中的組件分為可視組件與非可視組件 2.窗體設(shè)計器 在創(chuàng)建新的項目時,窗體設(shè)計器是一個空白的窗口??梢杂檬髽?biāo)調(diào)整組件在窗體設(shè)計器上的位置和大小,還可以用對象觀察器和代碼編輯器來控制組件的外觀和行為 。,3.對象觀察器 利用對象觀察器,可以修改窗體或組件的屬性,或者使它們能夠響應(yīng)不同的事件 。 屬性(Propert

5、y)是一些數(shù)據(jù),如高度、顏色、字體等,它們決定了組件在屏幕上的外觀。事件(Event)則是一種消息處理機制,它能夠捕捉某種情況的發(fā)生并做出反應(yīng),像鼠標(biāo)單擊和窗口打開就是兩種典型的事件。 對象觀察器類包括Properties選項卡和Events選項卡,下圖兩個對象觀察器,左邊一個按種類排序,右邊一個按名字排序。 注意:幫助系統(tǒng)是和對象觀察器緊密結(jié)合在一起的,想了解某個屬性或事件的幫助信息,只要在該屬性或事件上按下F1 鍵,圖1-5 按種類或名稱查看Object Inspector,4.代碼編輯器 代碼編輯器是輸入代碼來指定應(yīng)用程序行為的地方,也是Delphi根據(jù)應(yīng)用程序中的組件自動生成代碼的地方

6、。當(dāng)向應(yīng)用程序中加入一個窗體時,Delphi會自動創(chuàng)建一個新的單元,并添加到代碼編輯器頂部的標(biāo)簽中。 5.代碼瀏覽器 以一種樹狀視圖方式顯示列在代碼編輯器中的單元文件。通過它,可以方便地在單元文件中漫游或在單元文件中加入新的元素或者把已有的文件改名。要記住代碼瀏覽器和代碼編輯器有一對一的關(guān)系。,6.源代碼生成器 當(dāng)對窗體設(shè)計器中可視化組件進行操作時Delphi IDE自動生成Object Pascal源代碼。 當(dāng)用【File】|【New】|【Application】菜單命令創(chuàng)建一個新的項目時,將看到屏幕上出現(xiàn)一個空白的窗體設(shè)計器,同時,代碼編輯器中會自動出現(xiàn)一些代碼,如下所示: unit Un

7、it1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;,type TForm1 = class(TForm) private Private declarations public Public declarations end; var Form1: TForm1; implementation $R *.dfm end.,從上述源代碼清單中可以看出,窗體對象是從TForm繼承下來的。 下面這一行非常重要: $R*.dfm Pascal語言中的

8、$R指令用于加載一個外部資源文件。*.dfm文件中包含在窗體設(shè)計器中創(chuàng)建的表單的二進制代碼。其中的“*” 表示與當(dāng)前單元文件同名的文件。 項目文件的擴展名是.dpr 可以選擇主菜單下的【Project】|【View Source】命令把項目源文件調(diào)入代碼編輯器。,如下用程序示例的項目文件: program Project1; uses Forms, Unit1 in Unit1.pas Form1; $R *.res begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end

9、. 當(dāng)添加表單和單元時將出現(xiàn)在uses子句中,1.2.2 基于組件的編程思想 .早期DOS操作系統(tǒng)和C語言主導(dǎo)的時代,“數(shù)據(jù)結(jié)構(gòu)+算法”成為構(gòu)建軟件惟一方式 .C+語言和面向?qū)ο蠹夹g(shù) . 20世紀90年代中期流行一種嶄新的程序設(shè)計概念 :軟件可以由可互換的組件構(gòu)成 組件是一種通過公開的屬性、方法、事件,是可以重復(fù)使用的一種經(jīng)過編譯的二進制文件,其文件名可以是.OCX或者是.dll,如命令按鈕、復(fù)選框、單選框、滾動條等都是常見的組件。,1.2.3 Delphi 7的特點 Delphi最顯著的特點就是高效性和穩(wěn)定性,主要體現(xiàn)在以下4個方面: 可視化開發(fā)環(huán)境的性能。 編譯器的速度和已編譯代碼的效率。

10、 編程語言的功能及其復(fù)雜性。 豐富的VCL 1.可視化開發(fā)環(huán)境 可視化開發(fā)環(huán)境通??煞譃?個部分:編輯器、調(diào)試窗口和窗體設(shè)計器。,2.編譯器的速度和已編譯代碼的效率 Pascal編譯器最著名特點就是速度快,而Delphi正是建立在這種編譯器基礎(chǔ)之上的。 增加了鏈接和各種緩存策略,尤其是在Visual C+和C+ Builder中。 3.編程語言的功能及其復(fù)雜性 匯編是一種最有力的語言,即便是用匯編開發(fā)最簡單的應(yīng)用程序,難度也非常大,還可能一無所獲。 4.豐富的VCL VCL是Delphi7最重要的組成部分,包含不同種類的組件 。,1.2.4 幫助的使用 (1)當(dāng)遇到問題時,可以嘗試按下【F1】

11、鍵,一般情況下Delphi都會準確地定位。 (2)如果需要瀏覽系統(tǒng)的一些幫助內(nèi)容,比如說對象Pascal語言,可以通過菜單【Help】|【Delphi Help】命令打開【幫助主題:Delphi Help】對話框,在目錄標(biāo)簽中展開相關(guān)條目,進行系統(tǒng)學(xué)習(xí)。 3)當(dāng)使用Windows API函數(shù)時,通過【Help】|【Delphi Help】打開的【幫助主題:Delphi Help】對話框中,在【索引】選項卡中可能查不到有關(guān)的幫助信息,有兩種解決辦法:,一種辦法是在代碼編輯器中輸入Windows API函數(shù)的名稱,然后將光標(biāo)定位到該名稱中,接著按下【F1】鍵。 另一種辦法是通過【Help】|【W(wǎng)i

12、ndows SDK】打開幫助文件Win32.hlp,在【索引】選項卡中查找。 (4)幫助文件打開時,要瀏覽相關(guān)內(nèi)容,可以按下工具欄中的【】或【】按鈕,通常這樣是在同一個主題中瀏覽。通過一些See Also熱鏈接,也可以查看相關(guān)的幫助內(nèi)容。 (5)在組件欄上右擊,通過快捷菜單的Help命令,可以查看有關(guān)組件的幫助內(nèi)容。,(6)在Delphi集成開發(fā)環(huán)境中,通過【Help】|【Customize】命令可以打開【Open Help】窗口,在該窗口中可以對幫助文件進行管理,其中包括幫助內(nèi)容、幫助索引、鏈接位置和幫助工程文件等的管理。 1.3 簡單Delphi程序設(shè)計 Delphi 7編寫應(yīng)用程序包括新

13、建應(yīng)用程序、設(shè)置窗體屬性、添加組件、設(shè)置組件屬性、添加事件、編寫事件響應(yīng)代碼、編譯運行等 1.新建應(yīng)用程序,啟動Delphi 7,選擇【File】|【New】|【Application】菜單,新建一個應(yīng)用程序。 2.設(shè)置窗體屬性 單擊【Object Inspector】,在對象觀察器中打開【Properties】選項卡,單擊Caption屬性右側(cè),輸入窗體的新標(biāo)題“窗口”。 3.向窗體中添加組件 單擊Standard選項卡上的Button組件,將鼠標(biāo)指向窗體中的任意位置(標(biāo)題欄除外),單擊鼠標(biāo),即可把Button1組件放入窗體中?;蛘咧苯与p擊組件面板上的Button組件,也可以在窗體中添加一個

14、Button1組件。,4.設(shè)置組件屬性 選中組件,單擊Object Inspector的標(biāo)題欄以激活對象觀察器,并選擇Properties選項卡。在對象觀察器中單擊要設(shè)置的屬性,進行屬性設(shè)置。 5.添加事件 選中要添加事件的組件,激活對象觀察器,并選擇Event選項卡,在對象觀察器中單擊要添加的事件,在其右側(cè)輸入事件的響應(yīng)函數(shù)名稱,然后回車即可。 6.編寫事件響應(yīng)代碼,選定要編寫事件響應(yīng)代碼的組件 ,打開Event選項卡,雙擊要編寫響應(yīng)代碼的事件右側(cè)的空白部分,進入代碼編輯窗口。 procedure TForm1.Button1Click(Sender: TObject); /單擊放大按鈕,窗

15、口將放大 begin form1.Height:=form1.Height+10; /窗口高度10 form1.Width:=form1.Width+10; /窗口寬度10 end; procedure TForm1.Button2Click(Sender: TObject); /單擊縮小按鈕,窗口將縮小 Begin form1.Height:=form1.Height-10; /窗口高度減10,form1.Width:=form1.Width-10; /窗口寬度減10 end; procedure TForm1.Button3Click(Sender: TObject); /關(guān)閉窗口 beg

16、in close; /退出 end; 7.編譯運行程序,圖1-6 例程運行界面,1.4 Delphi上機步驟 1.啟動程序 2.添加組件 在窗體設(shè)計器中添加如圖1-7所示的各組件。 3.設(shè)置組件屬性 4.編寫代碼 組件屬性設(shè)置完成后,編寫如下代碼:,圖1-7 窗體布局圖,procedure TForm1.Edit1Change(Sender: TObject); /編輯框1中的內(nèi)容改變時的事件 var stringlength:integer; /定義整型變量,記錄編輯框1中字符的個數(shù) begin stringlength:=edit1.GetTextLen; /得到編輯框1中字符個數(shù) edi

17、t2.Text:=inttostr(stringlength); /編輯框2顯示編輯框1中字符個數(shù) end; procedure TForm1.Button1Click(Sender: TObject); /關(guān)閉窗口 begin close; end;,5.保存工程 保存工程分為保存單元文件和保存項目文件兩步。 第一步是保存單元文件,單擊工具欄上的Save按鈕,將打開Save Unit1 As窗口,默認的單元文件名是“Unit1.pas”,以“.pas”為擴展名,單元文件名根據(jù)需要可以另取 。 第二步是保存項目文件,單擊工具欄上Save Project1 As按鈕,默認的項目文件名是“Proj

18、ect1.dpr”,工程文件名根據(jù)需要可以另取以“.dpr”為擴展名,6.運行工程 保存工程結(jié)束后即可運行工程 小結(jié) 在本章中,主要介紹了Delphi的產(chǎn)生和發(fā)展,Delphi的特點,使用Delphi進行程序設(shè)計的一些基礎(chǔ)知識。本章的重點是Delphi的開發(fā)環(huán)境和開發(fā)方法,通過實例介紹了Delphi的程序設(shè)計和上機操作的一般步驟。,圖1-10 工程運行界面圖,第2章 Delphi語法基礎(chǔ),2.1 保留字與標(biāo)識符 2.1.1 標(biāo)識符 標(biāo)識符是Object Pascal語言中各種成分的名稱,這些成分包括變量(Var)、常量(Const)、類型(Type)、過程(Procedure)、函數(shù)(Func

19、tion)、方法(Method)、單元(Unit)等。,標(biāo)識符可以分為三類:標(biāo)準標(biāo)識符、自定義標(biāo)識符和限定標(biāo)識符。 1標(biāo)準標(biāo)識符 (1)標(biāo)準常量,如False、Maxint、True等; (2)標(biāo)準類型,如Boolean、Char、Real等; (3)標(biāo)準函數(shù),如Sin、Cos、Abs、Arctan等; (4)標(biāo)準過程,如Dispose、Get、New、Pack、Put等; (5)標(biāo)準文件,如Input、Output等。,2自定義標(biāo)識符 程序員根據(jù)程序設(shè)計的需要,自己定義的常量、變量、類型、函數(shù)、過程等所取的名字。自定義標(biāo)識符可以由任意長的一個不帶空格的字符串組成,包括字母AZ 、az 、數(shù)字

20、09 和下劃線“_”等。 定義標(biāo)識符需要遵循以下規(guī)則: (1)標(biāo)識符不區(qū)分大小寫; (2)標(biāo)識符只能以字母或下劃線開頭,不能以數(shù)字開頭; (3)標(biāo)識符可任意長度,但只有前225個字符有效; (4)標(biāo)識符中間不允許有空格;,(5)不允許使用Object Pascal語言的保留字作為標(biāo)識符。 3限定標(biāo)識符 在Delphi程序中可引用多個單元,而各個單元中全局變量、函數(shù)、過程等可能會同名,在引用時需用限定標(biāo)識符來區(qū)分它們: Var Y:real; Y:=System.cos(pi); 其中System稱為限定符 ,而System.cos稱為限定標(biāo)識符。,2.1.2 保留字 保留字由系統(tǒng)規(guī)定具有特定意

21、義,不能被重新定義或作他用,定義了65個保留字 。 注意: 1單詞at和on具有特殊含義,不要與它們同名。 2保留字和Object Pascal一樣不區(qū)分大小寫。 3Delphi集成開發(fā)環(huán)境的代碼編輯器中,黑體顯示保留字和指令字,定義時不要與這些黑體字一樣。,Object Pascal的保留字,2.1.3 指令符 指令字只在特殊的程序位置、或當(dāng)上下文關(guān)聯(lián)時有意義的程序區(qū)段有自己特殊的意義,而在其他場合,用戶可對其重新定義,即可將其定義為標(biāo)識符,Object Pascal不會指示出錯,當(dāng)用戶重新定義這些指令字后,在作用域內(nèi)它們就失去了原來的意義了。 Object Pascal中規(guī)定的指令符有39

22、個 說明:指令符private、protected、public、published和automated在定義對象類型時也作為保留字,而在其他場合則作為指令符。,2.1.4 注釋 注釋可增加程序的可讀性和可維護性。 Object Pascal語言中注釋有三種形式: 1組合符號“”與“”的成對使用表示它們之間的內(nèi)容為注釋部分。 2組合符號“( *”與“* )”的成對使用表示它們之間的內(nèi)容為注釋部分。 3符號“/ ”的單個使用表示所在行的該符號之后的內(nèi)容為注釋。,注意: 1注釋符“”與“”、“( *”與“* )”在使用時不支持注釋的嵌套,而且必須成對使用。 2對于單行和少量幾行注釋使用符號“/ ”

23、,對于大塊注釋使用“”和“”或“( *”和“* )”。 3有時可利用注釋在代碼中形成一個醒目標(biāo)志。 4在注釋符“”或“( *”后緊接著是一個美元符號“$”時,表示該句是一個編譯器指令,它與普通的注釋不同,通常用來對編譯過程進行設(shè)置。,2.2 數(shù)據(jù)類型 描述客觀事物的數(shù)、字符以及所有能輸入到計算機中并被計算機程序加工處理的符號的集合稱為數(shù)據(jù)。 數(shù)據(jù)類型可以分為標(biāo)準數(shù)據(jù)類型及高級數(shù)據(jù)類型等,還可以通過數(shù)據(jù)類型聲明語句在預(yù)定義數(shù)據(jù)類型的基礎(chǔ)上定義新數(shù)據(jù)類型。 說明: 1標(biāo)準數(shù)據(jù)類型屬于Object Pascal內(nèi)部約定的數(shù)據(jù)類型,無需定義就可以直接使用。,2高級數(shù)據(jù)類型體現(xiàn)了特殊的數(shù)據(jù)結(jié)構(gòu),在使用之

24、前必須由用戶自己定義。 3數(shù)據(jù)類型中整型、字符型、布爾型、枚舉型和子界型被稱為順序類型,其取值是一個有序集合,每一個可能取值都與順序有關(guān)。 2.2.1 數(shù)值型數(shù)據(jù) 數(shù)值型數(shù)據(jù)可分為整數(shù)類型和實數(shù)類型。 1.整數(shù)類型 整數(shù)類型是存儲整數(shù)數(shù)據(jù)的類型 ,分為基本整形和一般整形。,基本整形:短整型 、小整型 、長整型 、64位整型 、字節(jié)型 、字型 、長字型 一般整形:整型 、序數(shù)型 注意:盡量使用一般整型Integer和Cardinal,可以最大限度發(fā)揮CPU和操作系統(tǒng)的性能。 2.實數(shù)類型 實數(shù)類型是存儲實數(shù)數(shù)據(jù)的類型 ,分為基本實型和一般實型。 基本實型:單精度實型 、擴展型 、雙精度實型 、貨

25、幣型 一般實型:實型,注意:Real 類型與Double 類型完全等價。Currency類型至少有4位有效的小數(shù)位。 2.2.2 字符型數(shù)據(jù) Object Pascal中的字符型數(shù)據(jù)可以分為字符型和字符串型2類7種。 1.字符類型 Object Pascal包括3種形式的字符型數(shù)據(jù),說明: (1)前2種為基本字符類型后一種為一般類型。 (2)Char與AnsiChar完全等價,但Char常用。 2.字符串類型 字符串類型是存儲字符串?dāng)?shù)據(jù)的類型 ,Object Pascal包括了4種形式的字符串型數(shù)據(jù),說明: ()AnsiString類型的定義是動態(tài)分配的,內(nèi)容由AnsiChar類型的字符組成,

26、長度僅受可用內(nèi)存空間的限制,以空字符Nul作為結(jié)尾。 ()String字符串類型,既可以是ShortString類型也可以是AnsiString類型,默認定義是AnsiString類型。 2.2.3 布爾型數(shù)據(jù) 布爾型數(shù)據(jù)用于關(guān)系運算和條件語句的邏輯運算,包括4種形式的布爾型數(shù)據(jù)。,說明: (1)后3種類型是為了兼容其他語言而設(shè)置的,編程時應(yīng)盡量使用Boolean類型。 (2)Boolean取值為False和True兩個符號常量。,2.3 常量與變量 2.3.1 常量 常量即在程序的執(zhí)行過程中其值不能改變的量。 常量有兩種,一種是常量值本身,也稱為直接常量;另一種是要用聲明定義的標(biāo)識符表示的常

27、量,也稱為聲明常量。聲明常量又可以分為符號常量和類型常量。 1.直接常量 直接常量是指在程序中直接引用的常數(shù),如整型常數(shù)、實型常數(shù)、字符型常數(shù)、字符串型常數(shù)和布爾型常數(shù)。 2.聲明常量,(1)符號常量 在程序中,某一個常數(shù)反復(fù)多次出現(xiàn),可以定義一個標(biāo)識符來代表該常數(shù),這個標(biāo)識符就是符號常量,其值在定義后不會改變。也稱純常量。定義符號常量使用常量說明語句,其語法格式為: Const =; =; 其中Const是保留字,表示常量定義段開始 。,注意: 保留字Const可單獨一行也可與常量一行。 不能在程序中給常量另行賦值,否則將導(dǎo)致語法錯誤。 Delphi由常量值判斷常量名屬于哪種類型。 (2)類

28、型常量 類型常量用于保存數(shù)組、記錄、過程以及指針等類型的值,不能出現(xiàn)在常量表達式中。在默認的編譯器狀態(tài)下,類型常量的值可改變,但當(dāng)在程序中加入編譯命令$j-時,則類型常量的值在運行期就無法改變。,聲明類型常量的語法規(guī)則為: Const :=; 其中類型是除文件型和可變型的所有類型,常量值可以是和類型相應(yīng)的常量表達式。 2.3.2 變量 1.變量的聲明 變量在單元、函數(shù)或過程的聲明部分進行聲明,聲明的位置決定了變量的作用域。聲明包括兩部分:變量名和它所屬的類型,變量聲明的語法格式為:,Var :; :; 當(dāng)多個變量具有相同數(shù)據(jù)類型時,格式如下: Var ,:; 其中,Var是保留字,表示變量聲明

29、段的開始;同類型的可超過一個,間用“,”分隔;可以是基本數(shù)據(jù)類型或是由用戶定義的高級數(shù)據(jù)類型;,2.變量的使用 一旦聲明了一個變量應(yīng)及時對它進行初始化,最簡單方法就是給變量賦值,在表達式中使用變量。 2.4 運算符與表達式 按照操作數(shù)數(shù)目的多少來分,運算符分為下面兩類:單目運算符和雙目運算符。單目運算符一般放在操作對象的前面,雙目運算符都放在兩個操作數(shù)之間。 表達式是表示某個求值規(guī)則的運算公式,由運算符和配對的圓括號將常量、變量、函數(shù)、對象等操作數(shù)以合理的形式組合而成。,2.4.1 算術(shù)運算符與算術(shù)表達式 1.算術(shù)運算符 算術(shù)運算符對浮點數(shù)和整數(shù)進行加、減、乘、除和取模運算,取正“+”和取負“

30、-”是單目運算符,其他均為雙目運算符。 說明: (1)+、-、*運算中,參加運算的數(shù)可以是整型和實型,結(jié)果自動向精度高的類型轉(zhuǎn)化。 (2)參加除法運算“/”,結(jié)果都是實型的商。 (3)參加整數(shù)除法“Div”和求余運算“Mod”的數(shù)必須是整型,結(jié)果也是整型數(shù),符號與被除數(shù)的符號相同,小數(shù)部分被舍去。 (4)在表達式a/b、a Div b和a Mod b中,如果b的值為0,將會觸發(fā)一個錯誤。,2.算術(shù)運算符的優(yōu)先級 同級運算自左至右,如果含有括號,則先計算括號內(nèi)表達式的值。 3.算術(shù)表達式 將數(shù)學(xué)式改寫為算術(shù)表達式,考慮三個問題:一是語法,二是優(yōu)先級,三是類型。,說明: (1)數(shù)學(xué)式中省略的運算符

31、和表示函數(shù)參數(shù)的括號必須添加上去 (2)必須注意優(yōu)先級的處理 ,恰當(dāng)利用標(biāo)準函數(shù) ,注意數(shù)據(jù)類型。 2.4.2 邏輯運算符與布爾表達式 邏輯運算符可分為布爾運算符、位運算符和關(guān)系運算符。 1.布爾運算符 只能對兩個布爾型操作數(shù)進行運算,結(jié)果仍為布爾型,True或False。,其中,NOT是求“非”,為一元運算符 ; AND是求“與”,OR是求“或”,XOR是求“異或”,均為二元運算符 。 2.位運算符,注意:右移操作時原值的低位丟失,高位補0;左移操作時原值的高位丟失,低位補0。 3.關(guān)系運算符,4.布爾表達式 布爾表達式由布爾運算符和布爾類型的操作數(shù)所組成,包括關(guān)系運算表達式和運算結(jié)果為布爾

32、類型的函數(shù),如Odd(x)、FileExists(x)、等。但位運算符的結(jié)果是整數(shù)類型,不能直接作為布爾操作數(shù)。 2.4.3 字符串運算符 連接運算符“+”主要用于連接兩個或更多的字符串。最簡單的字符串表達式是字符常量、字符串常量、字符變量、字符串變量或字符函數(shù)的引用。字符串表達式格式為:,+| 當(dāng)兩個字符串用連接運算符連接起來后,第二個字符串直接添加到第一個字符串的尾部,結(jié)果是包含兩個源字符串全部內(nèi)容的新字符串。如果要把多個字符串連接起來,每兩個字符串之間都要用“+”號分隔。 2.4.4 運算符的優(yōu)先級,2.5常用系統(tǒng)函數(shù)與過程 2.5.1 數(shù)值運算函數(shù) Delphi的數(shù)值運算函數(shù)包含了常用

33、的數(shù)學(xué)函數(shù)(如三角函數(shù)、對數(shù)函數(shù)等)和適合計算機數(shù)據(jù)處理的其他函數(shù)(如求數(shù)組中的最大值、求三角形的斜邊長等)。 2.5.2 字符處理函數(shù) 對字符的處理主要包括:大小寫轉(zhuǎn)換、比較先后順序、合并、查找、截取、插入、求長度以及類型轉(zhuǎn)換等。 2.5.3 日期時間函數(shù) 調(diào)用日期時間函數(shù)可對日期和時間進行處理,2.5.4 順序類型函數(shù) 1.順序類型 順序類型指整型、字符型、布爾型、枚舉型、子界型5種數(shù)據(jù)類型,如下所述: (1)整數(shù)的的序數(shù)是其自身; (2)字符的序數(shù)是其ASCII 碼; (3)布爾型數(shù)據(jù):False序數(shù)為0,True為1; (4)枚舉型第一個數(shù)據(jù)序數(shù)為0,其余類推; (5)子界型第一個數(shù)據(jù)

34、序數(shù)為1,其余類推。 除第一個序數(shù),每一個都有一個前趨值;除最后一個序數(shù),每一個都有一個后繼值。,2.順序函數(shù) 2.6語句 2.6.1 語句的基本概念 按執(zhí)行時間可分為:聲明語句和可執(zhí)行語句。,聲明語句包括單元說明語句、類型說明語句、變量說明語句、過程說明語句、函數(shù)說明語句和程序區(qū)段標(biāo)識語句等。 可執(zhí)行語句包括賦值語句、運行控制語句和結(jié)構(gòu)控制語句等。 按語句的描述形式,可分為簡單語句、結(jié)構(gòu)語句和復(fù)合語句等。 簡單語句只含有一個語句定義符或特殊標(biāo)志;結(jié)構(gòu)語句往往含有多于一個的語句動詞;復(fù)合語句則是由begin和end括起來的若干個簡單語句、結(jié)構(gòu)語句和復(fù)合語句,允許復(fù)合語句多層嵌套,或為空,也就是

35、在begin和end之間沒有其他語句。,2.6.2 常見聲明語句 1.標(biāo)號聲明語句 標(biāo)號聲明語句即用一個整型數(shù)來表示程序的某個執(zhí)行語句,一行標(biāo)號聲明語句可以同時聲明幾個標(biāo)號,其用法如下所示: label Aa,Ab; var I:integer; begin /語句 if(I=0) then goto Aa; /語句 Aa:begin /語句 end; end;,2.類型聲明語句 在Object Pascal中,所有的變量必須是某種特定的數(shù)據(jù)類型,類型決定了它所能包含的數(shù)值和可進行的操作,用類型聲明語句可以定義新的數(shù)據(jù)類型。例如: Type TmyDim:Array1.10,1.5 of Do

36、uble; 3.過程聲明語句 過程可以被看成一段小程序,用來實現(xiàn)某種特定的目標(biāo),在完整的程序中它被當(dāng)作一個語句來執(zhí)行。在建立過程之前應(yīng)先聲明。 procedure NumString(N:Integr;Var S:string);,4.函數(shù)聲明語句 函數(shù)與過程相似,主要區(qū)別在于函數(shù)必須有返回值,函數(shù)的聲明參見下面的語句,其中,最后的Real表示函數(shù)的返回數(shù)據(jù)類型。 Function Power(X:Real;Y:Integer):Real; 2.6.3 賦值語句和程序的順序結(jié)構(gòu) 1.賦值語句 賦值語句的語法格式為: :=; 2.類型兼容 類型兼容是指數(shù)據(jù)類型不完全相同的量之間能進行的運算和賦值

37、操作。,3.利用賦值語句給對象屬性賦值 由于屬性總是歸屬于對象才有實際意義,所以引用屬性時用符號“.”來連接表示其隸屬關(guān)系。如組件Editl的字體的顏色屬性表示為:Editl.Font.Color。 4.順序結(jié)構(gòu) 順序結(jié)構(gòu)是最簡單、最常用的結(jié)構(gòu)。在該結(jié)構(gòu)中,各操作塊按照出現(xiàn)的先后順序依次執(zhí)行,不產(chǎn)生程序流程的其他轉(zhuǎn)移。它是任何程序的主體結(jié)構(gòu),即使在選擇結(jié)構(gòu)或循環(huán)結(jié)構(gòu)中,也常以順序結(jié)構(gòu)作為其子結(jié)構(gòu)。通常由若干個賦值語句或其他簡單語句構(gòu)成 。,2.6.4 條件語句和程序的選擇結(jié)構(gòu) 實現(xiàn)選擇結(jié)構(gòu)的是IF語句和Case語句,這兩種語句又稱條件語句,條件語句的功能就是根據(jù)表達式的值有選擇地執(zhí)行一組語句。

38、 1.if語句 通過條件的布爾表達式值選擇執(zhí)行路徑。 if then else ; if語句分為簡單條件語句和復(fù)合條件語句。簡單條件語句的中不包含其他的條件語句 。如果在If語句格式中的或本身又是一個If語句,則稱為If語句的嵌套,嵌套的If語句又被稱為復(fù)合條件語句。,2.Case語句 Case語句用來實現(xiàn)多分支選擇結(jié)構(gòu)。Case語句描述了多路擇一的功能,它根據(jù)“選擇器表達式”的值決定執(zhí)行相應(yīng)的語句。Case語句的語法格式為: case of :; :; else ; end; 說明:的值必須是順序類型 。,2.6.5 循環(huán)語句和程序的循環(huán)結(jié)構(gòu) 從某處開始有規(guī)律地反復(fù)執(zhí)行某一程序塊的現(xiàn)象稱為“

39、循環(huán)”,完成這一功能的程序結(jié)構(gòu)為“循環(huán)結(jié)構(gòu),”而其中重復(fù)執(zhí)行的程序塊稱為“循環(huán)體”。循環(huán)結(jié)構(gòu)語句有3種,它們分別是:While 語句、Repeat語句以及For語句。 1.While語句 While語句屬于前測型循環(huán)結(jié)構(gòu)。首先判斷條件,根據(jù)條件決定是否執(zhí)行循環(huán),執(zhí)行循環(huán)的最少次數(shù)為0。其語法格式為: while do ;,說明:可在(循環(huán)體)中任何位置Break語句來終止While 循環(huán),Break 語句通常位于IF語句后??稍谘h(huán)體中任何位置放置Continue語句,以便在整個循環(huán)體沒有執(zhí)行完就重新判斷(條件),以決定是否開始新的循環(huán)。Continue語句通常位于IF 語句之后。 2.Rep

40、eat語句 Repeat語句屬于后測型循環(huán)結(jié)構(gòu),首先執(zhí)行循環(huán)體,然后判斷條件,根據(jù)條件決定是否繼續(xù)執(zhí)行循環(huán),執(zhí)行循環(huán)的最少次數(shù)為1。 repeat until ;,3.For語句 若知道要執(zhí)行多少次循環(huán)時,則使用For循環(huán)結(jié)構(gòu)。For循環(huán)使用一個循環(huán)變量,每重復(fù)一次循環(huán)之后,循環(huán)變量的值就會自動增加或者減少。For語句的語法格式為: for =to|downto do ; 說明:只能是順序類型,TO表示計數(shù)器遞增,DownTo表示計數(shù)器遞減。 4.循環(huán)的嵌套 循環(huán)語句的循環(huán)體中僅包含了簡單語句,稱為單重循環(huán)。,如果在循環(huán)體中又包含了另一個循環(huán)結(jié)構(gòu),則稱為多重循環(huán),又稱為循環(huán)的嵌套。 在循環(huán)體中

41、的嵌套稱為內(nèi)循環(huán),外部的循環(huán)稱為外循環(huán)。多重循環(huán)嵌套根據(jù)循環(huán)結(jié)構(gòu)嵌套層數(shù)可以分為二重循環(huán)、三重循環(huán)等。 5.循環(huán)的中斷 特殊情況下,需要中斷正在執(zhí)行的循環(huán),可以使用break語句或Continue語句。可以放在循環(huán)體的任意位置,通常放在If語句之后。 執(zhí)行Break語句的結(jié)果是:跳出整個循環(huán),執(zhí)行之后的語句。,執(zhí)行Continue語句的結(jié)果是:跳出本輪循環(huán),然后判斷循環(huán)條件是否成立,再決定是否開始新一輪的循環(huán)。 小結(jié) 本章主要介紹了Object Pascal的最基本的語法,主要包括基本詞法、基本數(shù)據(jù)類型、常量與變量、運算符與表達式、常用函數(shù)與過程、語句等。,第3章 常用組件,Delphi 7.

42、0的組件板上含有27個選項卡,總共包括350多個組件,如圖所示 : 3.1 窗體 3.1.1 Form組件 窗體是應(yīng)用程序的操作界面,是放置組件的基礎(chǔ)。窗體由標(biāo)題欄、工作區(qū)和邊界組成。,圖3-1 組件板和選項卡 運行界面圖,Form的主要屬性 窗體組件(TForm)在運行時表現(xiàn)為一個窗體,窗體是一個容器構(gòu)件,它可以包含其他種類的構(gòu)件,并協(xié)同完成應(yīng)用程序的整體功能。窗體由屬性、事件和方法組成。 (1)BorderIcons屬性 用來制定窗體標(biāo)題欄上的圖標(biāo) (2)BorderStyle屬性 Borderstyle屬性用來設(shè)置窗體的外觀和邊框 (3)Name屬性 Name屬性唯一地標(biāo)識對象,取值不能

43、為空,若工程中有多個窗體,名稱不能相同。,(4)Caption屬性 用來指定窗體標(biāo)題欄中說明文字,可以為空。 (5)Font屬性 Font屬性用來設(shè)置窗體中文字的字體、顏色和字號等等,其中Font.style屬性為集合型。 (6)FormStyle屬性 FormStyle屬性用來指定窗體的類型。 從窗體類型的角度來看,Windows環(huán)境中的應(yīng)用程序可以分為以下三類。 第一類:多文檔界面(MDI)應(yīng)用程序一般這種應(yīng)用程序具有一個父級窗口和多個子窗口,可以同時打開多個文檔,分別在多個子窗口中顯示。,第二類:單文檔界面(SDI)應(yīng)用程序這種應(yīng)用程序同時只能打開一個文檔。 第三類:對話框應(yīng)用程序這種應(yīng)

44、用程序的主界面基于一個對話框類型的窗體。 (7)Icon屬性 Icon屬性用來指定標(biāo)題欄中顯示的圖標(biāo)。 (8)Position屬性 Position屬性用來描述窗體大小和顯示位置。 (9)WindowsState屬性 WindowsState屬性來描述窗體顯示狀態(tài) 。 2.TForm 的事件 窗體是一個可視化的組件,包括外部事件和內(nèi)部事件。,3.窗體的方法 一些常用方法(過程或函數(shù)) 有:Create 、Close 、CloseQuery 、release 、Show 、ShowModal 、Print 。 4窗體的創(chuàng)建 創(chuàng)建窗體的方法分為兩種:靜態(tài)創(chuàng)建和動態(tài)創(chuàng)建。所謂靜態(tài)創(chuàng)建窗體是指再工程的

45、編輯、設(shè)計時創(chuàng)建新窗體;而動態(tài)創(chuàng)建窗體是指在工程的運行時通過代碼生成窗體。 (1)靜態(tài)創(chuàng)建新窗體 通過集成開發(fā)環(huán)境中的【File】|【New】|【Application】菜單,創(chuàng)建一個應(yīng)用程序,,此時自動生成一個窗體Form1,再打開【File】|【New】|【Form】菜單生成一個窗體Form2。在Form1中添加兩個Button、1個Label組件,F(xiàn)orm2中添加1個Label組件,即可完成界面設(shè)計。 添加代碼: procedure TForm1.Button1Click(Sender: TObject); /創(chuàng)建按鈕事件 begin /關(guān)鍵分析 form2.show; /調(diào)用Show方

46、法顯示Form2窗體 end; procedure TForm1.Button2Click(Sender: TObject); begin form1.Close; end;,程序分析:編譯上述工程時,系統(tǒng)會彈出出錯提示信息,單擊“Yes”按鈕,Delphi將自動在Unit1單元中添加對Unit2單元的引用。 (2)動態(tài)態(tài)創(chuàng)建新窗體 在需要某個窗體時,臨時創(chuàng)建它,使用后將其立即釋放,這種稱為窗體的動態(tài)創(chuàng)建。 3.1.2彈出對話框窗體 Delphi提供內(nèi)部對話框有兩種。 第一種:信息輸出對話框Showmessage過程、ShowMessageFmt過程、MessageDlg函數(shù)、MessageD

47、lgPos函數(shù)、CreateMessageDialog函數(shù)。,第二種:信息輸入對話框InputBox函數(shù)、InputQuery函數(shù)。 1ShowMessage過程 其語法格式為:ShowMessage(); 2ShowMessageFmt過程的語法格式為: ShowMessageFmt(,); 3MessageDlg函數(shù) 其語法格式為: =MessageDlg(,HelpCtx); 4MessageDlgPos函數(shù),其語法格式為: =MessageDlgPos(,HelpCtx,X,Y); 可以指定對話框的顯示位置坐標(biāo):X,Y。 5CreatMessageDialog函數(shù) 其語法格式為: =C

48、reatMessageDialog (,); 6InputBox函數(shù) 其語法格為: =InputBox (,);,7InputQuery函數(shù) 其語法格式為: =InputQuery (,); 3.2 輸入顯示類組件 3.2.1 Edit組件 編輯框(Edit)是一種通用組件,既可以輸入文本,又可以顯示文本,編輯框組件位于Standard組件板中。,圖3-7編輯框Edit 運行界面圖,1Edit的主要屬性 (1)AutoSelect屬性:設(shè)置編輯框得到焦點時,文本是否自動被選中。 (2)AutoSize屬性:決定編輯框是否自動隨字體的變化而改變大小。 (3)Enable屬性 :用來設(shè)置編輯框是否

49、能用。 (4)BorderSytle屬性:設(shè)置編輯框邊框類型 。 (5)MaxLength屬性:設(shè)所能接受最大字符數(shù)。 (6)PasswordChar屬性:設(shè)置非#0字符時,將代替用戶輸入的字符被顯示。 (7)ReadOnly屬性:定編輯框中的文本是否可以編輯。,(8)SelStart屬性:被選中文本的開始位置,或光標(biāo)在文本中的位置。 (9)SelText屬性:被選中的文本 。 (10)SelLength屬性:被選中文本的長度。 (11)Text屬性:編輯框中的文本內(nèi)容。 (12)CharCase屬性:控制編輯框中文本大小寫 3.2.2 Label組件 標(biāo)簽組件位于Standard組件板中。,

50、圖3-8 標(biāo)簽Label 運行界面圖,1Label的主要屬性 (1)Caption屬性:用來顯示標(biāo)簽的文本。 (2)ShowAccelChar屬性 :決定是否將 begin Memo1.Lines.Add(Edit1.Text); edit1.Text:=; edit1.SetFocus; end;,圖3-12 Memo示例 運行界面圖,procedure TForm1.FormActivate(Sender: TObject); begin edit1.SetFocus; end; 3.2.4 MaskEdit 組件 它限制用戶在所定義的位置輸入要求輸入的符號。掩碼編輯框(MaskEdit)

51、組件位于Additional附加組件板”中。 1MaskEdit常用屬性,圖3-13 Memo示例 運行界面圖,()EditMask屬性 EditMask屬性用來控制用戶輸入數(shù)據(jù)格式的掩碼字符串,掩碼字符串EditMask屬性分為三個部分,用分號分隔。第一部分是掩碼字符串的主要部分,它確定了數(shù)據(jù)的格式;第二部分決定是否將掩碼中的字符串作為數(shù)據(jù)的一部分,0表示不作為數(shù)據(jù)的一部分,1表示作為數(shù)據(jù)的一部分,它將影響屬性;第三部分指出在掩碼中用來代表未輸入數(shù)據(jù)的字符。 (2)EditText屬性:用來返回用戶輸入的數(shù)據(jù)。,3.3按鈕類組件 3.3.1 Button組件 Button按鈕在Delphi

52、7.0組件板Standard選項卡中 1.Button的主要屬性 (1)Caption屬性:來制定按鈕所顯示的文字。 (2)Cancel屬性:決定改按鈕是否為取消按鈕 ,缺省值為False。 (3)Default屬性:用來決定改按鈕是否為默認按鈕,缺省值為False。,圖3-16 Button基本按鈕 運行界面圖,(4)ModalResult屬性:用來決定模式窗體如何被關(guān)閉。 2.Button的事件 Button組件常用的事件如表所示。 在下述兩種情況下,OnClick事件將被激發(fā): (1)用鼠標(biāo)單擊按鈕。 (2)按鈕獲得焦點時按下 鍵或空格鍵。,3.3.2 BitBtn組件 位于Delphi

53、 7.0組件板Additional選項卡中。 1BitBtn的主要屬性 (1)Glyph屬性:為bitBtn制定一個.bmp文件,顯示再按鈕的表面 。 (2)Kind屬性:決定bitBtn按鈕的種類。 (3)Layout屬性:用來控制bitBtn按鈕中位圖與文本的相對位置。默認值為blGlyphLeft。 (4)Margin屬性:用來控制bitBtn按鈕中位圖與邊界之間的象素個數(shù)。,圖3-17 BitBtn按鈕 運行界面圖,(5)Spacing屬性:用來控制bitBtn按鈕中位圖與文本之間的(距離)象素個數(shù),默認值為4。 2.BitBtn的事件 BitBtn組件常用的事件如表所示。 在下述兩種

54、情況下,OnClick事件將被激發(fā): (1)用鼠標(biāo)單擊按鈕。 (2)按鈕獲得焦點時按下 鍵或空格鍵。,3.3.3 SpeedButton組件 快速按鈕(SpeedButton)是一種可以成組工作的按鈕,具有將位圖顯示在按鈕表面的功能;還具有允許其中一個按鈕被選中(按下)的功能;當(dāng)它單獨使用時具有開關(guān)的功能??焖侔粹o位于Additonal組件板中。 SpeedButton的主要屬性有: (1)AllowAllUp屬性:控制是否允許單擊處于按下狀態(tài)的按鈕,使之恢復(fù)到松開狀態(tài)。默認值為False。,圖3-19快速按鈕SpeedButton 運行界面圖,(2)Down屬性:設(shè)置按鈕是否處于按下狀態(tài)。

55、(3)Flat屬性:當(dāng)取值為True時,按鈕具有Office97工具欄的風(fēng)格。默認值為False。 (4)GroupIdex屬性:該屬性默認值為0,表示不與其他SpeedButton成組。 3.4復(fù)選框、單選按鈕和單選按鈕組 3.4.1 CheckBox組件 位于Delphi 7.0組件板Standard選項卡中。,圖3-21 復(fù)選框CheckBox,復(fù)選框CheckBox具有選中和未被選中兩種狀態(tài),未選中狀態(tài),選中狀態(tài) 。還有一種不確定狀態(tài),表示既非選中又非未選中。 1CheckBox的主要屬性 (1)Checked屬性:用于表明CheckBox是否被選中。 (2)State屬性:屬性Sta

56、te進一步確定CheckBox狀態(tài)。有3種值:cbChecked、cbUnchecked和cbGrayed,分別為選中、未選中和不確定。 (3)AllowGrayed屬性:為True時,復(fù)選框有3種選擇:為False時,只有選中和未選中狀態(tài)。,3.4.2 RadioButton組件 位于Delphi 7.0組件板Standard選項卡中。 RadioButton的主要屬性有: Checked屬性:表明CheckBox是否被選中。RadioButton有兩種狀態(tài),如果當(dāng)Checked屬性為True時,表示選中狀態(tài),如果當(dāng)Checked屬性為False時,表示未選中狀態(tài)。 3.4.3 RadioG

57、roup 組件 位于Delphi 7.0組件板Standard選項卡中。,圖3-23單選按鈕RadioButton,1RadioGroup的主要屬性 (1)Columns屬性 屬性Columns用于設(shè)置單選按鈕組中按鈕的列數(shù)。范圍116,默認值為1。 (2)Items屬性:用于設(shè)置各種單選按鈕標(biāo)題。 (3)ItemIndex屬性:單選按鈕組中被選中按鈕(從0開始)的序號。默認值為-1,表示組中按鈕均未被選中。,圖3-25單選按鈕組RadioGroup,3.5列表框、組合框 3.5.1 ListBox組件 當(dāng)列表框不能同時顯示所有選擇項時,將自動加上一個垂直滾動條,使用戶可以上下滾動列表框,以查

58、閱所有的選項。列表框位于組件板Standard選項卡中 。 ListBox的主要屬性: (1)Items屬性:列表框中選項的集合。 (2)ItemsIndex屬性:為選項的索引值。,圖3-28 列表框 ListBox 運行界面圖,(3)Stored屬性:決定選項是否排序。 (4)Columns屬性:決定列表框的列數(shù)。 (5)MultiSelect屬性:定是否可以選擇多項。 (6)SelCount屬性:被選中的項的數(shù)目,只讀。 (7)Selected屬性:設(shè)置或返回是否被選中。 (8)IntegralHelght屬性 : True 自動調(diào)整框的高度使每行的高度(IntemHeight)可以完整地

59、被顯示。 False 不自動調(diào)整框的高度,非完整高度行被顯示在框的底部。 (9)ItemHeight屬性:控制列表框中行的高度。,(10)Style屬性 lbStandard 固定Font.Size屬性與ItemHeight屬性之比。 lbOwnerDrawFixed 可以調(diào)整ItemHeight,并將自動調(diào)整框的高度以適應(yīng)行高。 LbOwnerDrawVariable 可以調(diào)整ItemHeight屬性,需手動調(diào)整框的高度以適應(yīng)行高。 3.5.2 ComboBox組件 兼有EditBox和ListBox兩者功能,用戶可以通過鍵入文本或選擇列表中項目來進行選擇。組合框位于組件板Standard選項卡中。,1. 組合框的主要屬性 (1)Items屬性:列表框中選項的集合。 (2)ItemsIndex屬性:為選項的索引值。 (3)Stored屬性:決定選項是

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論