程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi7.0常用函數-屬性-事件,delphi7.0函數

Delphi7.0常用函數-屬性-事件,delphi7.0函數

編輯:Delphi

Delphi7.0常用函數-屬性-事件,delphi7.0函數


abort 函數 引起放棄的意外處理

addexitproc 函數 將一過程添加到運行時庫的結束過程表中

addr 函數 返回指定對象的地址

adjustlinebreaks 函數 將給定字符串的行分隔符調整為cr/lf 序列

allocmem 函數 在堆棧上分配給定大小的塊

ansicomparestr 函數 比較字符串(區分大小寫)

ansicomparetext 函數 比較字符串(不區分大小寫)

ansilowercase 函數 將字符轉換為小寫

ansiuppercase 函數 將字符轉換為大寫

append 函數 以附加的方式打開已有的文件

assignfile 函數 給文件變量賦一外部文件名

assigned 函數 測試函數或過程變量是否為空

beginthread 函數 以適當的方式建立用於內存管理的線程

blockread 函數 讀一個或多個記錄到變量中

blockwrite 函數 從變量中寫一個或多個記錄

changefileext 函數 改變文件的後綴

chdir 函數 改變當前目錄

chr 函數 返回指定序數的字符

closefile 命令 關閉打開的文件

comparestr 函數 比較字符串(區分大小寫)

copy 函數 返回一字符串的子串

datetimetofiledate 函數 將delphi 的日期格式轉換為dos 的日期格式

datetimetostr 函數 將日期時間格式轉換為字符串

datetimetostring 函數 將日期時間格式轉換為字符串

datetostr 函數 將日期格式轉換為字符串

dayofweek 函數 返回星期的數值

dec 函數 遞減變量值

decodedate 函數 將日期格式分解為年月日

decodetime 函數 將時間格式分解為時、分、秒、毫秒

delete 函數 從字符串中刪除子串

deletefile 命令 刪除文件

diskfree 函數 返回剩余磁盤空間的大小

disksize 函數 返回指定磁盤的容量

dispose 函數 釋放動態變量所占的空間

disposestr 函數 釋放字符串在堆棧中的內存空間

ditherbackground 命令 使背景色的色彩加重或減少50%

dragcursor 屬性 當鼠標按下時光標的形狀

dragmode 屬性 按動的作用方式

dropdowncount 屬性 容許的顯示數據項的數目

editmask 屬性 編輯模式

encodedate 函數 將年月日合成為日期格式

encodetime 函數 將時、分、秒、毫秒合成為時間格式

endmargin 屬性 末尾邊緣

eoln 函數 返回文本文件的行結束狀態

erase 命令 刪除外部文件

exceptaddr 函數 返回引起當前意外的地址

exclude 函數 從集合中刪除一些元素

exceptobject 函數 返回當前意外的索引

extendedselect 屬性 是否允許存在選擇模式,true 時,multiselect 才有意義

fileage 函數 返回文件已存在的時間

fileclose 命令 關閉指定的文件

filecreate 命令 用指定的文件名建立新文件

filedatetodatetime 函數 將dos 的日期格式轉換為delphi 的日期格式

filegatattr 函數 返回文件的屬性

filegetdate 函數 返回文件的dos 日期時間標記

fileopen 命令 用指定的存取模式打開指定的文件

filepos 函數 返回文件的當前指針位置

fileread 命令 從指定的文件讀取

filesearch 命令 在目錄中搜索指定的文件

fileseek 函數 改變文件的指針

filesetattr 函數 設置文件屬性

filesetdate 函數 設置文件的dos 日期時間標記

filesize 函數 返回當前文件的大小

filewrite 函數 對指定的文件做寫操作

fillchar 函數 用指定的值填充連續字節的數

findclose 命令 終止findfirst/findnext 序列

findfirst 命令 對指定的文件名及屬性搜索目錄

findnext 命令 返回與文件名及屬性匹配的下一入口

floattodecimal 函數 將浮點數轉換為十進制數

floattostrf 函數 將浮點數轉換為字符串

floattostr 函數 將浮點數轉換為字符串

floattotext 函數 將給定的浮點數轉換為十進制數

floattotextfmt 函數 將給定的浮點數轉換為十進制數

flush 函數 將緩沖區的內容刷新到輸出的文本文件中

fmtloadstr 函數 從程序的資源字符串表中裝載字符串

fmtstr 函數 格式化一系列的參數,其結果以參數result 返回

format 函數 格式化一系列的參數並返回pascal 字符串

