函数由一句或多句代码组成
可以实现某个特定的功能
使用函数可以使代码更加易读
易懂
加快编程速度及减少重复代码
过程与函数类似
过程与函数最重要的区别在于
过程没有返回值
而函数能有返回值
在Delphi 中已为我们定义好了非常多的函数大致分类有种数据类型转换函数字符串数组操作函数文件磁盘操作函数内存指针操作函数数学运算函数日期函数
在Delphi中调用函数一般情况下可以直接使用函数即可但由于有一些函数未包含在Uses中列出的单元中(默认单元有WindowsMessagesSysUtilsVariantsClassesGraphics ControlsFormsDialogs;)所以需要我们手动添加单元比如MidStr函数就未包含在这些单元中MidStr所属单元在StrUtils中因此我们将StrUtils添加Uses中即可
在本手册中凡是未包含在默认列出的单元中的函数都标明了其所属的单元使用时应当注意
一数据类型转换函数
在我们编写程序当中根据不同情况会使用到多种数据类型当要对不同的类型进行操作时必须要将不同的类型转换成同样的类型因此熟练地掌握数据类型的转换是非常重要的
FloatToStr
功能说明该函数用于将浮点型转换成字符型
参考实例
EditText := FloatToStr();
IntToStr
功能说明该函数用于将整数型转换成字符型
参考实例
S := IntToStr();(注S为String类型变量)
IntToHex
功能说明该函数用于将十进制转换成十进制该函数有二个参数第一个参数为要转换的十进制数据第二个参数是指定使用多少位来显示十六进制数据
参考实例
EditText := IntToHex( );
执行结果EditText等于
注意Delphi没有提供专门的十六进制转换为十进制的函数使用StrToInt函数可以实现这个功能具体代码是I := StrToInt(S\ + ); 这时I等于加上一个S\即可将十六进制转换为十进制
StrToInt
功能说明该函数用于将字符型转换成整数型
参考实例
I := StrToInt();
注意不能转换如 StrToInt(ab)或StrToInt(好)这样的类型因为他们并不存在数字型
StrToFloat
功能说明该函数用于将字符型转换成浮点型
参考实例
N := StrToFloat(EditText);
注意EditText中的内容为(凡在Edit控件中显示的文本均为字符串)N为Double类型用于保存转换后的浮点型数据
二字符串数组操作函数
对字符串及数组的操作是每个程序员必须要掌握的熟练的使用这些函数在编程时能更加得心应手
Copy
功能说明该函数用于从字符串中复制指定范围中的字符该函数有个参数第一个参数是数据源(即被复制的字符串)第二个参数是从字符串某一处开始复制第三个参数是要复制字符串的长度(即个数)最后函数返回一个新的字符串(即是我们指定要复制的字符串内容)
参考实例
var
S: String;
MyStr: String; // 保存新的字符串
begin
S := I Love China!;
//下面将获取I Love China中的Love字符串
MyStr := Copy(S );
end;
执行结果MyStr等于LoveLove字符串在I Love China!中第个位置开始所以第二个参数为Love一共有个字符所以第三个参数为
Concat
功能说明连接两个或多个字符串为一个字符串
参考实例
var
S S: String;
begin
S := Concat(A B); // 连接两个字符串S变量等于AB
S := Concat(Borland Delphi ); // 连接三个字符S变量等于Borland Delphi
end;
Delete
功能说明删除字符串中指定的字符串该函数有三个参数第一个参数为要进行处理的字符串第二个参数为从何处开始删除第三个参数为删除的字符个数
参考实例
var
S: String;
begin
S := I Like Reading CPCW;
// 下面的代码将删除S变量中的C字符
Delete(S );
end;
此时S变量则是I Like Reading PCW(C已经不存在了)
High
功能说明返回数组下标的最大值
参考实例
var
arrText: array[] of Char;
i: Integer;
begin
i := High(arrText); // i的值则为
end;
Insert
功能说明插入一个字符(串)该函数有三个参数第一个参数为要插入的字符(串)第二个参数为被插入字符串(源字符串)第三个参数为从何处插入
参考实例
var
S: String;
begin
S := Wat is your name?;
// 上面句子中的What单词查一个h字符下面使用Insert函数将h添加进去
Insert(h S ); // 将h从第位处插入
end;
LeftStr(所在单元StrUtils)
功能说明返回字符串左边指定个数的新字符(串)该函数有两个参数第一个参数为完整的字符串第二个参数为指定个数
参考实例
var
S A: String;
begin
S := MSN Messenger;
A := LeftStr(S ); // 从最左边开始获取左边的三个字符因此A变量则等于MSN
end;
Length
功能说明该函数用于统计指定字符串的长度(即个数)
参考实例
var
nLen nLen: Integer; // 用于保存字符串长度
begin
nLen := Length(CPCW);
nLen := Length(电脑报);
end;
执行结果nLen等于nLen等于由于一个汉字相当于两个字符的长度所以个汉字的长度为
Low
功能说明返回数组下标的最小值
参考实例
var
arrText: array[] of Char;
i: Integer;
begin
i:= High(arrText); // i的值则为
end;
LowerCase
功能说明将字符(串)中的英文字符转换为小写
参考实例
var
S A: String;
begin
S := ABC;
A := UpperCase(S); // 经过UpperCase函数转换后A则等于abc
end;
MidStr(所在单元StrUtils)
功能说明返回指定范围内的字符串该函数有三个参数第一个参数为源字符串第二个参数为起点第三个参数为结束点通过第二第三个参数则可指定要复制字符串的范围
Copy函数与此函数类似MidStr主要用于处理含有中文字符的字符串
参考实例
var
S: String;
H: String;
begin
S := MidStr(China ); // S变量为Ch
H := MidStr(电脑报 ); // H变量为电如果使用Copy函数则应是H := Copy(电脑报 )否则返回的将不是电字因此在使用操作含有中文的字符串时最好使用MidStr
end;
Pos
功能说明查找字符(串)所在位置该函数有二个参数第一个参数为要查找的字符(串)第二个参数为被查找字符(串)
参考实例
var
nPos: Integer; // 用于保存查找的字符所在位置
begin
nPos := Pos(Like I Like Reading!);
end;
此时nPos等于如果没有查找到则nPos为
注意Pos函数在查找时是要区分字符大小的如果要实现不区分大小那么需要使用UpperCase或LowerCase函数将两个参数的字符(串)转换为大写或小写再进行查找
另外还有一个查找字符(串)的函数AnsiPos该函数的使用方法与Pos函数完全一样当你查找的是汉字时最好使用AnsiPos函数
RightStr(所在单元StrUtils)
功能说明返回字符串右边指定个数的新字符(串)该函数有两个参数第一个参数为完整的字符串第二个参数为指定个数
参考实例
var
S A: String;
begin
S := MSN Messenger;
A := RightStr(S ); // 从最右边开始获取右边的三个字符