Try …… finally ……End; 不管Try中是否出现错误,finally块总是会执行
Try …… Except …… end;当Try块中出现异常时,跳入Except块中进行异常处理,处理完后能继续执行接下来的代码;没有异常的话就不执行Except块
setLength和GetMem的区别:setLength只是预留内存,并没有真正分配内存,并且内存是由系统自动管理的;而GetMem是向系统申请内存,这些内存需要手动释放。
字符串常量可以是string也可以是PChar
Self.Handle:指向本窗口的句柄
GetWindowText(窗口句柄, PWideChar, Length):Windows系统API函数,获得指定窗口的标题文本
注意Windows API返回的PChar是有零终止符的,所以有时候需要重新用Pchar()去掉后面的零终止符
集合:不含重复值的特定类型的数组,在Delphi中用 Set Of 有序数据类型 定义
集合用[],数组用()
集合运算后还是集合
集合运算:并集+、差集-,交集*
将一个元素E加入到集合C中:Include(C, E)
将一个元素E从集合C中删除:Exclude(C, E)
集合与集合间的关系:判断子集:>= 、 <=, 判断相等:=
判断元素是否在集合中:In
集合元素的遍历:For element In Collect do ……
PChar类型是一个指向Char的指针,并使用Delphi的扩展语法。它也能够作为一个String或者是一个Char数组指针来对待
使用指向字符串的指针,如果不是以#0结尾,运行时就会出现错误
string和PChar的区别:
1、string字符串是引用计数的,而PChar不是。
2、赋值给string字符串是数据的拷贝,而PChar是指向数据的指针。
3、string包含有字符串的长度信息。而PChar是简单的#0结尾。
GetMem(PChar, size):为Pchar类型申请内存,需要手动释放这些内存
FreeMem(PChar):释放为Pchar类型分配的内存
getMem(P, 10);
P := 'a';
Inc(P);
FreeMem(P);
相当于(推荐用下面的)
SetLength(str, 10);
P := PChar(str);
P := 'a';
Inc(P);
Delphi中的常用函数:
--数值函数:
Abs(num) 函数 绝对值函数。
Odd(num) 函数 测试参数是否为奇数。
Pi() 函数 返回圆周率Pi。
Random(num = 1) 函数 默认返回一随机浮点数, 0<= random < 1;random(num: Integer):生成 0 <= random < num。
Randomize 函数 用一随机数初始化内置的随机数生成器。先初始化,再算随机数。
Frac(num) 函数 返回参数的小数部分。
Int(num) 函数 返回参数的整数部分(返回值为Extended类型)。
Trunc(num) 函数 将实数值截取为整型值(Int64类型)。
TruncFloat(ExteededNum, count)保留count位小数,用的舍入是四舍六入五看前。
TruncFloatL(ExteededNum, count)保留count位小数,用的舍入是四舍五入。
TruncFloatCeil(ExteededNum, count)保留count位小数,用的舍入是向上取整
Round(num) 函数 将实数值四舍六入五看前,返回整型值(银行家算法: 前一位是偶数时,0.5舍。前一位是奇数,0.5入)。
RoundL(num) 函数 一般的四舍五入,返回整型值。
Ceil(num) 函数 向上取整,比如 Ceil(-123.55) = -123,Ceil(123.55) = 124。需要引用单元Math.pas。
Floor(num) 函数 向下取整,比如 Floor(-123.55) = -124,Floor(123.55) = 123。需要引用单元Math.pas。
Inc(Num, count = 1) 函数 对有序类型(整型、字符型、布尔型、枚举型和子界型)的变量递增。如:Inc(i)、Inc(i, 2)。
Dec(Num, count = 1) 函数 对有序类型的变量递减。如:Dec(i)、Dec(i, 5)。
Pred 函数 根据参数在其数据类型定义中的序列,返回参数值的前驱值 。
Succ 函数 返回参数值的后继值。
StrIsFloat 判断字符串是否是一个数值
字符串函数:
SetLength(str, length) 过程,为str预留length长度的内存供其使用
(凡是Str结尾,则区分大小写;Text结尾,不区分大小写)
CompareStr(str1, str2) 函数 比较字符串(区分大小写),相等返回0,大于返回1,小于返回-1。
SameStr 函数 判断两个字符串是否相同(区分大小写),返回值为Boolean。
CompareText(str1, str2) 函数 比较字符串(不区分大小写),同上。
SameText 函数 判断两个字符串是否相同(不区分大小写),返回值为Boolean。
Length 函数 返回字符串的字符长度,如果该字符串用setLength设置过长度时,返回的是设置的长度而不是原本字符串的长度。
ByteLength 函数 返回字符串的字节长度。在Delphi Xe4中,每个string都是UnicodeString, 不管中英文区别,一个字符为两个字节;
AnsiString是单字节字符串,中文占2个字节,英文占1个。注:Delphi7需要引用FcCoreVcl单元。
Pos(SubStr, Str, Index = 1):函数 获取一个字符串在另一个字符串中第一次出现的位置。
Copy(Str, StartIndex, Count):函数 截取字符串(返回一字符串的子串)。
StringReplace(str, OldStr, NewStr, [Options]),函数,返回替换后的字符串,Options有rfReplaceAll全替换、rfIgnoreCase不分大小写替换、以及两个的组合。
StringOfChar(CharC, count):String 函数 获取重复字符的字符串。
Delete(Str, StartIndex, Count):过程,从字符串中删除子串。
Insert(subStr: string; var str: string; startIndex: integer)函数 在字符串中插入子串。
Format(FormatStr, [..]); 函数 格式化一系列的参数并返回字符串。例如:Format('my name is %4s, I`m %d years old', ['Sily', 22])
FormatDateTime 函数 用指定的格式来格式化日期和时间。
FormatFloat 函数 指定浮点数格式。
LowerCase 函数 将给定的字符串变为小写。
UpperCase 函数 将给定的字符串变为大写。
Trim 函数 从给定的字符串中删除前导和尾部的空格及控制字符。
TrimLeft 函数 从给定的字符串中删除首部的空格及控制字符。
TrimRight 函数 从给定的字符串中删除尾部的空格及控制字符。
PChar函数
StrComp 函数 比较两个PChar字符串(区分大小写)。
StrIComp 函数 比较两个PChar字符串(不区分大小写)。
StrCopy 函数 将一个PChar字符串复制到另一个PChar字符串中。
StrPCopy 函数 将一个string字符串复制到一个PChar字符串中。
StrPas 函数 将PChar字符串转换为Pascal类的string字符串。
日期时间函数:
Date 函数 返回本机的当前日期。
Time 函数 返回本机的当前时间。
Now 函数 返回本机的当前日期和时间。
DayOfWeek 函数 返回星期的数值(从星期日开始算是第1天)。
DecodeDate 函数 将日期格式分解为年月日。
DecodeTime 函数 将时间格式分解为时、分、秒、毫秒。
EncodeDate 函数 将年月日合成为日期格式。
EncodeTime 函数 将时、分、秒、毫秒合成为时间格式。
IncMonth 函数 返回参数日期时间递增参数N个月后的日期时间。
//以下日期时间函数需要引用DateUtils.pas
StartOfTheDay 函数 返回参数日期的开始时刻。例如:StartOfTheDay('2006-2-6 14:16:32') = 2006-2-6 0:00:00.000。
EndOfTheDay 函数 返回参数日期的最后时刻。例如:EndOfTheDay('2006-2-6 14:16:32') = 2006-2-6 23:59:59.999。
IncDay 函数 返回参数日期递增参数N日后的日期。例如:IncDay('2006-2-6 14:16:32', -2) = 2006-2-4 14:16:32。
StartOfTheYear/Month/Week 函数 返回参数日期的当年/月/周的开始时刻。
EndOfTheYear/Month/Week 函数 返回参数日期的当年/月/周的最后时刻。
IncYear/Week/Hour/Minute/Second/MilliSecond 函数 返回参数日期时间递增参数N年/周/时/分/秒/微秒的日期时间。
转换函数:
FloatToStr 函数 将浮点数转换为字符串(整数类型可以看成Extended类型)。
IntToStr 函数 将整型数转换为字符串。
BoolToStr 函数 将布尔型转换为字符串(True: '-1', False: '0')。
DateTimeToStr 函数 将日期时间格式转换为字符串(显示格式受Windows区域设置的影响,建议使用FormatDateTime)。
DateToStr 函数 将日期格式转换为字符串(显示格式受Windows区域设置的影响,建议使用FormatDateTime)。
TimeToStr 函数 将时间格式转换为字符串(显示格式受Windows区域设置的影响,建议使用FormatDateTime)。
StrToFloat(Def) 函数 将字符串转换为浮点数(或默认值)。
StrToInt(Def) 函数 将字符串转换为整型(或默认值)。
StrToBool(Def) 函数 将字符串转换为布尔型(或默认值)
StrToDateTime(Def) 函数 将字符串转换为日期时间格式(或默认值)。
StrToDate(Def) 函数 将字符串转换为日期格式(或默认值)。
StrToTime(Def) 函数 将字符串转换为时间格式(或默认值)。
Str 函数 将数值转换为字符串,可设定结果长度和小数位(了解)。
Val 函数 将字符串转换为数值,可识别第几个字符不能转换(了解)。
集合函数:
Exclude 函数 从集合中删除一些元素。
Include 函数 添加元素到集合中。
+ 运算符
- 运算符
* 运算符
磁盘函数:
DiskFree 函数 返回剩余磁盘空间的大小。
DiskSize 函数 返回指定磁盘的容量。
文件操作函数:
FileExists 函数 判断文件是否存在。成功返回True,失败返回False。
DeleteFile 命令 删除文件。成功返回True,失败返回False。
ExtractFileName 函数 解析文件全路径,返回文件名(含扩展名)。
ExtractFileExt 函数 返回文件的扩展名(包括点.)。
ExtractFilePath 函数 返回指定文件的路径(不含文件名)。
ExtractFileDir 函数 返回指定文件的路径(不含文件名,不带斜杠\结尾)。
ExtractFileDrive 函数 返回指定文件的所在驱动器盘符。
ChangeFileExt 函数 对文件名更改扩展名,返回新的文件名字符串。(注意:没有更改文件实体名称)。
RenameFile 函数 对文件重命名。
命令:
Break 命令 终止for、while、repeat循环语句。如果有嵌套循环,只终止所在的一层循环。
Continue 命令 继续for、while、repeat的下一个循环。
Exit 命令 立即从当前的语句块中退出。
其他函数:
Assigned 函数 测试函数或过程变量是否为空。
Chr 函数 返回指定序数的字符。
Eof 函数 对有类型或无类型文件测试是否到文件尾。
Ord 函数 返回序数类的序数。
SizeOf 函数 返回参数所占的字节数。
VarArrayOf 函数 返回指定变体的数组元素。常用作数据集的Locate事件的多字段参数值。