formatbuf 函數 格式化一系列的參數

formatdatetime 函數 用指定的格式來格式化日期和時間

formatfloat 函數 指定浮點數格式

frac 函數 返回參數的小數部分

freemem 函數 按給定大小釋放動態變量所占的空間

getdir 函數 返回指定驅動器的當前目錄

getheapstatus 函數 返回內存管理器的當前狀態

getmem 函數 建立一指定大小的動態變量,並將指針指向該處

getmemorymanager 函數 返回內存管理器的入口點

glyph 函數 按鈕上的圖象

halt 命令 停止程序的執行並返回到操作系統

hi 函數 返回參數的高地址位

high 函數 返回參數的上限值

int 函數 返回參數的整數部分

include 函數 添加元素到集合中

insert 函數 在字符串中插入子串

inttohex 函數 將整型數轉換為十六進制數

inttostr 函數 將整型數轉換為字符串

ioresult 函數 返回最新的i/o 操作完成狀態

isvalidident 函數 測試字符串是否為有效的標識符

largechange 屬性 最大改變值

length 函數 返回字符串的動態長度

lines 屬性 缺省顯示內容

ln 函數 自然對數函數

lo 函數 返回參數的低地址位

loadstr 函數 從應用程序的可執行文件中裝載字符資源

lowercase 函數 將給定的字符串變為小寫

low 函數 返回參數的下限值

mkdir 命令 建立一子目錄

move 函數 從源到目標復制字節

newstr 函數 在堆棧上分配新的字符串

ondeactivate 事件 用戶切換到另一應用程序觸發

ondragover 事件 有其他控件從他上面移過觸發

ord 函數 返回序數類的序數

outofmemoryerror 命令 引起outofmemory 意外

pageindex 屬性 頁索引

paramcount 函數 返回在命令行上傳遞給程序的參數數量

paramstr 函數 返回指定的命令行參數

pictureclosed 屬性 設置closed 位圖

pictureleaf 屬性 設置leaf 位圖

pictureminus 屬性 設置minus 位圖

pictureopen 屬性 設置open 位圖

pictureplus 屬性 設置plus 位圖

pos 函數 在字符串中搜索子串

pred 函數 返回先前的參數

random 函數 返回一隨機函數

randomize 函數 用一隨機數初始化內置的隨機數生成器

read 函數 對有格式的文件,讀一文件組件到變量中;

對文本文件,讀一個或多個值到一個或多個變量中

readln 函數 執行read 過程,然後跳到文件下一行

readonly 屬性 只讀屬性

reallocmem 函數 分配一動態變量

rename 函數 重命名外部文件

renamefile 函數 對文件重命名

reset 函數 打開已有的文件

rewrite 函數 建立並打開一新的文件

rmdir 函數 刪除空的子目錄

round 函數 將實數值捨入為整型值

runerror 函數 停止程序的執行

seek 函數 將文件的當前指針移動到指定的組件上

seekeof 函數 返回文件的文件結束狀態

seekeoln 函數 返回文件的行結束狀態

setmemorymanager 函數 設置內存管理器的入口點

settextbuf 函數 給文本文件指定i/o 緩沖區

showexception 函數 顯示意外消息與地址

sizeof 函數 返回參數所占的字節數

smallchange 屬性 最小改變值

str 函數 將數值轉換為字符串

stralloc 函數 給以null 結束的字符串分配最大長度-1 的緩沖區

strbufsize 函數 返回存儲在由stralloc 分配的字符緩沖區的最大字符數

strcomp 函數 比較兩個字符串

strcopy 函數 將一個字符串復制到另一個字符串中

strdispose 函數 釋放堆棧上的字符串

strecopy 函數 將一字符串復制到另一個字符串並返回結果字符串尾部的指針

strend 函數 返回指向字符串尾部的指針

stretch 屬性 自動適應控件的大小

strfmt 函數 格式化一系列的參數

stricomp 函數 比較兩個字符串(不區分大小寫)

stringtowidechar 函數 將ansi 字符串轉換為unicode 字符串

strlcat 函數 將一字符串中的字符附加到另一字符串尾並返回合並的字符串

strlcomp 函數 以最大長度比較兩個字符串

strlcopy 函數 將一個字符串中的字符復制到另一個字符串中

strlen 函數 返回字符串中的字符數

strlfmt 函數 格式化一系列的參數,其結果中包含有指向目標緩沖區的指針

strlicomp 函數 以最大長度比較兩個字符串(不區分大小寫)

strlower 函數 將字符串中的字符轉換為小寫

