湖北理工學(xué)院計算機學(xué)院09級計科Delphi程序設(shè)教程.ppt
《湖北理工學(xué)院計算機學(xué)院09級計科Delphi程序設(shè)教程.ppt》由會員分享,可在線閱讀,更多相關(guān)《湖北理工學(xué)院計算機學(xué)院09級計科Delphi程序設(shè)教程.ppt(389頁珍藏版)》請在裝配圖網(wǎng)上搜索。
Delphi教程 課程介紹 Delphi是著名的Borland公司開發(fā)的可視化軟件開發(fā)環(huán)境 自1995年問世以來 帶來了程序設(shè)計中的一場重大變化 Delphi作為第四代編程語言 具有簡單 高效和功能強大等特點 這些特點使得它為廣大程序開發(fā)者所青睞 第1章Delphi基礎(chǔ)知識 1 1Delphi簡介Delphi作為一種可視化的編程環(huán)境 經(jīng)歷了7代產(chǎn)品的發(fā)展歷程 Borland公司在1995年推出了基于Windows平臺的Delphi1 Delphi2新增加的主要功能是對32位編程的支持 還增加了如數(shù)據(jù)模塊等多種高效的數(shù)據(jù)重用功能 Delphi3對其組件庫進行增強 完全支持ActiveX組件及其創(chuàng)建 Delphi4提供了ObjectPascal語言的擴展 但系統(tǒng)穩(wěn)定性較差 1999年推出Delphi5增強了數(shù)據(jù)庫的功能 2001年6月推出Delphi6 增加了大量的新組件 使組件數(shù)目達350多個 以滿足網(wǎng)絡(luò)開發(fā)的需要 2002年8月推出Delphi7 在集成開發(fā)環(huán)境IDE Web 數(shù)據(jù)庫 編譯器 模型生成支持及組件庫等很多方面進行了改進 1 2Delphi7IDE1 2 1認識集成開發(fā)環(huán)境Delphi7的IDE主要包括7個部分 主窗口 組件面板 工具欄 窗體設(shè)計器 代碼編輯器 對象觀察器和代碼瀏覽器 圖1 1Delphi7的IDE 1 主窗口主要包括 菜單欄 工具欄 標題欄和組件面板Delphi7的主菜單包括11個下拉菜單注意 工具欄上的按鈕都提供了描述該按鈕功能的tooltip 除了組件面板IDE有6個獨立的工具欄IDE工具欄的定制功能并不僅限于配置需要顯示的按鈕 還可以調(diào)整工具欄 組件面板和菜單欄在主窗口中的位置 圖1 2Delphi7的主窗圖口 Delphi7組件板包含了350多個組件 是Delphi可視化編程的核心部件 它由27個選項卡組成組件面板如圖1 4所示包含了IDE中安裝的所有的VCL組件和ActiveX組件將組件板上的組件添加到窗體上的三種方法 單擊組件板上的所需組件的按鈕 然后在窗體適當(dāng)位置拖動鼠標畫出組件 即可將組件添加到窗體的指定位置上 圖1 4Delphi7的組件面板 雙擊組件板上的所需組件的按鈕 即可將組件添加到窗體的中心位置 按下鍵不放 單擊組件板上的所需組件的按鈕 所選組件出現(xiàn)藍色邊框 同時對象選擇按鈕將彈起組件板中的組件分為可視組件與非可視組件2 窗體設(shè)計器在創(chuàng)建新的項目時 窗體設(shè)計器是一個空白的窗口 可以用鼠標調(diào)整組件在窗體設(shè)計器上的位置和大小 還可以用對象觀察器和代碼編輯器來控制組件的外觀和行為 3 對象觀察器利用對象觀察器 可以修改窗體或組件的屬性 或者使它們能夠響應(yīng)不同的事件 屬性 Property 是一些數(shù)據(jù) 如高度 顏色 字體等 它們決定了組件在屏幕上的外觀 事件 Event 則是一種消息處理機制 它能夠捕捉某種情況的發(fā)生并做出反應(yīng) 像鼠標單擊和窗口打開就是兩種典型的事件 對象觀察器類包括Properties選項卡和Events選項卡 下圖兩個對象觀察器 左邊一個按種類排序 右邊一個按名字排序 注意 幫助系統(tǒng)是和對象觀察器緊密結(jié)合在一起的 想了解某個屬性或事件的幫助信息 只要在該屬性或事件上按下F1鍵 圖1 5按種類或名稱查看ObjectInspector 4 代碼編輯器代碼編輯器是輸入代碼來指定應(yīng)用程序行為的地方 也是Delphi根據(jù)應(yīng)用程序中的組件自動生成代碼的地方 當(dāng)向應(yīng)用程序中加入一個窗體時 Delphi會自動創(chuàng)建一個新的單元 并添加到代碼編輯器頂部的標簽中 5 代碼瀏覽器以一種樹狀視圖方式顯示列在代碼編輯器中的單元文件 通過它 可以方便地在單元文件中漫游或在單元文件中加入新的元素或者把已有的文件改名 要記住代碼瀏覽器和代碼編輯器有一對一的關(guān)系 6 源代碼生成器當(dāng)對窗體設(shè)計器中可視化組件進行操作時DelphiIDE自動生成ObjectPascal源代碼 當(dāng)用 File New Application 菜單命令創(chuàng)建一個新的項目時 將看到屏幕上出現(xiàn)一個空白的窗體設(shè)計器 同時 代碼編輯器中會自動出現(xiàn)一些代碼 如下所示 unitUnit1 interfaceusesWindows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs typeTForm1 class TForm private Privatedeclarations public Publicdeclarations end varForm1 TForm1 implementation R dfm end 從上述源代碼清單中可以看出 窗體對象是從TForm繼承下來的 下面這一行非常重要 R dfm Pascal語言中的 R指令用于加載一個外部資源文件 dfm文件中包含在窗體設(shè)計器中創(chuàng)建的表單的二進制代碼 其中的 表示與當(dāng)前單元文件同名的文件 項目文件的擴展名是 dpr可以選擇主菜單下的 Project ViewSource 命令把項目源文件調(diào)入代碼編輯器 如下用程序示例的項目文件 programProject1 usesForms Unit1in Unit1 pas Form1 R res beginApplication Initialize Application CreateForm TForm1 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世紀90年代中期流行一種嶄新的程序設(shè)計概念 軟件可以由可互換的組件構(gòu)成組件是一種通過公開的屬性 方法 事件 是可以重復(fù)使用的一種經(jīng)過編譯的二進制文件 其文件名可以是 OCX或者是 dll 如命令按鈕 復(fù)選框 單選框 滾動條等都是常見的組件 1 2 3Delphi7的特點Delphi最顯著的特點就是高效性和穩(wěn)定性 主要體現(xiàn)在以下4個方面 可視化開發(fā)環(huán)境的性能 編譯器的速度和已編譯代碼的效率 編程語言的功能及其復(fù)雜性 豐富的VCL1 可視化開發(fā)環(huán)境可視化開發(fā)環(huán)境通常可分為3個部分 編輯器 調(diào)試窗口和窗體設(shè)計器 2 編譯器的速度和已編譯代碼的效率Pascal編譯器最著名特點就是速度快 而Delphi正是建立在這種編譯器基礎(chǔ)之上的 增加了鏈接和各種緩存策略 尤其是在VisualC 和C Builder中 3 編程語言的功能及其復(fù)雜性匯編是一種最有力的語言 即便是用匯編開發(fā)最簡單的應(yīng)用程序 難度也非常大 還可能一無所獲 4 豐富的VCLVCL是Delphi7最重要的組成部分 包含不同種類的組件 1 2 4幫助的使用 1 當(dāng)遇到問題時 可以嘗試按下 F1 鍵 一般情況下Delphi都會準確地定位 2 如果需要瀏覽系統(tǒng)的一些幫助內(nèi)容 比如說對象Pascal語言 可以通過菜單 Help DelphiHelp 命令打開 幫助主題 DelphiHelp 對話框 在目錄標簽中展開相關(guān)條目 進行系統(tǒng)學(xué)習(xí) 3 當(dāng)使用WindowsAPI函數(shù)時 通過 Help DelphiHelp 打開的 幫助主題 DelphiHelp 對話框中 在 索引 選項卡中可能查不到有關(guān)的幫助信息 有兩種解決辦法 一種辦法是在代碼編輯器中輸入WindowsAPI函數(shù)的名稱 然后將光標定位到該名稱中 接著按下 F1 鍵 另一種辦法是通過 Help WindowsSDK 打開幫助文件Win32 hlp 在 索引 選項卡中查找 4 幫助文件打開時 要瀏覽相關(guān)內(nèi)容 可以按下工具欄中的 或 按鈕 通常這樣是在同一個主題中瀏覽 通過一些SeeAlso熱鏈接 也可以查看相關(guān)的幫助內(nèi)容 5 在組件欄上右擊 通過快捷菜單的Help命令 可以查看有關(guān)組件的幫助內(nèi)容 6 在Delphi集成開發(fā)環(huán)境中 通過 Help Customize 命令可以打開 OpenHelp 窗口 在該窗口中可以對幫助文件進行管理 其中包括幫助內(nèi)容 幫助索引 鏈接位置和幫助工程文件等的管理 1 3簡單Delphi程序設(shè)計Delphi7編寫應(yīng)用程序包括新建應(yīng)用程序 設(shè)置窗體屬性 添加組件 設(shè)置組件屬性 添加事件 編寫事件響應(yīng)代碼 編譯運行等1 新建應(yīng)用程序 啟動Delphi7 選擇 File New Application 菜單 新建一個應(yīng)用程序 2 設(shè)置窗體屬性單擊 ObjectInspector 在對象觀察器中打開 Properties 選項卡 單擊Caption屬性右側(cè) 輸入窗體的新標題 窗口 3 向窗體中添加組件單擊Standard選項卡上的Button組件 將鼠標指向窗體中的任意位置 標題欄除外 單擊鼠標 即可把Button1組件放入窗體中 或者直接雙擊組件面板上的Button組件 也可以在窗體中添加一個Button1組件 4 設(shè)置組件屬性選中組件 單擊ObjectInspector的標題欄以激活對象觀察器 并選擇Properties選項卡 在對象觀察器中單擊要設(shè)置的屬性 進行屬性設(shè)置 5 添加事件選中要添加事件的組件 激活對象觀察器 并選擇Event選項卡 在對象觀察器中單擊要添加的事件 在其右側(cè)輸入事件的響應(yīng)函數(shù)名稱 然后回車即可 6 編寫事件響應(yīng)代碼 選定要編寫事件響應(yīng)代碼的組件 打開Event選項卡 雙擊要編寫響應(yīng)代碼的事件右側(cè)的空白部分 進入代碼編輯窗口 procedureTForm1 Button1Click Sender TObject 單擊放大按鈕 窗口將放大beginform1 Height form1 Height 10 窗口高度10form1 Width form1 Width 10 窗口寬度10end procedureTForm1 Button2Click Sender TObject 單擊縮小按鈕 窗口將縮小Beginform1 Height form1 Height 10 窗口高度減10 form1 Width form1 Width 10 窗口寬度減10end procedureTForm1 Button3Click Sender TObject 關(guān)閉窗口beginclose 退出end 7 編譯運行程序 圖1 6例程運行界面 1 4Delphi上機步驟1 啟動程序2 添加組件在窗體設(shè)計器中添加如圖1 7所示的各組件 3 設(shè)置組件屬性4 編寫代碼組件屬性設(shè)置完成后 編寫如下代碼 圖1 7窗體布局圖 procedureTForm1 Edit1Change Sender TObject 編輯框1中的內(nèi)容改變時的事件varstringlength integer 定義整型變量 記錄編輯框1中字符的個數(shù)beginstringlength edit1 GetTextLen 得到編輯框1中字符個數(shù)edit2 Text inttostr stringlength 編輯框2顯示編輯框1中字符個數(shù)end procedureTForm1 Button1Click Sender TObject 關(guān)閉窗口beginclose end 5 保存工程保存工程分為保存單元文件和保存項目文件兩步 第一步是保存單元文件 單擊工具欄上的Save按鈕 將打開SaveUnit1As窗口 默認的單元文件名是 Unit1 pas 以 pas 為擴展名 單元文件名根據(jù)需要可以另取 第二步是保存項目文件 單擊工具欄上SaveProject1As按鈕 默認的項目文件名是 Project1 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保留字與標識符2 1 1標識符標識符是ObjectPascal語言中各種成分的名稱 這些成分包括變量 Var 常量 Const 類型 Type 過程 Procedure 函數(shù) Function 方法 Method 單元 Unit 等 標識符可以分為三類 標準標識符 自定義標識符和限定標識符 1 標準標識符 1 標準常量 如False Maxint True等 2 標準類型 如Boolean Char Real等 3 標準函數(shù) 如Sin Cos Abs Arctan等 4 標準過程 如Dispose Get New Pack Put等 5 標準文件 如Input Output等 2 自定義標識符程序員根據(jù)程序設(shè)計的需要 自己定義的常量 變量 類型 函數(shù) 過程等所取的名字 自定義標識符可以由任意長的一個不帶空格的字符串組成 包括字母A Z a z 數(shù)字0 9和下劃線 等 定義標識符需要遵循以下規(guī)則 1 標識符不區(qū)分大小寫 2 標識符只能以字母或下劃線開頭 不能以數(shù)字開頭 3 標識符可任意長度 但只有前225個字符有效 4 標識符中間不允許有空格 5 不允許使用ObjectPascal語言的保留字作為標識符 3 限定標識符在Delphi程序中可引用多個單元 而各個單元中全局變量 函數(shù) 過程等可能會同名 在引用時需用限定標識符來區(qū)分它們 VarY real Y System cos pi 其中System稱為限定符 而System cos稱為限定標識符 2 1 2保留字保留字由系統(tǒng)規(guī)定具有特定意義 不能被重新定義或作他用 定義了65個保留字 注意 1 單詞at和on具有特殊含義 不要與它們同名 2 保留字和ObjectPascal一樣不區(qū)分大小寫 3 Delphi集成開發(fā)環(huán)境的代碼編輯器中 黑體顯示保留字和指令字 定義時不要與這些黑體字一樣 ObjectPascal的保留字 2 1 3指令符指令字只在特殊的程序位置 或當(dāng)上下文關(guān)聯(lián)時有意義的程序區(qū)段有自己特殊的意義 而在其他場合 用戶可對其重新定義 即可將其定義為標識符 ObjectPascal不會指示出錯 當(dāng)用戶重新定義這些指令字后 在作用域內(nèi)它們就失去了原來的意義了 ObjectPascal中規(guī)定的指令符有39個說明 指令符private protected public published和automated在定義對象類型時也作為保留字 而在其他場合則作為指令符 2 1 4注釋注釋可增加程序的可讀性和可維護性 ObjectPascal語言中注釋有三種形式 1 組合符號 與 的成對使用表示它們之間的內(nèi)容為注釋部分 2 組合符號 與 的成對使用表示它們之間的內(nèi)容為注釋部分 3 符號 的單個使用表示所在行的該符號之后的內(nèi)容為注釋 注意 1 注釋符 與 與 在使用時不支持注釋的嵌套 而且必須成對使用 2 對于單行和少量幾行注釋使用符號 對于大塊注釋使用 和 或 和 3 有時可利用注釋在代碼中形成一個醒目標志 4 在注釋符 或 后緊接著是一個美元符號 時 表示該句是一個編譯器指令 它與普通的注釋不同 通常用來對編譯過程進行設(shè)置 2 2數(shù)據(jù)類型描述客觀事物的數(shù) 字符以及所有能輸入到計算機中并被計算機程序加工處理的符號的集合稱為數(shù)據(jù) 數(shù)據(jù)類型可以分為標準數(shù)據(jù)類型及高級數(shù)據(jù)類型等 還可以通過數(shù)據(jù)類型聲明語句在預(yù)定義數(shù)據(jù)類型的基礎(chǔ)上定義新數(shù)據(jù)類型 說明 1 標準數(shù)據(jù)類型屬于ObjectPascal內(nèi)部約定的數(shù)據(jù)類型 無需定義就可以直接使用 2 高級數(shù)據(jù)類型體現(xiàn)了特殊的數(shù)據(jù)結(jié)構(gòu) 在使用之前必須由用戶自己定義 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ù)的類型 分為基本實型和一般實型 基本實型 單精度實型 擴展型 雙精度實型 貨幣型一般實型 實型 注意 Real類型與Double類型完全等價 Currency類型至少有4位有效的小數(shù)位 2 2 2字符型數(shù)據(jù)ObjectPascal中的字符型數(shù)據(jù)可以分為字符型和字符串型2類7種 1 字符類型ObjectPascal包括3種形式的字符型數(shù)據(jù) 說明 1 前2種為基本字符類型后一種為一般類型 2 Char與AnsiChar完全等價 但Char常用 2 字符串類型字符串類型是存儲字符串?dāng)?shù)據(jù)的類型 ObjectPascal包括了4種形式的字符串型數(shù)據(jù) 說明 AnsiString類型的定義是動態(tài)分配的 內(nèi)容由AnsiChar類型的字符組成 長度僅受可用內(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í)行過程中其值不能改變的量 常量有兩種 一種是常量值本身 也稱為直接常量 另一種是要用聲明定義的標識符表示的常量 也稱為聲明常量 聲明常量又可以分為符號常量和類型常量 1 直接常量直接常量是指在程序中直接引用的常數(shù) 如整型常數(shù) 實型常數(shù) 字符型常數(shù) 字符串型常數(shù)和布爾型常數(shù) 2 聲明常量 1 符號常量在程序中 某一個常數(shù)反復(fù)多次出現(xiàn) 可以定義一個標識符來代表該常數(shù) 這個標識符就是符號常量 其值在定義后不會改變 也稱純常量 定義符號常量使用常量說明語句 其語法格式為 Const 其中Const是保留字 表示常量定義段開始 注意 保留字Const可單獨一行也可與常量一行 不能在程序中給常量另行賦值 否則將導(dǎo)致語法錯誤 Delphi由常量值判斷常量名屬于哪種類型 2 類型常量類型常量用于保存數(shù)組 記錄 過程以及指針等類型的值 不能出現(xiàn)在常量表達式中 在默認的編譯器狀態(tài)下 類型常量的值可改變 但當(dāng)在程序中加入編譯命令 j 時 則類型常量的值在運行期就無法改變 聲明類型常量的語法規(guī)則為 Const 其中類型是除文件型和可變型的所有類型 常量值可以是和類型相應(yīng)的常量表達式 2 3 2變量1 變量的聲明變量在單元 函數(shù)或過程的聲明部分進行聲明 聲明的位置決定了變量的作用域 聲明包括兩部分 變量名和它所屬的類型 變量聲明的語法格式為 Var 當(dāng)多個變量具有相同數(shù)據(jù)類型時 格式如下 Var 其中 Var是保留字 表示變量聲明段的開始 同類型的可超過一個 間用 分隔 可以是基本數(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ù)進行加 減 乘 除和取模運算 取正 和取負 是單目運算符 其他均為雙目運算符 說明 1 運算中 參加運算的數(shù)可以是整型和實型 結(jié)果自動向精度高的類型轉(zhuǎn)化 2 參加除法運算 結(jié)果都是實型的商 3 參加整數(shù)除法 Div 和求余運算 Mod 的數(shù)必須是整型 結(jié)果也是整型數(shù) 符號與被除數(shù)的符號相同 小數(shù)部分被舍去 4 在表達式a b aDivb和aModb中 如果b的值為0 將會觸發(fā)一個錯誤 2 算術(shù)運算符的優(yōu)先級同級運算自左至右 如果含有括號 則先計算括號內(nèi)表達式的值 3 算術(shù)表達式將數(shù)學(xué)式改寫為算術(shù)表達式 考慮三個問題 一是語法 二是優(yōu)先級 三是類型 說明 1 數(shù)學(xué)式中省略的運算符和表示函數(shù)參數(shù)的括號必須添加上去 2 必須注意優(yōu)先級的處理 恰當(dāng)利用標準函數(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é)果為布爾類型的函數(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ù)包含了常用的數(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ù)序數(shù)為1 其余類推 除第一個序數(shù) 每一個都有一個前趨值 除最后一個序數(shù) 每一個都有一個后繼值 2 順序函數(shù)2 6語句2 6 1語句的基本概念按執(zhí)行時間可分為 聲明語句和可執(zhí)行語句 聲明語句包括單元說明語句 類型說明語句 變量說明語句 過程說明語句 函數(shù)說明語句和程序區(qū)段標識語句等 可執(zhí)行語句包括賦值語句 運行控制語句和結(jié)構(gòu)控制語句等 按語句的描述形式 可分為簡單語句 結(jié)構(gòu)語句和復(fù)合語句等 簡單語句只含有一個語句定義符或特殊標志 結(jié)構(gòu)語句往往含有多于一個的語句動詞 復(fù)合語句則是由begin和end括起來的若干個簡單語句 結(jié)構(gòu)語句和復(fù)合語句 允許復(fù)合語句多層嵌套 或為空 也就是在begin和end之間沒有其他語句 2 6 2常見聲明語句1 標號聲明語句標號聲明語句即用一個整型數(shù)來表示程序的某個執(zhí)行語句 一行標號聲明語句可以同時聲明幾個標號 其用法如下所示 labelAa Ab varI integer begin 語句if I 0 thengotoAa 語句Aa begin 語句end end 2 類型聲明語句在ObjectPascal中 所有的變量必須是某種特定的數(shù)據(jù)類型 類型決定了它所能包含的數(shù)值和可進行的操作 用類型聲明語句可以定義新的數(shù)據(jù)類型 例如 TypeTmyDim Array 1 10 1 5 ofDouble 3 過程聲明語句過程可以被看成一段小程序 用來實現(xiàn)某種特定的目標 在完整的程序中它被當(dāng)作一個語句來執(zhí)行 在建立過程之前應(yīng)先聲明 procedureNumString N Integr VarS string 4 函數(shù)聲明語句函數(shù)與過程相似 主要區(qū)別在于函數(shù)必須有返回值 函數(shù)的聲明參見下面的語句 其中 最后的Real表示函數(shù)的返回數(shù)據(jù)類型 FunctionPower X Real Y Integer Real 2 6 3賦值語句和程序的順序結(jié)構(gòu)1 賦值語句賦值語句的語法格式為 2 類型兼容類型兼容是指數(shù)據(jù)類型不完全相同的量之間能進行的運算和賦值操作 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í)行一組語句 1 if語句通過條件的布爾表達式值選擇執(zhí)行路徑 ifthen else if語句分為簡單條件語句和復(fù)合條件語句 簡單條件語句的中不包含其他的條件語句 如果在If語句格式中的或本身又是一個If語句 則稱為If語句的嵌套 嵌套的If語句又被稱為復(fù)合條件語句 2 Case語句Case語句用來實現(xiàn)多分支選擇結(jié)構(gòu) Case語句描述了多路擇一的功能 它根據(jù) 選擇器表達式 的值決定執(zhí)行相應(yīng)的語句 Case語句的語法格式為 caseof else end 說明 的值必須是順序類型 2 6 5循環(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 其語法格式為 whiledo 說明 可在 循環(huán)體 中任何位置Break語句來終止While循環(huán) Break語句通常位于IF語句后 可在循環(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語句的語法格式為 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語句 可以放在循環(huán)體的任意位置 通常放在If語句之后 執(zhí)行Break語句的結(jié)果是 跳出整個循環(huán) 執(zhí)行之后的語句 執(zhí)行Continue語句的結(jié)果是 跳出本輪循環(huán) 然后判斷循環(huán)條件是否成立 再決定是否開始新一輪的循環(huán) 小結(jié)本章主要介紹了ObjectPascal的最基本的語法 主要包括基本詞法 基本數(shù)據(jù)類型 常量與變量 運算符與表達式 常用函數(shù)與過程 語句等 第3章常用組件 Delphi7 0的組件板上含有27個選項卡 總共包括350多個組件 如圖所示 3 1窗體3 1 1Form組件窗體是應(yīng)用程序的操作界面 是放置組件的基礎(chǔ) 窗體由標題欄 工作區(qū)和邊界組成 圖3 1組件板和選項卡運行界面圖 Form的主要屬性窗體組件 TForm 在運行時表現(xiàn)為一個窗體 窗體是一個容器構(gòu)件 它可以包含其他種類的構(gòu)件 并協(xié)同完成應(yīng)用程序的整體功能 窗體由屬性 事件和方法組成 1 BorderIcons屬性用來制定窗體標題欄上的圖標 2 BorderStyle屬性Borderstyle屬性用來設(shè)置窗體的外觀和邊框 3 Name屬性Name屬性唯一地標識對象 取值不能為空 若工程中有多個窗體 名稱不能相同 4 Caption屬性用來指定窗體標題欄中說明文字 可以為空 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)用程序的主界面基于一個對話框類型的窗體 7 Icon屬性Icon屬性用來指定標題欄中顯示的圖標 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)建窗體是指再工程的編輯 設(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組件 Form2中添加1個Label組件 即可完成界面設(shè)計 添加代碼 procedureTForm1 Button1Click Sender TObject 創(chuàng)建按鈕事件begin 關(guān)鍵分析form2 show 調(diào)用Show方法顯示Form2窗體end procedureTForm1 Button2Click Sender TObject beginform1 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ù) MessageDlgPos函數(shù) CreateMessageDialog函數(shù) 第二種 信息輸入對話框InputBox函數(shù) InputQuery函數(shù) 1 ShowMessage過程其語法格式為 ShowMessage 2 ShowMessageFmt過程的語法格式為 ShowMessageFmt 3 MessageDlg函數(shù)其語法格式為 MessageDlg HelpCtx 4 MessageDlgPos函數(shù) 其語法格式為 MessageDlgPos HelpCtx X Y 可以指定對話框的顯示位置坐標 X Y 5 CreatMessageDialog函數(shù)其語法格式為 CreatMessageDialog 6 InputBox函數(shù)其語法格為 InputBox 7 InputQuery函數(shù)其語法格式為 InputQuery 3 2輸入顯示類組件3 2 1Edit組件編輯框 Edit 是一種通用組件 既可以輸入文本 又可以顯示文本 編輯框組件位于Standard組件板中 圖3 7編輯框Edit運行界面圖 1 Edit的主要屬性 1 AutoSelect屬性 設(shè)置編輯框得到焦點時 文本是否自動被選中 2 AutoSize屬性 決定編輯框是否自動隨字體的變化而改變大小 3 Enable屬性 用來設(shè)置編輯框是否能用 4 BorderSytle屬性 設(shè)置編輯框邊框類型 5 MaxLength屬性 設(shè)所能接受最大字符數(shù) 6 PasswordChar屬性 設(shè)置非 0字符時 將代替用戶輸入的字符被顯示 7 ReadOnly屬性 定編輯框中的文本是否可以編輯 8 SelStart屬性 被選中文本的開始位置 或光標在文本中的位置 9 SelText屬性 被選中的文本 10 SelLength屬性 被選中文本的長度 11 Text屬性 編輯框中的文本內(nèi)容 12 CharCase屬性 控制編輯框中文本大小寫3 2 2Label組件標簽組件位于Standard組件板中 圖3 8標簽Label運行界面圖 1 Label的主要屬性 1 Caption屬性 用來顯示標簽的文本 2 ShowAccelChar屬性 決定是否將 作為作為熱鍵字符的標記 3 AutoSize屬性 決定標簽是否自動隨文本的變化而改變大小 4 Alignment屬性 決定對齊方式 5 Layout屬性 控制文本顯示在標簽的位置 6 WordWrap屬性 控制是否折行顯示 7 Transparent屬性 決定背景是否透明 8 FocusControl屬性 用來獲得焦點組件名 3 2 3Memo組件備注框組件位于Standard組件板中 1 Memo的主要屬性備注框在Delphi中用Tmemo類處理 Tmemo類是Tedit類的衍生類 為了處理多行文本 Tmemo類還增加了一些新的屬性 1 CaretPos屬性 得到光標在編輯區(qū)中位置 2 Lines屬性 用來存放Memo對象的文本 3 Modified屬性 確定文本是否被改動過 圖3 10備注框Memo運行界面圖 4 ScrollBars屬性 決定備注框是否具有滾動條 5 WordWrap屬性 設(shè)置文本是否能夠換行 6 WantReturns屬性 用來設(shè)置備注框是否能插入 回車 鍵 7 WantTabs屬性 用來設(shè)置備注框是否能插入 Tab 鍵 2 Memo的使用 例3 4 利用編輯框 把編輯框中的文本輸入到Memo中 1 界面設(shè)計 創(chuàng)建一個新的工程 在窗體中添加1個按鈕Button1組件 一個編輯框Edit1組件和一個備注框Memo1組件 各組件的屬性設(shè)置如圖 2 程序設(shè)計procedureTForm1 Button1Click Sender TObject beginMemo1 Lines Add Edit1 Text edit1 Text edit1 SetFocus end 圖3 12Memo示例運行界面圖 procedureTForm1 FormActivate Sender TObject beginedit1 SetFocus end 3 2 4MaskEdit組件它限制用戶在所定義的位置輸入要求輸入的符號 掩碼編輯框 MaskEdit 組件位于Additional附加組件板 中 1 MaskEdit常用屬性 圖3 13Memo示例運行界面圖 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 1Button組件Button按鈕在Delphi7 0組件板Standard選項卡中1 Button的主要屬性 1 Caption屬性 來制定按鈕所顯示的文字 2 Cancel屬性 決定改按鈕是否為取消按鈕 缺省值為False 3 Default屬性 用來決定改按鈕是否為默認按鈕 缺省值為False 圖3 16Button基本按鈕運行界面圖 4 ModalResult屬性 用來決定模式窗體如何被關(guān)閉 2 Button的事件Button組件常用的事件如表所示 在下述兩種情況下 OnClick事件將被激發(fā) 1 用鼠標單擊按鈕 2 按鈕獲得焦點時按下鍵或空格鍵 3 3 2BitBtn組件位于Delphi7 0組件板Additional選項卡中 1 BitBtn的主要屬性 1 Glyph屬性 為bitBtn制定一個 bmp文件 顯示再按鈕的表面 2 Kind屬性 決定bitBtn按鈕的種類 3 Layout屬性 用來控制bitBtn按鈕中位圖與文本的相對位置 默認值為blGlyphLeft 4 Margin屬性 用來控制bitBtn按鈕中位圖與邊界之間的象素個數(shù) 圖3 17BitBtn按鈕運行界面圖 5 Spacing屬性 用來控制bitBtn按鈕中位圖與文本之間的 距離 象素個數(shù) 默認值為4 2 BitBtn的事件BitBtn組件常用的事件如表所示 在下述兩種情況下 OnClick事件將被激發(fā) 1 用鼠標單擊按鈕 2 按鈕獲得焦點時按下鍵或空格鍵 3 3 3SpeedButton組件快速按鈕 SpeedButton 是一種可以成組工作的按鈕 具有將位圖顯示在按鈕表面的功能 還具有允許其中一個按鈕被選中 按下 的功能 當(dāng)它單獨使用時具有開關(guān)的功能 快速按鈕位于Additonal組件板中 SpeedButton的主要屬性有 1 AllowAllUp屬性 控制是否允許單擊處于按下狀態(tài)的按鈕 使之恢復(fù)到松開狀態(tài) 默認值為False 圖3 19快速按鈕SpeedButton運行界面圖 2 Down屬性 設(shè)置按鈕是否處于按下狀態(tài) 3 Flat屬性 當(dāng)取值為True時 按鈕具有Office97工具欄的風(fēng)格 默認值為False 4 GroupIdex屬性 該屬性默認值為0 表示不與其他SpeedButton成組 3 4復(fù)選框 單選按鈕和單選按鈕組3 4 1CheckBox組件位于Delphi7 0組件板Standard選項卡中 圖3 21復(fù)選框CheckBox 復(fù)選框CheckBox具有選中和未被選中兩種狀態(tài) 未選中狀態(tài) 選中狀態(tài) 還有一種不確定狀態(tài) 表示既非選中又非未選中 1 CheckBox的主要屬性 1 Checked屬性 用于表明CheckBox是否被選中 2 State屬性 屬性State進一步確定CheckBox狀態(tài) 有3種值 cbChecked cbUnchecked和cbGrayed 分別為選中 未選中和不確定 3 AllowGrayed屬性 為True時 復(fù)選框有3種選擇 為False時 只有選中和未選中狀態(tài) 3 4 2RadioButton組件位于Delphi7 0組件板Standard選項卡中 RadioButton的主要屬性有 Checked屬性 表明CheckBox是否被選中 RadioButton有兩種狀態(tài) 如果當(dāng)Checked屬性為True時 表示選中狀態(tài) 如果當(dāng)Checked屬性為False時 表示未選中狀態(tài) 3 4 3RadioGroup組件位于Delphi7 0組件板Standard選項卡中 圖3 23單選按鈕RadioButton 1 RadioGroup的主要屬性 1 Columns屬性屬性Columns用于設(shè)置單選按鈕組中按鈕的列數(shù) 范圍1 16 默認值為1 2 Items屬性 用于設(shè)置各種單選按鈕標題 3 ItemIndex屬性 單選按鈕組中被選中按鈕 從0開始 的序號 默認值為 1 表示組中按鈕均未被選中 圖3 25單選按鈕組RadioGroup 3 5列表框 組合框3 5 1ListBox組件當(dāng)列表框不能同時顯示所有選擇項時 將自動加上一個垂直滾動條 使用戶可以上下滾動列表框 以查閱所有的選項 列表框位于組件板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 可以完整地被顯示 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 2ComboBox組件兼有EditBox和ListBox兩者功能 用戶可以通過鍵入文本或選擇列表中項目來進行選擇 組合框位于組件板Standard選項卡中 1 組合框的主要屬性 1 Items屬性 列表框中選項的集合 2 ItemsIndex屬性 為選項的索引值 3 Stored屬性 決定選項是否排序 4 DorpDownCount屬性 控制組合框下拉列表所能顯示選項的最大個數(shù) 5 SelText屬性 存儲顯示于編輯區(qū)中被選中項的內(nèi)容 6 Style屬性 決定組合框的風(fēng)格 圖3 29組合框ComboBox 3 6滾動條要想自己操縱窗口的滾動 就要用到TScrollBar組件 當(dāng)在滾動條上操作時 將觸發(fā)OnScroll事件 TScrollBar組件直接繼承于TwinControl中 位于Standard選項卡中 1 ScrollBar主要屬性 方法與事件 1 LargeChange屬性 當(dāng)用戶單擊滾動條時 滾動距離由LargeChange屬性設(shè)置 默認1 2 Max Min屬性 設(shè)置滾動條可滾動的范圍 圖3 31滾動條Scrollbar 3 PageSize屬性 當(dāng)用戶按鍵盤上的PageUp或PageDown鍵時 滾動條滾動的距離是由PageSize屬性設(shè)置的 默認是1 4 Position屬性 設(shè)置或返回滾動條中小方塊的位置 5 SmallChange屬性 是用戶按滾動條兩端的箭頭時滾動條的距離 默認值是1 6 SetPaxams方法 該過程相當(dāng)于分別設(shè)置Position Max和Min屬性 7 OnScroll事件 第三個參數(shù)返回滾動條小方塊的位置 第二個參數(shù)返回滾動條的狀態(tài) 3 6計時器Timer組件位于System組件板中 如圖所示 屬于非可視化組件 在設(shè)計時顯示為一個小時鐘圖標 而在運行時則不可見了 沖用來做一些后臺處理 1 Timer組件的主要屬性與事件 1 Enanled屬性 為Ture時 定時器開始工作 為False時定時器暫停工作 2 Interval屬性 用來設(shè)置定時器觸發(fā)周期 圖3 32Timer計時器 3 OnTimer事件 Timer組件只提供一個事件 即OnTimer 該事件以Interval屬性設(shè)置的頻率被觸發(fā) 3 7對話框組件3 7 1Opendialog組件用于打開一個已經(jīng)存在的文件 用戶選擇某一文件 其所在的驅(qū)動器 文件夾 文件名以及擴展名將被賦予Opendialog的filename屬性 Opendialog組件位于Dialogs組件板如圖3 34的所示的第一個組件 圖3 34Dialogs組件板 Opendialog組件的主要屬性 1 DefaultExt屬性 用于設(shè)置系統(tǒng)自動附加的擴展文件名 既在用戶沒有設(shè)置文件類型時系統(tǒng)會自動附加該文件類型 2 Filter屬性 設(shè)置可打開的文件類型 Filter屬性的設(shè)置可點擊右端按鈕 打開如圖所示的對話框進行設(shè)置 圖3 35FilterEditor對話框 3 FilterIndex屬性 設(shè)置默認的Filter值 為1時則默認的文件類型為Filter屬性中列舉的第一個文件類型 4 Initialdir屬性 對話框打開的初始化路徑 5 Options屬性 設(shè)置對話框的作用及表現(xiàn)形式 包括是否可選擇多個文件 是否允許長文件名 是否可以調(diào)節(jié)對話框的大小等 3 7 2Savedialog組件用于提供一個另存為對話框 用戶輸入某一文件 其所在的驅(qū)動器 文件夾 文件名以及文件擴展名將被賦予SaveDialog的filename屬性 Savedialog組件位于Dialogs組件板如圖3 34的所示的第二個組件 3 7 3Fontdialog組件用于提供一個字體對話框 用戶可以選擇需要的字體名稱 樣式 大小 效果及字體顏色等 這些選擇將被賦予Fontdialog的Font屬性 Fontdialog組件位于Dialogs組件板如圖3 34的所示的第五個組件 3 7 4Colordialog組件用于提供一個顏色對話框 用戶可以選擇需要的顏色等屬性 這些選擇將被賦予Colordialog的Color屬性 Colordialog組件位于Dialogs組件板如圖3 34所示第六個組件 3 8Win3 1組件3 8 1FileListBox組件用于顯示指定目錄文件名滾動列表 位于如圖3 38所示W(wǎng)in3 1組件板中第八個組件 FileListBox組件的主要屬性 1 Directory屬性 設(shè)置當(dāng)前文件目錄 顯示的文件列及表自動更新顯示文件目錄的文件 2 Drive屬性 用于設(shè)置當(dāng)前驅(qū)動器盤的號 當(dāng)前屬性值改變時 Directory屬性值自動改變?yōu)樾碌尿?qū)動器下的當(dāng)前目錄 圖3 38Win3 1組件板 3 ExtenderdSelect屬性 若為Ture則可按著鍵然后用鼠標選擇多個文件 4 FileEdit屬性 用于將文件列表鏈接至一個編輯組件 顯示列表中當(dāng)前被選中的文件 5 FileName屬性 存放了列表中當(dāng)前被選中的文件的文件名及路徑名 6 FileType屬性 決定了文件列表中顯示的文件的屬性類型 7 Mask屬性 用于設(shè)置文件列表中顯示的文件類型 8 ShowGlyphs屬性 用于設(shè)置文件是否在文件旁邊顯示文件圖標 9 MultisSelect屬性 用于設(shè)置用戶是否可以一次選中多個文件 3 8 2DirectoryListBox組件用于顯示指定驅(qū)動器下的目錄列表 該組件位于如圖3 38所示中第九個組件 DirectoryListBox組件的主要屬性 1 Directory屬性 用于設(shè)置當(dāng)前的文件目錄 2 DirLabel屬性 用于將目錄列表鏈接至一個lable組件 顯示列表中當(dāng)前被選中目錄 3 Drive屬性 用于設(shè)置當(dāng)前的驅(qū)動器盤號 當(dāng)該屬性值改變時 Drive屬性值將自動改變?yōu)樾碌尿?qū)動器下的當(dāng)前目錄 4 FileList屬性 用于將目錄列表鏈接至文件列表 當(dāng)目錄列表中的目錄改變時 文件列表會自動進行更新 3 8 3DriveComboBox組件用于顯示一可選驅(qū)動器下拉列表 該組件位于如圖3 38所示中第十個組件 DriveComboBox組件主要的屬性 1 Dirlist屬性 用于將本組件鏈接至目錄列表 如驅(qū)動器改變 目錄列表會自動更新 2 Drive屬性 用于存放當(dāng)前的驅(qū)動器盤號 3 TextCase屬性 用于決定驅(qū)動器盤號使用大寫字母還是小寫字母 3 8 4FilterComboBox組件用于顯示一可選過濾器下拉列表 供用戶選擇 位于如圖3 38所示中第十一個組件 FilterComboBox組件的主要屬性如下 1 FileList屬性 用于將本組件鏈接至文件列表 如當(dāng)前的文件類型改變 文件列表會自動進行更新 2 Filer屬性 用于設(shè)置各種過濾文件的類型 3 Mask屬性 用于存放所選的過濾類型的對應(yīng) 3 9- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
19.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 湖北 理工學(xué)院 計算機 學(xué)院 09 級計科 Delphi 程序 教程
鏈接地址:http://www.3dchina-expo.com/p-6435560.html