版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Delphi教程教程清華大學(xué)出版社清華大學(xué)出版社課程介紹課程介紹 Delphi是著名的Borland公司開發(fā)的可視化軟件開發(fā)環(huán)境,自1995年問世以來,帶來了程序設(shè)計中的一場重大變化。Delphi作為第四代編程語言,具有簡單、高效和功能強(qiáng)大等特點,這些特點使得它為廣大程序開發(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ù)重用功能。 Delp
2、hi 3對其組件庫進(jìn)行增強(qiáng) ,完全支持ActiveX組件及其創(chuàng)建 。Delphi 4提供了Object Pascal語言的擴(kuò)展 ,但系統(tǒng)穩(wěn)定性較差 。1999年推出Delphi 5增強(qiáng)了數(shù)據(jù)庫的功能 2001年6月推出Delphi 6 ,增加了大量的新組件,使組件數(shù)目達(dá)350多個,以滿足網(wǎng)絡(luò)開發(fā)的需要。 2002年8月推出 Delphi 7 ,在集成開發(fā)環(huán)境IDE、Web、數(shù)據(jù)庫、編譯器、模型生成支持及組件庫等很多方面進(jìn)行了改進(jìn)。 1.2 Delphi7 IDE1.2.1 認(rèn)識集成開發(fā)環(huán)境認(rèn)識集成開發(fā)環(huán)境 Delphi 7的IDE主要包括7個部分:主窗口、組件面板、工具欄、窗體設(shè)計器、代碼編輯
3、器、對象觀察器和代碼瀏覽器。 圖1-1 Delphi 7的IDE1.主窗口主窗口 主要包括:菜單欄、工具欄、標(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)藍(lán)色邊框,同時對象選擇按鈕將彈起 組件板中的組件分為可視組件與非可視組件 2.窗體設(shè)計器窗體設(shè)計器 在創(chuàng)建新的項目時,窗體設(shè)計器是一個空白的窗口??梢杂檬髽?biāo)調(diào)整組件在窗體設(shè)計器上的位置和大小,還可以用對象觀察器和代碼編輯器來控制組件的外觀和行為 。3.對象觀察器對象觀察器 利用對象觀察器,可以修改窗體或組件的屬性,或
5、者使它們能夠響應(yīng)不同的事件 。 屬性(Property)是一些數(shù)據(jù),如高度、顏色、字體等,它們決定了組件在屏幕上的外觀。事件(Event)則是一種消息處理機(jī)制,它能夠捕捉某種情況的發(fā)生并做出反應(yīng),像鼠標(biāo)單擊和窗口打開就是兩種典型的事件。 對象觀察器類包括Properties選項卡和Events選項卡 下圖兩個對象觀察器,左邊一個按種類排序,右邊一個按名字排序。注意:幫助系統(tǒng)是和對象觀察器緊密結(jié)合在一起的,想了解某個屬性或事件的幫助信息,只要在該屬性或事件上按下F1 鍵 圖1-5 按種類或名稱查看Object Inspector4.代碼編輯器代碼編輯器 代碼編輯器是輸入代碼來指定應(yīng)用程序行為的地
6、方,也是Delphi根據(jù)應(yīng)用程序中的組件自動生成代碼的地方。當(dāng)向應(yīng)用程序中加入一個窗體時,Delphi會自動創(chuàng)建一個新的單元,并添加到代碼編輯器頂部的標(biāo)簽中。5.代碼瀏覽器代碼瀏覽器 以一種樹狀視圖方式顯示列在代碼編輯器中的單元文件。通過它,可以方便地在單元文件中漫游或在單元文件中加入新的元素或者把已有的文件改名。要記住代碼瀏覽器和代碼編輯器有一對一的關(guān)系。 6.源代碼生成器源代碼生成器 當(dāng)對窗體設(shè)計器中可視化組件進(jìn)行操作時Delphi IDE自動生成Object Pascal源代碼。 當(dāng)用【File】|【New】|【Application】菜單命令創(chuàng)建一個新的項目時,將看到屏幕上出現(xiàn)一個空白
7、的窗體設(shè)計器,同時,代碼編輯器中會自動出現(xiàn)一些代碼,如下所示:unit Unit1;interfaceuses 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 *.dfmend. 從上述源代碼清單中可以看出,窗體對象是從TForm繼承下來的
8、。 下面這一行非常重要: $R*.dfm Pascal語言中的$R指令用于加載一個外部資源文件。*.dfm文件中包含在窗體設(shè)計器中創(chuàng)建的表單的二進(jìn)制代碼。其中的“*” 表示與當(dāng)前單元文件同名的文件。 項目文件的擴(kuò)展名是.dpr 可以選擇主菜單下的【Project】|【View Source】命令把項目源文件調(diào)入代碼編輯器。 如下用程序示例的項目文件: program Project1;uses Forms, Unit1 in Unit1.pas Form1;$R *.resbegin Application.Initialize; Application.CreateForm(TForm1,
9、Form1); Application.Run;end.當(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世紀(jì)90年代中期流行一種嶄新的程序設(shè)計概念 :軟件可以由可互換的組件構(gòu)成 組件是一種通過公開的屬性、方法、事件,是可以重復(fù)使用的一種經(jīng)過編譯的二進(jìn)制文件,其文件名可以是.OCX或者是.dll,如命令按鈕、復(fù)選框、單選框、滾動條等都是常見的組件。 1.2.3 Delphi 7的特點的特點 Delphi最顯著的特點就是高效性和穩(wěn)定性,主要體
10、現(xiàn)在以下4個方面:可視化開發(fā)環(huán)境的性能。編譯器的速度和已編譯代碼的效率。編程語言的功能及其復(fù)雜性。豐富的VCL1.可視化開發(fā)環(huán)境可視化開發(fā)環(huán)境 可視化開發(fā)環(huán)境通??煞譃?個部分:編輯器、調(diào)試窗口和窗體設(shè)計器。 2.編譯器的速度和已編譯代碼的效率編譯器的速度和已編譯代碼的效率 Pascal編譯器最著名特點就是速度快,而Delphi正是建立在這種編譯器基礎(chǔ)之上的。 增加了鏈接和各種緩存策略,尤其是在Visual C+和C+ Builder中。3.編程語言的功能及其復(fù)雜性編程語言的功能及其復(fù)雜性 匯編是一種最有力的語言,即便是用匯編開發(fā)最簡單的應(yīng)用程序,難度也非常大,還可能一無所獲。 4.豐富的豐富
11、的VCL VCL是Delphi7最重要的組成部分,包含不同種類的組件 。1.2.4 幫助的使用幫助的使用(1)當(dāng)遇到問題時,可以嘗試按下【F1】鍵,一般情況下Delphi都會準(zhǔn)確地定位。 (2)如果需要瀏覽系統(tǒng)的一些幫助內(nèi)容,比如說對象Pascal語言,可以通過菜單【Help】|【Delphi Help】命令打開【幫助主題:Delphi Help】對話框,在目錄標(biāo)簽中展開相關(guān)條目,進(jìn)行系統(tǒng)學(xué)習(xí)。3)當(dāng)使用Windows API函數(shù)時,通過【Help】|【Delphi Help】打開的【幫助主題:Delphi Help】對話框中,在【索引】選項卡中可能查不到有關(guān)的幫助信息,有兩種解決辦法: 一種
12、辦法是在代碼編輯器中輸入Windows API函數(shù)的名稱,然后將光標(biāo)定位到該名稱中,接著按下【F1】鍵。 另一種辦法是通過【Help】|【W(wǎng)indows 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】窗口,在該窗口中可以對幫助文件進(jìn)
13、行管理,其中包括幫助內(nèi)容、幫助索引、鏈接位置和幫助工程文件等的管理。1.3 簡單簡單Delphi程序設(shè)計程序設(shè)計 Delphi 7編寫應(yīng)用程序包括新建應(yīng)用程序、設(shè)置窗體屬性、添加組件、設(shè)置組件屬性、添加事件、編寫事件響應(yīng)代碼、編譯運(yùn)行等1.新建應(yīng)用程序新建應(yīng)用程序 啟動Delphi 7,選擇【File】|【New】|【Application】菜單,新建一個應(yīng)用程序。2.設(shè)置窗體屬性設(shè)置窗體屬性 單擊【Object Inspector】,在對象觀察器中打開【Properties】選項卡,單擊Caption屬性右側(cè),輸入窗體的新標(biāo)題“窗口”。3.向窗體中添加組件向窗體中添加組件 單擊Standar
14、d選項卡上的Button組件,將鼠標(biāo)指向窗體中的任意位置(標(biāo)題欄除外),單擊鼠標(biāo),即可把Button1組件放入窗體中?;蛘咧苯与p擊組件面板上的Button組件,也可以在窗體中添加一個Button1組件。4.設(shè)置組件屬性設(shè)置組件屬性 選中組件,單擊Object Inspector的標(biāo)題欄以激活對象觀察器,并選擇Properties選項卡。在對象觀察器中單擊要設(shè)置的屬性,進(jìn)行屬性設(shè)置。5.添加事件添加事件 選中要添加事件的組件,激活對象觀察器,并選擇Event選項卡,在對象觀察器中單擊要添加的事件,在其右側(cè)輸入事件的響應(yīng)函數(shù)名稱,然后回車即可。 6.編寫事件響應(yīng)代碼編寫事件響應(yīng)代碼 選定要編寫事件
15、響應(yīng)代碼的組件 ,打開Event選項卡,雙擊要編寫響應(yīng)代碼的事件右側(cè)的空白部分,進(jìn)入代碼編輯窗口。 procedure TForm1.Button1Click(Sender: TObject); /單擊放大按鈕,窗口將放大beginform1.Height:=form1.Height+10; /窗口高度10form1.Width:=form1.Width+10; /窗口寬度10end;procedure TForm1.Button2Click(Sender: TObject); /單擊縮小按鈕,窗口將縮小單擊縮小按鈕,窗口將縮小Beginform1.Height:=form1.Height-1
16、0; /窗口高度減窗口高度減10 form1.Width:=form1.Width-10; /窗口寬度減10end;procedure TForm1.Button3Click(Sender: TObject); /關(guān)閉窗口beginclose; /退出end;7.編譯運(yùn)行程序編譯運(yùn)行程序圖1-6 例程運(yùn)行界面1.4 Delphi上機(jī)步驟上機(jī)步驟1.啟動程序啟動程序2.添加組件添加組件在窗體設(shè)計器中添加如圖1-7所示的各組件。3.設(shè)置組件屬性設(shè)置組件屬性4.編寫代碼編寫代碼組件屬性設(shè)置完成后,編寫如下代碼:圖1-7 窗體布局圖 procedure TForm1.Edit1Change(Sende
17、r: TObject); /編輯框1中的內(nèi)容改變時的事件 var stringlength:integer; /定義整型變量,記錄編輯框1中字符的個數(shù) begin stringlength:=edit1.GetTextLen; /得到編輯框1中字符個數(shù) edit2.Text:=inttostr(stringlength); /編輯框2顯示編輯框1中字符個數(shù) end; procedure TForm1.Button1Click(Sender: TObject); /關(guān)閉窗口 begin close; end;5.保存工程保存工程保存工程分為保存單元文件和保存項目文件兩步。 第一步是保存單元文件,
18、單擊工具欄上的Save按鈕,將打開Save Unit1 As窗口,默認(rèn)的單元文件名是“Unit1.pas”,以“.pas”為擴(kuò)展名,單元文件名根據(jù)需要可以另取 。 第二步是保存項目文件,單擊工具欄上Save Project1 As按鈕,默認(rèn)的項目文件名是“Project1.dpr”,工程文件名根據(jù)需要可以另取以“.dpr”為擴(kuò)展名 6.運(yùn)行工程運(yùn)行工程保存工程結(jié)束后即可運(yùn)行工程 小結(jié)小結(jié) 在本章中,主要介紹了Delphi的產(chǎn)生和發(fā)展,Delphi的特點,使用Delphi進(jìn)行程序設(shè)計的一些基礎(chǔ)知識。本章的重點是Delphi的開發(fā)環(huán)境和開發(fā)方法,通過實例介紹了Delphi的程序設(shè)計和上機(jī)操作的一般
19、步驟。圖1-10 工程運(yùn)行界面圖第第2章章 Delphi語法基礎(chǔ)語法基礎(chǔ) 2.1 保留字與標(biāo)識符保留字與標(biāo)識符2.1.1 標(biāo)識符標(biāo)識符標(biāo)識符是Object Pascal語言中各種成分的名稱,這些成分包括變量(Var)、常量( C o n s t ) 、 類 型 ( T y p e ) 、 過 程(Procedure)、函數(shù)(Function)、方法(Method)、單元(Unit)等。 標(biāo)識符可以分為三類:標(biāo)準(zhǔn)標(biāo)識符、自定義標(biāo)識符和限定標(biāo)識符。1標(biāo)準(zhǔn)標(biāo)識符 (1)標(biāo)準(zhǔn)常量,如False、Maxint、True等; (2)標(biāo)準(zhǔn)類型,如Boolean、Char、Real等; (3)標(biāo)準(zhǔn)函數(shù),如Si
20、n、Cos、Abs、Arctan等; (4)標(biāo)準(zhǔn)過程,如Dispose、Get、New、Pack、Put等; (5)標(biāo)準(zhǔn)文件,如Input、Output等。 2自定義標(biāo)識符程序員根據(jù)程序設(shè)計的需要,自己定義的常量、變量、類型、函數(shù)、過程等所取的名字。自定義標(biāo)識符可以由任意長的一個不帶空格的字符串組成,包括字母AZ 、az 、數(shù)字09 和下劃線“_”等。定義標(biāo)識符需要遵循以下規(guī)則: (1)標(biāo)識符不區(qū)分大小寫; (2)標(biāo)識符只能以字母或下劃線開頭,不能以數(shù)字開頭; (3)標(biāo)識符可任意長度,但只有前225個字符有效; (4)標(biāo)識符中間不允許有空格; (5)不允許使用Object Pascal語言的保
21、留字作為標(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ī)定具有特定意義,不能被重新定義或作他用,定義了65個保留字 。注意: 1單詞at和on具有特殊含義,不要與它們同名。 2保留字和Object Pascal一樣不區(qū)分大小寫。 3Delphi集成開發(fā)環(huán)境的代碼編輯器中,黑體顯示保留字和指令字,定義時不要與這些黑體字一樣。 Object
22、Pascal的保留字 and array as asm begin case class const constructor destructor dispinterface div do downto else end except exports file finalization finally for function goto if implementation in inherited initialization inline interface is label library mod nil not object of or out packed procedure prog
23、ram property raise record repeat resourcestring set shl shr string then threadvar to try type unit until uses var while with xor 2.1.3 指令符指令符指令字只在特殊的程序位置、或當(dāng)上下文關(guān)聯(lián)時有意義的程序區(qū)段有自己特殊的意義,而在其他場合,用戶可對其重新定義,即可將其定義為標(biāo)識符,Object Pascal不會指示出錯,當(dāng)用戶重新定義這些指令字后,在作用域內(nèi)它們就失去了原來的意義了。Object Pascal中規(guī)定的指令符有39個說明:指令符private、pro
24、tected、public、published和automated在定義對象類型時也作為保留字,而在其他場合則作為指令符。2.1.4 注釋注釋注釋可增加程序的可讀性和可維護(hù)性。 Object Pascal語言中注釋有三種形式: 1組合符號“”與“”的成對使用表示它們之間的內(nèi)容為注釋部分。 2組合符號“( *”與“* )”的成對使用表示它們之間的內(nèi)容為注釋部分。 3符號“/ ”的單個使用表示所在行的該符號之后的內(nèi)容為注釋。 注意: 1注釋符“”與“”、“( *”與“* )”在使用時不支持注釋的嵌套,而且必須成對使用。 2對于單行和少量幾行注釋使用符號“/ ”,對于大塊注釋使用“”和“”或“( *
25、”和“* )”。 3有時可利用注釋在代碼中形成一個醒目標(biāo)志。 4在注釋符“”或“( *”后緊接著是一個美元符號“$”時,表示該句是一個編譯器指令,它與普通的注釋不同,通常用來對編譯過程進(jìn)行設(shè)置。2.2 數(shù)據(jù)類型數(shù)據(jù)類型描述客觀事物的數(shù)、字符以及所有能輸入到計算機(jī)中并被計算機(jī)程序加工處理的符號的集合稱為數(shù)據(jù)。 數(shù)據(jù)類型可以分為標(biāo)準(zhǔn)數(shù)據(jù)類型及高級數(shù)據(jù)類型等,還可以通過數(shù)據(jù)類型聲明語句在預(yù)定義數(shù)據(jù)類型的基礎(chǔ)上定義新數(shù)據(jù)類型。說明: 1標(biāo)準(zhǔn)數(shù)據(jù)類型屬于Object Pascal內(nèi)部約定的數(shù)據(jù)類型,無需定義就可以直接使用。 2高級數(shù)據(jù)類型體現(xiàn)了特殊的數(shù)據(jù)結(jié)構(gòu),在使用之前必須由用戶自己定義。 3數(shù)據(jù)類型中
26、整型、字符型、布爾型、枚舉型和子界型被稱為順序類型,其取值是一個有序集合,每一個可能取值都與順序有關(guān)。2.2.1 數(shù)值型數(shù)據(jù)數(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ù)的類型 ,分為基本實型和一般實型?;緦嵭停簡尉葘嵭?、擴(kuò)展型 、雙精度實型 、貨幣型 一般實型:實型 注意:Real
27、類型與Double 類型完全等價。Currency類型至少有4位有效的小數(shù)位。 2.2.2 字符型數(shù)據(jù)字符型數(shù)據(jù) Object Pascal中的字符型數(shù)據(jù)可以分為字符型和字符串型2類7種。1.字符類型Object Pascal包括3種形式的字符型數(shù)據(jù) 類型類型 名稱名稱 字節(jié)數(shù)字節(jié)數(shù) 取值范圍取值范圍 Ansi字符型 AnsiChar 擴(kuò)展ANSI字符集 寬字符型 WideChar UniCode字符集 字符型 Char ()擴(kuò)展ANSI字符集 說明:(1)前2種為基本字符類型后一種為一般類型。(2)Char與AnsiChar完全等價,但Char常用。 2.字符串類型字符串類型是存儲字符串?dāng)?shù)據(jù)
28、的類型 ,Object Pascal包括了4種形式的字符串型數(shù)據(jù) 類型類型 名稱名稱 最大長度最大長度 所需內(nèi)存空間所需內(nèi)存空間 短字符串型 ShortString 255個字符 2256B 長字符串型 AnsiString 231個字符 42GB 寬字符串型 WideString 230個字符 42GB 字符串型 String 231個字符 42GB 說明:()AnsiString類型的定義是動態(tài)分配的,內(nèi)容由AnsiChar類型的字符組成,長度僅受可用內(nèi)存空間的限制,以空字符Nul作為結(jié)尾。()String字符串類型,既可以是ShortString類型也可以是AnsiString類型,默認(rèn)
29、定義是AnsiString類型。2.2.3 布爾型數(shù)據(jù)布爾型數(shù)據(jù)布爾型數(shù)據(jù)用于關(guān)系運(yùn)算和條件語句的邏輯運(yùn)算,包括4種形式的布爾型數(shù)據(jù)。 說明:(1)后3種類型是為了兼容其他語言而設(shè)置的,編程時應(yīng)盡量使用Boolean類型。(2)Boolean取值為False和True兩個符號常量。類型類型 名稱名稱 字節(jié)數(shù)字節(jié)數(shù) 取值取值 布爾型 Boolean 只能為0(False)或1(True) 字節(jié)布爾型 ByteBool 0(False)或非0(True) 寬布爾型 WordBool 0(False)或非0(True) 長布爾型 LongBool 0(False)或非0(True) 2.3 常量與變
30、量常量與變量2.3.1 常量常量常量即在程序的執(zhí)行過程中其值不能改變的量。 常量有兩種,一種是常量值本身,也稱為直接常量;另一種是要用聲明定義的標(biāo)識符表示的常量,也稱為聲明常量。聲明常量又可以分為符號常量和類型常量。1.直接常量直接常量是指在程序中直接引用的常數(shù),如整型常數(shù)、實型常數(shù)、字符型常數(shù)、字符串型常數(shù)和布爾型常數(shù)。 2.聲明常量(1)符號常量 在程序中,某一個常數(shù)反復(fù)多次出現(xiàn),可以定義一個標(biāo)識符來代表該常數(shù),這個標(biāo)識符就是符號常量,其值在定義后不會改變。也稱純常量。定義符號常量使用常量說明語句,其語法格式為:Const =; =;其中Const是保留字,表示常量定義段開始 。注意:保留
31、字Const可單獨一行也可與常量一行。不能在程序中給常量另行賦值,否則將導(dǎo)致語法錯誤。Delphi由常量值判斷常量名屬于哪種類型。(2)類型常量類型常量用于保存數(shù)組、記錄、過程以及指針等類型的值,不能出現(xiàn)在常量表達(dá)式中。在默認(rèn)的編譯器狀態(tài)下,類型常量的值可改變,但當(dāng)在程序中加入編譯命令$j-時,則類型常量的值在運(yùn)行期就無法改變。 聲明類型常量的語法規(guī)則為:Const :=;其中類型是除文件型和可變型的所有類型,常量值可以是和類型相應(yīng)的常量表達(dá)式。 2.3.2 變量變量1.變量的聲明變量在單元、函數(shù)或過程的聲明部分進(jìn)行聲明,聲明的位置決定了變量的作用域。聲明包括兩部分:變量名和它所屬的類型,變量
32、聲明的語法格式為:Var :;:;當(dāng)多個變量具有相同數(shù)據(jù)類型時,格式如下:Var ,:;其中,Var是保留字,表示變量聲明段的開始;同類型的可超過一個,間用“,”分隔;可以是基本數(shù)據(jù)類型或是由用戶定義的高級數(shù)據(jù)類型; 2.變量的使用一旦聲明了一個變量應(yīng)及時對它進(jìn)行初始化,最簡單方法就是給變量賦值,在表達(dá)式中使用變量。 2.4 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式按照操作數(shù)數(shù)目的多少來分,運(yùn)算符分為下面兩類:單目運(yùn)算符和雙目運(yùn)算符。單目運(yùn)算符一般放在操作對象的前面,雙目運(yùn)算符都放在兩個操作數(shù)之間。表達(dá)式是表示某個求值規(guī)則的運(yùn)算公式,由運(yùn)算符和配對的圓括號將常量、變量、函數(shù)、對象等操作數(shù)以合理的形式組合而
33、成。 2.4.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式1.算術(shù)運(yùn)算符算術(shù)運(yùn)算符對浮點數(shù)和整數(shù)進(jìn)行加、減、乘、除和取模運(yùn)算,取正“+”和取負(fù)“-”是單目運(yùn)算符,其他均為雙目運(yùn)算符。 說明:(1)+、-、*運(yùn)算中,參加運(yùn)算的數(shù)可以是整型和實型,結(jié)果自動向精度高的類型轉(zhuǎn)化。(2)參加除法運(yùn)算“/”,結(jié)果都是實型的商。(3)參加整數(shù)除法“Div”和求余運(yùn)算“Mod”的數(shù)必須是整型,結(jié)果也是整型數(shù),符號與被除數(shù)的符號相同,小數(shù)部分被舍去。(4)在表達(dá)式a/b、a Div b和a Mod b中,如果b的值為0,將會觸發(fā)一個錯誤。 2.算術(shù)運(yùn)算符的優(yōu)先級 同級運(yùn)算自左至右,如果含有括號,則先計算括號
34、內(nèi)表達(dá)式的值。3.算術(shù)表達(dá)式 將數(shù)學(xué)式改寫為算術(shù)表達(dá)式,考慮三個問題:一是語法,二是優(yōu)先級,三是類型。 優(yōu)先順序優(yōu)先順序 運(yùn)算符運(yùn)算符 +、-(取正、取負(fù)) *、/(法、除法) Div、Mod(整除、求余) +、(加法、減法) 說明:(1)數(shù)學(xué)式中省略的運(yùn)算符和表示函數(shù)參數(shù)的括號必須添加上去 (2)必須注意優(yōu)先級的處理 ,恰當(dāng)利用標(biāo)準(zhǔn)函數(shù) ,注意數(shù)據(jù)類型。 2.4.2 邏輯運(yùn)算符與布爾表達(dá)式邏輯運(yùn)算符與布爾表達(dá)式邏輯運(yùn)算符可分為布爾運(yùn)算符、位運(yùn)算符和關(guān)系運(yùn)算符。1.布爾運(yùn)算符只能對兩個布爾型操作數(shù)進(jìn)行運(yùn)算,結(jié)果仍為布爾型,True或False。其中,NOT是求“非”,為一元運(yùn)算符 ; AND是
35、求“與”,OR是求“或”,XOR是求“異或”,均為二元運(yùn)算符 。 2.位運(yùn)算符運(yùn)算符運(yùn)算符 操作舉例操作舉例操作數(shù)類型操作數(shù)類型 結(jié)果類型結(jié)果類型 功能說明功能說明 NOT NOT x integer integer 即按二進(jìn)制形式將每位求反AND a AND b integer integer 將兩者相對應(yīng)的位進(jìn)行AND運(yùn)算OR a OR b integer integer 將兩者相對應(yīng)的位進(jìn)行OR運(yùn)算XOR a XOR b integer integer 將兩者相對應(yīng)的位進(jìn)行取XOR運(yùn)算,兩者不同時結(jié)果為1 SHL a SHL b integer integer 將a的二進(jìn)制值向左移動b位
36、,左移一位相當(dāng)于乘2 SHR a SHR b integer integer 將a的二進(jìn)制向右移動b位,右移一位相當(dāng)于除2 注意:右移操作時原值的低位丟失,高位補(bǔ)0;左移操作時原值的高位丟失,低位補(bǔ)0。 3.關(guān)系運(yùn)算符關(guān)系符關(guān)系符 操作操作 操作數(shù)類型操作數(shù)類型 結(jié)果類型結(jié)果類型 = 等于 簡單類型,字符串或可變類型,類,類引用,指針,集合類型 Boolean 不等于 簡單類型,字符串或可變類型,類,類引用,指針,集合類型Boolean 大于 簡單類型,字符串或可變類型 Boolean = 大于等于 簡單類型,字符串或可變類型 Boolean 4.布爾表達(dá)式布爾表達(dá)式由布爾運(yùn)算符和布爾類型的操
37、作數(shù)所組成,包括關(guān)系運(yùn)算表達(dá)式和運(yùn)算結(jié)果為布爾類型的函數(shù),如Odd(x)、FileExists(x)、等。但位運(yùn)算符的結(jié)果是整數(shù)類型,不能直接作為布爾操作數(shù)。2.4.3 字符串運(yùn)算符 連接運(yùn)算符“+”主要用于連接兩個或更多的字符串。最簡單的字符串表達(dá)式是字符常量、字符串常量、字符變量、字符串變量或字符函數(shù)的引用。字符串表達(dá)式格式為: +| 當(dāng)兩個字符串用連接運(yùn)算符連接起來后,第二個字符串直接添加到第一個字符串的尾部,結(jié)果是包含兩個源字符串全部內(nèi)容的新字符串。如果要把多個字符串連接起來,每兩個字符串之間都要用“+”號分隔。 2.4.4 運(yùn)算符的優(yōu)先級優(yōu)先順序優(yōu)先順序 運(yùn)算符運(yùn)算符 分類描述分類描
38、述 1(取地址),NOT,- 一元運(yùn)算符 2*,/,DIV,MOD,AND,SHL,SHR 乘除及類型強(qiáng)制轉(zhuǎn)換運(yùn)算符 3+,OR,XOR 加減運(yùn)算符 4=, =,in,is 關(guān)系、集合成員及類型比較運(yùn)算符 2.5常用系統(tǒng)函數(shù)與過程常用系統(tǒng)函數(shù)與過程2.5.1 數(shù)值運(yùn)算函數(shù) Delphi的數(shù)值運(yùn)算函數(shù)包含了常用的數(shù)學(xué)函數(shù)(如三角函數(shù)、對數(shù)函數(shù)等)和適合計算機(jī)數(shù)據(jù)處理的其他函數(shù)(如求數(shù)組中的最大值、求三角形的斜邊長等)。2.5.2 字符處理函數(shù) 對字符的處理主要包括:大小寫轉(zhuǎn)換、比較先后順序、合并、查找、截取、插入、求長度以及類型轉(zhuǎn)換等。 2.5.3 日期時間函數(shù) 調(diào)用日期時間函數(shù)可對日期和時間進(jìn)
39、行處理 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ù)序數(shù)為1,其余類推。 除第一個序數(shù),每一個都有一個前趨值;除最后一個序數(shù),每一個都有一個后繼值。2.順序函數(shù) 2.6語句語句2.6.1 語句的基本概念語句的基本概念按執(zhí)行時間可分為:聲明語句和可執(zhí)行語句。順序函數(shù)順序函數(shù) 引用形式引用形式 函數(shù)功能描述函數(shù)功能描述 序數(shù)函數(shù) Ord(x); 返
40、回數(shù)據(jù)x的序數(shù) 前趨函數(shù) Pred(x); 返回數(shù)據(jù)x的前趨值。如果將Pred函數(shù)用于第一個數(shù)據(jù),就可能產(chǎn)生一個編譯時的錯誤 后繼函數(shù) Succ(x); 返回數(shù)據(jù)x的后繼值。如果將Succ函數(shù)用于最后一個數(shù)據(jù),就可能產(chǎn)生一個編譯時的錯誤 首序數(shù)函數(shù) Low(x); 返回順序型數(shù)據(jù)x取值集合中的第一個值(序數(shù)最?。?。它還可以返回數(shù)組的第一個元素 末序數(shù)函數(shù) High(x); 返回順序型數(shù)據(jù)x取值集合中的最末一個值(序數(shù)最大),它還可以返回數(shù)組的最末一個元素 聲明語句包括單元說明語句、類型說明語句、變量說明語句、過程說明語句、函數(shù)說明語句和程序區(qū)段標(biāo)識語句等。 可執(zhí)行語句包括賦值語句、運(yùn)行控制語句
41、和結(jié)構(gòu)控制語句等。 按語句的描述形式,可分為簡單語句、結(jié)構(gòu)語句和復(fù)合語句等。 簡單語句只含有一個語句定義符或特殊標(biāo)志;結(jié)構(gòu)語句往往含有多于一個的語句動詞;復(fù)合語句則是由begin和end括起來的若干個簡單語句、結(jié)構(gòu)語句和復(fù)合語句,允許復(fù)合語句多層嵌套,或為空,也就是在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
42、:begin /語句 end; end;2.類型聲明語句在Object Pascal中,所有的變量必須是某種特定的數(shù)據(jù)類型,類型決定了它所能包含的數(shù)值和可進(jìn)行的操作,用類型聲明語句可以定義新的數(shù)據(jù)類型。例如:TypeTmyDim:Array1.10,1.5 of Double;3.過程聲明語句過程可以被看成一段小程序,用來實現(xiàn)某種特定的目標(biāo),在完整的程序中它被當(dāng)作一個語句來執(zhí)行。在建立過程之前應(yīng)先聲明。procedure NumString(N:Integr;Var S:string);4.函數(shù)聲明語句函數(shù)與過程相似,主要區(qū)別在于函數(shù)必須有返回值,函數(shù)的聲明參見下面的語句,其中,最后的Real
43、表示函數(shù)的返回數(shù)據(jù)類型。Function Power(X:Real;Y:Integer):Real;2.6.3 賦值語句和程序的順序結(jié)構(gòu)賦值語句和程序的順序結(jié)構(gòu)1.賦值語句賦值語句的語法格式為::=;2.類型兼容類型兼容是指數(shù)據(jù)類型不完全相同的量之間能進(jìn)行的運(yùn)算和賦值操作。 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)移。它是任何程序的主
44、體結(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)條件語句和程序的選擇結(jié)構(gòu)實現(xiàn)選擇結(jié)構(gòu)的是IF語句和Case語句,這兩種語句又稱條件語句,條件語句的功能就是根據(jù)表達(dá)式的值有選擇地執(zhí)行一組語句。 1.if語句通過條件的布爾表達(dá)式值選擇執(zhí)行路徑。if then else ;if語句分為簡單條件語句和復(fù)合條件語句。簡單條件語句的中不包含其他的條件語句 。如果在If語句格式中的或本身又是一個If語句,則稱為If語句的嵌套,嵌套的If語句又被稱為復(fù)合條件語句。 2.Case語句Case語句用來實現(xiàn)多分支選擇結(jié)構(gòu)。
45、Case語句描述了多路擇一的功能,它根據(jù)“選擇器表達(dá)式”的值決定執(zhí)行相應(yīng)的語句。Case語句的語法格式為: case of:;:;else ;end;說明:的值必須是順序類型 。2.6.5 循環(huán)語句和程序的循環(huán)結(jié)構(gòu)循環(huán)語句和程序的循環(huán)結(jié)構(gòu)從某處開始有規(guī)律地反復(fù)執(zhí)行某一程序塊的現(xiàn)象稱為“循環(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 d
46、o ;說明:可在(循環(huán)體)中任何位置Break語句來終止While 循環(huán),Break 語句通常位于IF語句后??稍谘h(huán)體中任何位置放置Continue語句,以便在整個循環(huán)體沒有執(zhí)行完就重新判斷(條件),以決定是否開始新的循環(huán)。Continue語句通常位于IF 語句之后。 2.Repeat語句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語句的語
47、法格式為: 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)體中的嵌套稱為內(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語句??梢苑旁谘h(huán)體的任意位置,通常放在If語句之后。 執(zhí)行Break語句的結(jié)果是:跳出整個循環(huán),執(zhí)行之后的語句。執(zhí)行Continue語
48、句的結(jié)果是:跳出本輪循環(huán),然后判斷循環(huán)條件是否成立,再決定是否開始新一輪的循環(huán)。小結(jié)小結(jié)本章主要介紹了Object Pascal的最基本的語法,主要包括基本詞法、基本數(shù)據(jù)類型、常量與變量、運(yùn)算符與表達(dá)式、常用函數(shù)與過程、語句等。第3章 常用組件 Delphi 7.0的組件板上含有27個選項卡,總共包括350多個組件,如圖所示 :3.1 窗體窗體 3.1.1 Form組件組件 窗體是應(yīng)用程序的操作界面,是放置組件的基礎(chǔ)。窗體由標(biāo)題欄、工作區(qū)和邊界組成。 圖3-1 組件板和選項卡運(yùn)行界面圖1. Form的主要屬性窗體組件(TForm)在運(yùn)行時表現(xiàn)為一個窗體,窗體是一個容器構(gòu)件,它可以包含其他種類的
49、構(gòu)件,并協(xié)同完成應(yīng)用程序的整體功能。窗體由屬性、事件和方法組成。(1)BorderIcons屬性 用來制定窗體標(biāo)題欄上的圖標(biāo) (2)BorderStyle屬性 Borderstyle屬性用來設(shè)置窗體的外觀和邊框 (3)Name屬性 Name屬性唯一地標(biāo)識對象,取值不能為空,若工程中有多個窗體,名稱不能相同。 (4)Caption屬性用來指定窗體標(biāo)題欄中說明文字,可以為空。(5)Font屬性Font屬性用來設(shè)置窗體中文字的字體、顏色和字號等等,其中Font.style屬性為集合型。(6)FormStyle屬性FormStyle屬性用來指定窗體的類型。從窗體類型的角度來看,Windows環(huán)境中的應(yīng)
50、用程序可以分為以下三類。第一類:多文檔界面(MDI)應(yīng)用程序一般這種應(yīng)用程序具有一個父級窗口和多個子窗口,可以同時打開多個文檔,分別在多個子窗口中顯示。 第二類:單文檔界面(SDI)應(yīng)用程序這種應(yīng)用程序同時只能打開一個文檔。第三類:對話框應(yīng)用程序這種應(yīng)用程序的主界面基于一個對話框類型的窗體。 (7)Icon屬性Icon屬性用來指定標(biāo)題欄中顯示的圖標(biāo)。 (8)Position屬性Position屬性用來描述窗體大小和顯示位置。 (9)WindowsState屬性WindowsState屬性來描述窗體顯示狀態(tài) 。2.TForm 的事件 窗體是一個可視化的組件,包括外部事件和內(nèi)部事件。 3.窗體的方
51、法一些常用方法(過程或函數(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)建窗體是指再工程的編輯、設(shè)計時創(chuàng)建新窗體;而動態(tài)創(chuàng)建窗體是指在工程的運(yùn)行時通過代碼生成窗體。 (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)or
52、m2中添加1個Label組件,即可完成界面設(shè)計。 添加代碼:procedure TForm1.Button1Click(Sender: TObject); /創(chuàng)建按鈕事件begin /關(guān)鍵分析 form2.show; /調(diào)用Show方法顯示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)建它,使用后將其立
53、即釋放,這種稱為窗體的動態(tài)創(chuàng)建。 3.1.2彈出對話框窗體彈出對話框窗體Delphi提供內(nèi)部對話框有兩種。第一種:信息輸出對話框Showmessage過程、ShowMessageFmt過程、MessageDlg函數(shù)、MessageDlgPos函數(shù)、CreateMessageDialog函數(shù)。 第二種:信息輸入對話框InputBox函數(shù)、InputQuery函數(shù)。1ShowMessage過程 其語法格式為:ShowMessage(); 2ShowMessageFmt過程的語法格式為: ShowMessageFmt(,);3MessageDlg函數(shù)函數(shù)其語法格式為:其語法格式為:=MessageD
54、lg(,HelpCtx); 4MessageDlgPos函數(shù) 其語法格式為:=MessageDlgPos(,HelpCtx,X,Y); 可以指定對話框的顯示位置坐標(biāo):X,Y。 5CreatMessageDialog函數(shù)其語法格式為:=CreatMessageDialog (,);6InputBox函數(shù)函數(shù)其語法格為:其語法格為:=InputBox (,);7InputQuery函數(shù)其語法格式為:=InputQuery (,);3.2 輸入顯示類組件輸入顯示類組件3.2.1 Edit組件編輯框(Edit)是一種通用組件,既可以輸入文本,又可以顯示文本,編輯框組件位于Standard組件板中。 圖
55、3-7編輯框Edit 運(yùn)行界面圖1Edit的主要屬性 (1)AutoSelect屬性:設(shè)置編輯框得到焦點時,文本是否自動被選中。 (2)AutoSize屬性:決定編輯框是否自動隨字體的變化而改變大小。 (3)Enable屬性 :用來設(shè)置編輯框是否能用。 (4)BorderSytle屬性:設(shè)置編輯框邊框類型 。(5)MaxLength屬性:設(shè)所能接受最大字符數(shù)。(6)PasswordChar屬性:設(shè)置非#0字符時,將代替用戶輸入的字符被顯示。 (7)ReadOnly屬性:定編輯框中的文本是否可以編輯。 (8)SelStart屬性:被選中文本的開始位置,或光標(biāo)在文本中的位置。(9)SelText屬
56、性:被選中的文本 。(10)SelLength屬性:被選中文本的長度。(11)Text屬性:編輯框中的文本內(nèi)容。(12)CharCase屬性:控制編輯框中文本大小寫 3.2.2 Label組件標(biāo)簽組件位于Standard組件板中。 圖3-8 標(biāo)簽Label 運(yùn)行界面圖1Label的主要屬性 (1)Caption屬性:用來顯示標(biāo)簽的文本。 (2)ShowAccelChar屬性 :決定是否將&作為作為熱鍵字符的標(biāo)記。 (3)AutoSize屬性:決定標(biāo)簽是否自動隨文本的變化而改變大小 。(4)Alignment屬性:決定對齊方式 。(5)Layout屬性:控制文本顯示在標(biāo)簽的位置。 (6)
57、WordWrap屬性:控制是否折行顯示。 (7)Transparent屬性:決定背景是否透明。 (8)FocusControl屬性:用來獲得焦點組件名。 3.2.3 Memo組件組件備注框組件位于Standard組件板中。1Memo的主要屬性備注框在Delphi中用Tmemo類處理,Tmemo類是Tedit類的衍生類,為了處理多行文本,Tmemo類還增加了一些新的屬性。(1)CaretPos屬性:得到光標(biāo)在編輯區(qū)中位置。 (2)Lines屬性:用來存放Memo對象的文本。 (3)Modified屬性:確定文本是否被改動過。 圖3-10 備注框 Memo運(yùn)行界面圖(4)ScrollBars屬性:
58、決定備注框是否具有滾動條 。(5)WordWrap屬性 :設(shè)置文本是否能夠換行 。(6)WantReturns屬性:用來設(shè)置備注框是否能插入“回車”鍵。 (7)WantTabs屬性:用來設(shè)置備注框是否能插入“Tab”鍵。 2Memo的使用【例3.4】利用編輯框,把編輯框中的文本輸入到Memo中。(1)界面設(shè)計 創(chuàng)建一個新的工程,在窗體中添加1個按鈕Button1組件、一個編輯框Edit1組件和一個備注框Memo1組件,各組件的屬性設(shè)置如圖:(2)程序設(shè)計procedure TForm1.Button1Click(Sender: TObject);begin Memo1.Lines.Add(Ed
59、it1.Text); edit1.Text:=; edit1.SetFocus; end;圖3-12 Memo示例運(yùn)行界面圖procedure TForm1.FormActivate(Sender: TObject);begin edit1.SetFocus;end;3.2.4 MaskEdit 組件組件 它限制用戶在所定義的位置輸入要求輸入的符號。掩碼編輯框(MaskEdit)組件位于Additional附加組件板”中。1MaskEdit常用屬性圖3-13 Memo示例運(yùn)行界面圖()EditMask屬性EditMask屬性用來控制用戶輸入數(shù)據(jù)格式的掩碼字符串,掩碼字符串EditMask屬性分
60、為三個部分,用分號分隔。第一部分是掩碼字符串的主要部分,它確定了數(shù)據(jù)的格式;第二部分決定是否將掩碼中的字符串作為數(shù)據(jù)的一部分,0表示不作為數(shù)據(jù)的一部分,1表示作為數(shù)據(jù)的一部分,它將影響屬性;第三部分指出在掩碼中用來代表未輸入數(shù)據(jù)的字符。(2)EditText屬性:用來返回用戶輸入的數(shù)據(jù)。 3.3按鈕類組件按鈕類組件3.3.1 Button組件組件Button按鈕在Delphi 7.0組件板Standard選項卡中 1.Button的主要屬性(1)Caption屬性:來制定按鈕所顯示的文字。(2)Cancel屬性:決定改按鈕是否為取消按鈕 ,缺省值為False。(3)Default屬性:用來決定改按鈕是
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度膩子產(chǎn)品銷售與售后服務(wù)合同2篇
- 二零二五年度環(huán)保技術(shù)開發(fā)合伙投資合同
- 2024版學(xué)校污水處理設(shè)施清掏協(xié)議版B版
- 忻州師范學(xué)院《建筑工程評估基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年水利工程勞務(wù)派遣與設(shè)備租賃合同3篇
- 西安工商學(xué)院《圖像處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢警官職業(yè)學(xué)院《低頻模擬電路》2023-2024學(xué)年第一學(xué)期期末試卷
- 文山學(xué)院《房屋建筑學(xué)課程設(shè)討》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年生物制藥技術(shù)轉(zhuǎn)讓及合作開發(fā)協(xié)議2篇
- 二零二五年度廠長任期企業(yè)戰(zhàn)略規(guī)劃與執(zhí)行合同2篇
- 2024年滄州經(jīng)濟(jì)開發(fā)區(qū)招聘社區(qū)工作者筆試真題
- 中外美術(shù)史試題及答案
- 2025年安徽省銅陵市公安局交警支隊招聘交通輔警14人歷年高頻重點提升(共500題)附帶答案詳解
- 公共政策分析 課件 第8章政策評估;第9章政策監(jiān)控
- 人教版八年級上學(xué)期物理期末復(fù)習(xí)(壓軸60題40大考點)
- 企業(yè)環(huán)保知識培訓(xùn)課件
- 2024年度管理評審報告
- 暨南大學(xué)《微觀經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 醫(yī)藥銷售合規(guī)培訓(xùn)
- DB51-T 5038-2018 四川省地面工程施工工藝標(biāo)準(zhǔn)
- 三年級數(shù)學(xué)(上)計算題專項練習(xí)附答案
評論
0/150
提交評論