strmove 函數 將一個字符串中的字符復制到另一個字符串中

strnew 函數 在堆棧上分配一個字符串

strpas 函數 將以null 結束的字符串轉換為pascal 類的字符串

strpcopy 函數 將pascal 類的字符串復制為以null 結束的字符串

strplcopy 函數 從pascal 類的最大長度字符串復制為以null 結束的字符串

strpos 函數 返回一個字符串在另一個字符串中首次出現指針

strrscan 函數 返回字符串中最後出現字符的指針

strscan 函數 返回字符串中出現首字符的指針

strtodate 函數 將字符串轉換為日期格式

strtodatetime 函數 將字符串轉換為日期/時間格式

strtofloat 函數 將給定的字符串轉換為浮點數

strtoint 函數 將字符串轉換為整型

strtointdef 函數 將字符串轉換為整型或默認值

strtotime 函數 將字符串轉換為時間格式

strupper 函數 將字符串中的字符轉換為大寫

suce 函數 返回後繼的參數

swap 函數 交換參數的高低地址位

texttofloat 函數 將字符串(以null 結束的格式)轉換為浮點數

timetostr 函數 將時間格式轉換為字符串

trunc 函數 將實型值截取為整型值

truncate 函數 截去當前文件位置後的內容

unselectedcolor 屬性 未選中顏色

upcase 函數 將字符轉換為大寫

uppercase 函數 將給定的字符串變為大寫

val 函數 將字符串轉換為整型值

vararraycreate 函數 以給定的界限和維數建立變體數組

vararraydimcount 函數 返回給定變體的維數

vararrayhighbound 函數 返回給定變體數組維數的上界

vararraylock 函數 鎖定給定的變體數組

vararraylowbound 函數 返回給定變體數組維數的下界

vararrayof 函數 返回指定變體的數組元素

vararrayredim 函數 通過改變上限來調整變體的大小

vararrayunlock 函數 解鎖指定的變體數組

varastype 函數 將變體轉換為指定的類型

varcase 函數 將變體轉換為指定的類型並保存他

varclear 函數 清除指定的變體

varcopy 函數 將指定的變體復制為指定的變體

varformdatetime 函數 返回包含日期時間的變體

varisarray 函數 測試變體是否為數組

varisempty 函數 測試變體是否為unassigned

varisnull 函數 測試變體是否為null

vartodatetime 函數 將給定的變體轉換為日期時間

vartype 函數 將變體轉換為指定的類型並保存他

wantreturns 屬性 為true 時,按回車鍵產生一個回車符;

為false 時,按下ctrl+enter 才產生回車符

write 命令 對有格式的文件,寫一變量到文件組件中;

對文本文件,寫一個或多個值到文件中

writeln 命令 執行write 過程,然後輸出一行結束標志

widecharlentostring 函數 將ansi 字符串轉換為unicode 字符串

widecharlentostrwar 函數 將unicode 字符串轉換為ansi 字符串變量

widechartostring 函數 將unicode 字符串轉換為ansi 字符串

widechartostrvar 函數 將unicode 字符串轉換為ansi 字符串變量


窗體的屬性

