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;
Delphi7.0常用函数-属性-事件的更多相关文章
- Opencv 3.3.0 常用函数
如何调图像的亮度和对比度? //如何增加图片的对比度或亮度? void contrastOrBrightAdjust(InputArray &src,OutputArray &dst, ...
- js常用函数和事件
1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮. (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮. ...
- Android5.0常用颜色属性说明
在使用Eclipse的时代,我们很少去在style文件给整个应用或者Activity去设定颜色,那是因为即使设置也不会提升用户的视觉效果.但是材料设计号称让没有设计功底的人也能做出漂亮的App,那我们 ...
- Hive2.0常用函数(对编辑器很无语😓)
Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数. 参考:https://cwiki.apache.org/c ...
- selenium2.0 --常用函数2
新建实例driver = webdriver.Chrome() 1.获取当前页面的Url函数 方法:current_url 实例: driver.current_url 2.获取元素坐标 方法:loc ...
- Delphi 7.0常用函数速查手册(磁盘文件类)
在Delphi 7.0中,已为我们定义好了非常多的函数,大致分类有6种:数据类型转换函数.字符串.数组操作函数.文件.磁盘操作函数.内存.指针操作函数.数学运算函数.日期函数. 在Delphi中调用函 ...
- Python 数据类型,常用函数方法分类
Python基本数据类型:(int) 字符串(str)列表(list)元组(tuple)字典(dict)布尔(bool) python中可以简单使用 类型(数据)创建或转换数据 例: #字符串转数字 ...
- iOS导航控制器常用函数与navigationBar常用属性
导航控制器常用函数触发时机 当视图控制器的View将要出现时触发 - (void)viewWillAppear:(BOOL)animated 当视图控制器的View已经出现时触发 - (void)vi ...
- TControl的主要功能研究(属性,函数,事件)
-------------------------- TControl主要用来管理以下消息 -------------------------- 鼠标消息显示隐藏刷新控件状态 ControlState ...
随机推荐
- nyoj 矩形个数
矩形的个数 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3 ...
- 织梦cms网上复制图片不可用的解决方法
背景描述: 织梦cms采集图片集时, 需要使用织梦cms提供的"网上复制图片"的功能, 好像我这里这个功能一直不可用, 今天下定决心研究了下源代码并进行了适当修改, 将我的修改提供 ...
- 11-TypeScript中的名称空间
在后端开发语言中,比如C#中,可以将不同源代码文件中的代码通过名称空间组合到一起.一般一个类定义在一个源代码文件中,在功能上属于一个上下文的源代码文件通过名称空间进行组织. 在TypeScript中, ...
- Linux的打印rpm包的详细信息的shell脚本
#!/bin/bash # list a content summary of a number of RPM packages # USAGE: showrpm rpmfile1 rpmfile2 ...
- gradle入门(1-2)gradle的依赖管理
Gradle支持以下仓库格式: Ivy仓库 Maven仓库 Flat directory仓库 一.添加仓库 1.添加Ivy仓库 1.1.通过URL地址添加一个Ivy仓库 我们可以将以下代码片段加入到b ...
- JavaScript中Global、Math、Date对象的常用方法
JavaScript当中Global.Math.Date类型常用方法如下: /* js 中 Global对象 是一个不存在的对象,它里面的方法可以调用 常用方法: 1 encodeURI 对uri进行 ...
- NetSNMP开源代码学习——小试牛刀
原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 题外话:技术越是古董级的东西,越是值得学习. 一. 配置 参考: http://www.cnbl ...
- html学习之多行文本
代码如下: <body> <form action="post"> <!--wrap设置多行文本是否自动换行--> <textarea n ...
- SQL Server 2008 R2 安装注意事项
上个星期自己第一次安装SQL Server 2008 R2,安装失败几次,结果用了将近1天的时间安装,最后成功了. 心得:1.安装SQL Server 2008 R2时,最好在第一次就安装成功.在百度 ...
- 前端之旅HTML与CSS篇之a便签中放入其他块元素会撑大高度的原因
原因:a元素下有一个匿名文本,这个文本外有一个匿名行级盒子,它有的默认vertical-align是baseline的,而且往往因为上文line-height的影响,使它有个line-height,从 ...