1.Appearance屬性
功能:設置窗體中控件是否以三維立體方式顯示。
取值:1) 1-3D 默認設置,以三維立體方式窗體上的控件。
2) 0-Flat 以二維方式顯示窗體上的控件。
該屬性不能通過代碼在運行時設置,必須通過屬性窗口在設計時設置。
2.AutoRedraw屬性
功能:設置窗體中顯示的信息是否重畫。當返回被其他窗體遮住的窗體時,如果此屬性設置為True,則自動刷新或者重畫窗體中的所有信息,否則不重畫。
3.BackColor屬性
功能:設置窗體的背景顏色。
4.BorderStyle屬性
功能:設置窗體的邊界樣式。
取值:1) 0-None 窗體不僅沒有邊界,而且沒有標題欄
2) 1-Fixed Single 邊界是固定的單線,運行時不能改變窗體大小
3) 2-Sizable 默認設置,窗體的大小可以在運行時改變
4) 3-Fixed Dialog 固定的對話框,大小不能改變
5) 4-Fixed ToolWindow 固定的工具箱窗口,大小不能改變
6) 5-Sizeable ToolWindow 大小可變的工具窗口
該屬性的設置會影響其他屬性的設置值。如,其設置為0、3、4或5時,MinButton、MaxButton和ShowInTaskbar屬性將自動設置為False,表示這類窗體沒有“最小化”“最大化”按鈕。
5.Cation屬性
功能:設置窗體標題欄中顯示的文本內容。
6.ClipControls屬性
功能:當Paint事件發生時,確定窗體中的內容是全部重畫還是只重畫最新暴露的區域。
取值:True 默認設置,重畫整個窗體內容
False 重畫最新暴露的區域
7.ControlBox屬性
功能:設置窗體左上角是否顯示控制菜單按鈕。
取值:True 默認設置,窗體中含有窗體圖標和控制按鈕
Flase 窗體中不含窗體圖標和控制按鈕
8.DrawMode屬性
功能:用於設置繪圖模式,以便控制圖形的顯示效果。默認是用窗體的前景色來畫線。
9.DrawStyle屬性
功能:用於設置線條的線型,默認為實線。
10.DrawWidth屬性
功能:用於設置線條的寬度,默認為1。
11.Enable屬性
功能:設置窗體是否對鼠標或者鍵盤事件作出響應。
取值:True 默認設置,對事件作出響應
False 對事件不產生響應。這時只能在窗體中顯示文本和圖形
12.FillColor屬性
功能:用於設置圖形的填充顏色,默認是黑色。
13.FillStyle屬性
功能:用於設置圖形的填充方式,默認是透明的(Transparent)。
14.Font屬性
功能:設置窗體中文本顯示時使用的字體、包括字體的名稱和大小,以及是否為粗體、斜體或者粗斜體,是否帶有刪除線和下劃線。
15.FontTransparent屬性
功能:當窗體上要顯示文本的位置已有圖形或文本存在時,可以用FontTransparent屬性來確定如何處理原來的圖形或文本。
取值:True 默認設置,將要顯示的內容與原來的圖形或者文本重疊顯示
   False 將要顯示的內容覆蓋原來的圖形或者文本
16.ForeColor屬性
功能:設置窗體的前景顏色。設置方法類似於BackColor屬性。
17.Height和Width屬性
功能:設置窗體的初始高度和寬度。
18.Icon屬性
功能:設置窗體的圖標。Icon屬性的設置值通常為圖標文件名(擴展名為*.ico)。
19.KeyPreview屬性
功能:如果窗體中的某個控件正使用時發生了鍵盤事件,則可以用KeyPreview屬性來確定窗體是否接收鍵盤事件。
取值:True 窗體先接收鍵盤事件,然後再由當前正使用的控件來處理
False 默認設置,當前正使用的控件接收鍵盤事件,窗體不處理該事件
20.Left和Top屬性
功能:設置窗體的左上角位置。
21.MaxButton屬性
功能:設置窗體中是否含有最大化按鈕。
取值:True 默認設置,有最大化按鈕
   False 窗體中不含有最大化按鈕
22.MDIChild屬性
功能:設置當前窗體是否是MDI窗體的子窗體。
取值:True 當前窗體為MDI窗體的子窗體
   False 默認設置,不是MDI窗體的子窗體
23.MinButton屬性
功能:設置窗體中是否含有最小化按鈕。
取值:True 默認設置,窗體中含有最小化按鈕
   False 窗體中不含有最小化按鈕
如果BorderStyle屬性設置為0、3、4和5,則此屬性無效。
24.MouseIcon屬性
功能:指定一個自定義的圖標或者光標作為鼠標指針的形狀。當MousePointer屬性設置為99時,就要使用MouseIcon屬性來確定鼠標指針的形狀。
25.MousePointer屬性
功能:設置鼠標指針的形狀。如果將其設為99,則可以使用MouseIcon屬性來指定自定義的鼠標指針形狀。
26.Moveable屬性
功能:設置窗體是否可移動。
取值:True 默認設置。窗體運行時能夠移動
   False 窗體運行時不可移動
27.Name屬性
功能:設置當前窗體的名稱。代碼中可以通過Name屬性設置的名稱來引用相應的窗體。
28.Picture屬性
功能:設置是否在窗體內顯示一個圖形。默認設置為None,表示窗體中不顯示圖形。如果在代碼中設置,要使用LoadPicture函數。
29.RightToLeft屬性
功能:設置文本顯示方向和顯示外觀。
30.ScaleHeight和ScaleWidth屬性
功能:設置窗體繪圖區域的高度和寬度。改變屬性的設置值後,將重新定義新的度量單位。
31.ScaleLeft和ScaleTop屬性
功能:設置窗體繪圖區域的左上角位置。默認為(0,0),表示窗體左上角即為原點。
32.ScaleMode屬性
功能:設置窗體的度量單位,默認為點素(Twip)。
33.ShowInTaskbar屬性
功能:設置窗體最小化時是否在任務欄上顯示窗體圖標。
34.StartUpPosition屬性
功能:設置窗體首次顯示時的位置。
35.Visible屬性
功能:設置窗體是否可見。
取值:True 默認設置,窗體可見
   False 窗體不可見
36.WindowState屬性
功能:設置程序運行時窗體的顯示狀態。
取值:1) 0-Normal 默認設置,以正常方式顯示
   2) 1-Minimized 以最小化方式顯示
   3) 2-Maximized 以最大化方式(占據整個屏幕)顯示

關鍵字
absolute 指令 (變量)
abstract 指令 (方法)
and 運算符 (布爾)
array 類型
as 運算符 (RTTI)
asm 語句
assembler 向後兼容 (匯編)
at 語句 (異常處理)
automated 訪問類別符 (類)
begin 塊標記
case 語句
cdecl 函數調用協定
class 類型
const 聲明或指令(參數)
constructor 特殊方法
contains 運算符 (集合)
default 指令 (屬性)
destructor 特殊方法
dispid dispinterface 界面類別符
dispinterface 類型
div 運算符
do 語句
downto 語句 (for)
dynamic 指令 (方法)
else 語句 (if 或 case)
end 塊標記
except 語句 (異常處理)
export 向後兼容 (類)
exports 聲明
external 指令 (函數)
far 向後兼容 (類)
file 類型
finalization 單元結構
finally 語句 (異常處理)
for 語句
forward 函數指令
function 聲明
goto 語句
if 語句
implementation 單元結構
implements 指令 (屬性)
in 運算符 (集合) - 工程結構
index 指令 (dipinterface界面)
inherited 語句
initialization 單元結構
inline 向後兼容 (見 asm)
interface 類型
is 運算符 (RTTI)
label 聲明
library 程序結構
message 指令 (方法)
mod 運算符 (數學)
name 指令 (函數)
near 向後兼容 (類)
nil 數值
nodefault 指令 (屬性)
not 運算符 (布爾)
object 向後兼容 (類)
of 語句 (case)
on 語句 (異常處理)
or 運算符 (布爾)
out 指令 (參數)
overload 函數指令
override 函數指令
package 程序結構 (控件包)
packed 指令 (記錄)
pascal 函數調用協定
private 訪問類別符 (class)
procedure 聲明
program 程序結構
property 聲明
protected 訪問類別符 (類)
public 訪問類別符 (類)
published 訪問類別符 (類)
raise 語句 (異常處理)
read 屬性類別符
readonly dispatch 界面類別符
record 類型
register 函數調用協定
reintroduce 函數指令
repeat 語句
requires 程序結構 (控件包)
resident 指令 (函數)
resourcestring 類型
safecall 函數調用協定
set 類型
shl 運算符 (數學)
shr 運算符 (數學)
stdcall 函數調用協定
stored 指令 (屬性)
string 類型
then 語句 (if)
threadvar 聲明
to 語句 (for)
try 語句 (異常處理)
type 聲明
unit 單元結構
until 語句
uses 單元結構
var 聲明
virtual 指令 (方法)
while 語句
with 語句
write 屬性類別符
writeonly dispatch 界面類別符
xor 運算符 (布爾)

優先法則
單目運算符 (最高優先級)
@ 取變量或函數的地址(返回一個指針)
not 邏輯取反或按位取反
乘除及按位運算符
* 相乘或集合交集
/ 浮點相除
div 整數相除
mod 取模 (整數相除的余數)
as 程序運行階段類型轉換 (RTTI運算符)
and 邏輯或按位求和
shl 按位左移
shr 按位右移
加減運算符
+ 相加、集合並集、字符串連接或指針增加一個偏移量
- 相減、集合差集或指針減少一個偏移量
or 邏輯或按位或運算
xor 邏輯或按位異或運算
關系及比較運算符(最低優先級)
= 判斷是否相等
<> 判斷是否不相等
< 判斷是否小於
> 判斷是否大於
<= 判斷是否小於或等於,或是否是一個集合的子集
>= 判斷是否大於或等於,或是否是一個集合的父集
in 判斷是否是集合成員
is 判斷對象是否類型兼容 (又一個RTTI運算符)


Boolean (ByteBool WordBool LongBool)
Char
Integer
ShortInt -128~127
Byte 0~255
SmallInt -32768~32767
Word 0~65535
LongInt LongWord
Int64
Interger Cardinal
AnsiChar
WidChar
#=Chr(),把數字轉化為字符,Ord為相反,把字符轉化為數字
#9 Tab鍵
#10 換行
#13 回車

類型轉換
Chr 將一個有序數據轉換為一個ANSI字符
Ord 將一個有序類型值轉換為它的序號
Round 轉換一個實型值為四捨五入後的整型值
Trunc 轉換一個實型值為小數截斷後的整型值
Int 返回浮點數的整數部分
IntToStr 將數值轉換為字符串
IntToHex 將數值轉換為十六進制數字符串
StrToInt 將字符串轉換為一個整型數,如字符串不是一個合法的整型將引發異常
StrToIntDef 將字符串轉換為一個整數,如字符串不合法返回一個缺省值
Val 將字符串轉換為一個數字(傳統Turbo Pascal例程用於向後兼容)
Str 將數字轉換為格式化字符串(傳統Turbo Pascal例程用於向後兼容)
StrPas 將零終止字符串轉換為Pascal類型字符串,在32位Delphi中這種類型轉換是自動進行的
StrPCopy 拷貝一個Pascal類型字符串到一個零終止字符串, 在32位Delphi中這種類型轉換是自動進行的
StrPLCopy 拷貝Pascal類型字符串的一部分到一個零終止字符串
FloatToDecimal 將一個浮點數轉換為包含指數、數字及符號的十進制浮點記錄類型
FloatToStr 將浮點值轉換為缺省格式的字符串
FloatToStrF 將浮點值轉換為特定格式的字符串
FloatToText 使用特定格式,將一個浮點值拷貝到一個字符串緩沖區
FloatToTextFmt 同上面例程,使用特定格式,將一個浮點值拷貝到一個字符串緩沖區
StrToFloat 將一個Pascal字符串轉換為浮點數
TextToFloat 將一個零終止字符串轉換為浮點數


Dec 將例程中的參數值遞減1或一個特定的值,其中特定值可在第二個可選參數中定義
Inc 將例程中的參數值增加1或一個特定的值
Odd 如果參數為奇數返回真
Pred 根據參數在其數據類型定義中的序列,返回參數值的前驅值
Succ 返回參數值的後繼值
Ord 返回參數值在其數據類型值集合中的序號
Low 返回參數對應的有序數據類型的最小取值
High 返回參數對應的有序數據類型的最大取值

實數:
Single
Double
Extended
Real {$REALCOMPATIBILITY ON}據說不標准,要兼容舊的格式使用這個宏
Comp
Currency

TDateTime = type Double

為了後續使用或直接用於變量,需要給自定義類型命名。如果自定義一個命名的類型,你必須將代碼放在特定的type區,如下所示:
最多的如定義類等。
type
Uppercase = 'A'..'Z';
Temperatures = array [1..24] of Integer;
Date = record
Month: Byte;
Day: Byte;
Year: Integer;
end;
Colors = (Red, Yellow, Green, Cyan, Blue, Violet);
Letters = set of Char;
end;

子界類型
a...b
a~b為有序類型

枚舉類型
type
Colors = (Red, Yellow, Green);//園括弧括起來的,在屬性列表中最多出現。
end;
只能有一個值
CPP = enum

集合類型
type Letters = set of Char;
var Letters1,Letters2etters;
begin
Letters1 := ['A'.'B'.'C'];
Letters2 := ['K'];
end;
是什麼什麼的集合,可以有多個屬性。
CPP = 多字段與或

Font.style := [fsBold, fsItalic]; // two styles
Font.style :=Oldstyle + [fsBold, fsItalic];

數組類型
type
MonthTemps = array [1..24, 1..31] of Integer;
YearTemps = array [Jan..Dec] of Integer;

記錄類型
type
Date = record
Year: Integer;
Month: Byte;
Day: Byte;
end;
類似 structure

指針
type
PointerToInt = ^Integer;
var
P:^Integerl
X:Integer;
begin
P := @X; p = &x;
X :=10; x = 10;
P^ :=20; *p = 20;
end;
除了表示已分配內存的地址外,指針還能通過New 例程在堆中動態分配內存,不過當你不需要這個指針時,你也必須調用Dispose 例程釋放你動態分配的內存。
P:=nil;

Pointer 類型,如void *;
實際上,Delphi 中必須使用指針的情況很少,這是Delphi開發環境一個誘人的優點。

文件類型
type
IntFile = file of Integer;
能打開一個與這個結構相應的物理文件、向文件中寫入整數、或者從文件中讀取當前的值


簡單語句:
單行:X:= Y+Z;
調用一個過程
Randomize;
復合語句begin end;

賦值 :=
=表示關系運算符,用於判斷是否相等用 c: ==

條件
if 用and、 or 、 not等布爾操作符聯接起來的條件 then
statement;
else
statement;
end;

Case語句
case Number of
1: Text:='One';
2: Text:='Two';
else //default;
Text:='Unknow';
end;

循環 循環條件為順序數
for I:=1 to 10 do
statement;

for I := 10 downto 1 do 遞減
statement;

while conditions do
statement;

repeat
statement;
until conditions;


With語句
begin
with BirthDay do
begin
Year:=1999;
Month :=2;
Day :=14;
end;
end;
減少BirthDay.xxx 的代碼工作量,但現在的自動完成比他效率高
可以with多個,同樣屬性的取最後一個的,容易出錯。


函數和過程
procedure Hello;
begin
ShowMessage ('Hello world!');
end;

調用:Hello;

function Double (value: Integer) : Integer;
begin
Double := value * 2; //函數名做返回值
end;

function Double2 (value: Integer) : Integer;
begin
Result := value * 2; //Result作返回值
end;


引用參數
同C++中的(&xx)
使用var關鍵字表示
procedure Produ(var value:Integer);
既做傳遞參數,又把值返回給調用程序。

procedure Produ(out value:Interger);
用作返回。

常量參數
使用const

開放數組參數
function Sum (const A: array of Integer): Integer;
var
I: Integer;
begin
Result := 0;
for I := Low(A) to High(A) do
Result := Result + A[I];
end;
可以傳遞大小不定的數組

類型變化的開放數組參數
可以接收多種類型的數組參數
function SumAll (const Args: array of const): Extended;

調用協定
fastcall 只要有可能,傳遞到CPU寄存器多達3個,操作更快
delphi3+ 缺省標記

win32 API是stdcall,win16 API是原始的Pascal調用和cdecl調用混合體

方法:
是一種特殊的函數或過程
他與類這一數據類型相對應,每個事件都定義一個方法,通常是過程。

forward 申明
欲聲明一個過程或函數,而且只給出它的名字和參數,不列出其實現代碼,需要在句尾加forward 關鍵字:
procedure Hello; forward;
可用來寫遞歸調用
當你在一個單元(關於單元的更多內容見下一章)的interface 部分聲明一個過程或一個函數時,它被認為是一個forward聲明,即使沒有forward關鍵字也一樣。

過程類型
type
IntProc = procedure (var Num: Integer);

IP: IntProc;
begin
IP := otherProcedure;


函數重載 overload關鍵字
function Min (A,B: Integer): Integer; overload;
function Min (A,B: Int64): Int64; overload;
function Min (A,B: Single): Single; overload;
function Min (A,B: Double): Double; overload;
function Min (A,B: Extended): Extended; overload;

確省參數
procedure MessBox (Msg: string;
Caption: string = 'Warning';
Flags: LongInt = mb_OK or mb_IconHand);


字符串
ShortString
AnsiString
WideSting
如果只簡單地用String定義字符串,那麼該字符串可能是短字符串也可能是ANSI長字符串,這取決於$H 編譯指令的值,$H+(確省)代表長字符串(ANSIString 類型)。長字符串是Delphi 庫中控件使用的字符串。
SetLength (String1, 200);設置長度分配內存
類型轉換,PChar(String)
SetWindowText (Handle, PChar (Label1.Caption));
GetWindowText (Handle, PChar (S1), Length (S1));

格式化字符串
format ('First %d, Second %d', [n1, n2]);//集合
d(decimal) 將整型值轉換為十進制數字字符串
x (hexadecimal) 將整型值轉換為十六進制數字字符串
p (pointer) 將指針值轉換為十六進制數字字符串
s (string) 拷貝字符串、字符、或字符指針值到一個輸出字符串
e (exponential) 將浮點值轉換為指數表示的字符串
f (floating point) 將浮點值轉換為浮點表示的字符串
g (general) 使用浮點或指數將浮點值轉換為最短的十進制字符串
n (number) 將浮點值轉換為帶千位分隔符的浮點值
m (money) 將浮點值轉換為現金數量表示的字符串,轉換結果取決於地域設置,詳見Delphi幫助文件的Currency and date/time formatting variables主題

內存
動態數組
Array1: array of Integer;
SetLength(Array1, 100);
下標從0開始

普通數組下標可以隨便寫
動態數組不行,Length,Hight,Low函數了解動態數組狀況
for I := Low (Array1) to High (Array1) do
Array1 [I] := I;

windows相關
type
THandle = LongWord;

外部聲明
// forward declaration
function LineTo (DC: HDC; X, Y: Integer): BOOL; stdcall;
// external declaration (instead of actual code)取代真實代碼
function LineTo; external 'gdi32.dll' name 'LineTo';
這段聲明表示函數LineTo 的代碼同名保存在GDI32.DLL 動態鏈接庫中(最重要的Windows 系統庫之一)。實際應用時,外部聲明中的函數名與DLL中的函數名可以不同。
與WindowsAPI對應的聲明:
BOOL EnumWindows(
WNDENUMPROC lpEnumFunc,LPARAM lParam
);
=》
function EnumWindows (lpEnumFunc: TFNWndEnumProc,lParam: LPARAM): BOOL; stdcall;

回調函數
BOOL CALLBACK EnumWindowsProc (
HWND hwnd, // handle of parent window
LPARAM lParam // application-defined value
);
=>
type
EnumWindowsProc = function (Hwnd: THandle, Param: Pointer): Boolean; stdcall;
直接使用方法


Variant變量沒有類型
運算效率低


單元Unit
unit unitName;
interface
// other units we need to refer to
uses
A, B, C;
// exported type definition
type
newType = TypeDefinition;
// exported constants
const
Zero = 0;
// global variables
var
Total: Integer;
// list of exported functions and procedures
procedure MyProc;
implementation
uses
D, E;
// hidden global variable
var
PartialTotal: Integer;
// all the exported functions must be coded
procedure MyProc;
begin
// ... code of procedure MyProc
end;
initialization
// optional initialization part
finalization
// optional clean-up code
end.

單元用作命名空間

Delphi 應用程序源代碼文件可分成兩類,它們是一個或多個單元文件及一個程序文件,單元文件可以看成是次一級的文件,它被應用程序的主體——程序文件——引用。
program Project1;

uses
forms,
Unit1 in Unit1.PAS?{form1Dateform};

begin
Application.Initialize;
Application.Createform (Tform1, form1);
Application.Run;
end.


面向對象
type
TData = class
A:Integer;
B:Char;
function F(V:Integer):Boolean;
var C:Integer;
begin
A :=1;
C :=A;
end;
procedure P(V:Char);
begin
B:='b';
end;
end.

public
private
protected

self變量
publish

繼承
type
MyClass = class(BaseClass);
多繼承
type
MyClass = class();

構造器
constructor 代替procedure;自動分配內存
對象方法重載 同函數

多態
type
BaseClass = class
public
function F:String;virtual;
end;

type
MyClass = class(BaseClass)
public
function F:String;override;
end;

類型兼容性
向上兼容
之類兼容父類

類型信息
if MyClass is BaseClass then

繼承
inherited; 使用父輩被繼承的方法

類引用
MyClassClass = class of MyClass;

Create()
Free()
type裡面類聲明
implementation
實現


initialization //初始化段
Init();
finalization //反初始化段
UnInit();

constructor Create();
destructor Destroy();

procedure fly(); virtual; abstract;抽象

接口 interface
type
Icanfly = interface
['{10000000-0000-0000-0000-0000000000}']
function Fly:String;
end;

type
TAirplane = class(TomerfaceObject,IcanFly)
function Fly:String virtual;
end;

Flyer1 :=TAirplance.Create as Icanfly;

QueryInterface

 

異常 錯誤處理
raise Exceptoion.Create('a error');

try
A();
except
...
finally
...
end;

繼承異常類 p54


VCL
TObject
TPresistent
TComponent
TControl可視化控件
Windowsed Controls 基於window的控件(TWinControl)
Nonwindowsed Controls( TGraphicsControl)
Nonvisual Components非可視控件

 

可視化組件
Window-based controls
有GDI句柄,Windows管理,擁有Windows對象的屬性
Graphical controls
無GDI句柄,自行繪圖管理,如大量的Laber(比較Static控件) speedbutton,節省GDI資源,但響應事件麻煩。

novisiual compoenets 一些管理組件


可融入編輯環境
published private/public
procedure p:string;

property month:Integer
read FMonth write SetMonth;
讀寫為變量或者過程。
read GetMonth write SetMonth;

function GetMonth:Integer;讀
procedure SetMonth(const value:Integer);寫

只讀屬性的話就不帶read 或 write

對象拷貝
Assigned()

事件
private
FonClick : TNotifyEvent;
……
published:
property onClick : TNotifyEvent Read FonClick Write FonClick;

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved