2024年4月30日发(作者:)

Delphi类型转换

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类型字符串的一部分到一个零终止字符串

Delphi 7.0常用函数由一句或多句代码组成,可以实现某个特定的功能。使用函数可以使代

码更加易读、易懂,加快编程速度及减少重复代码。过程与函数类似,过程与函数最重要的

区别在于,过程没有返回值,而函数能有返回值。

在Delphi 7.0中,已为我们定义好了非常多的函数,大致分类有6种:数据类型转换函

数、字符串、数组操作函数、文件、磁盘操作函数、内存、指针操作函数、数学运算函数、

日期函数。

在Delphi中调用函数,一般情况下可以直接使用函数即可,但由于有一些函数未包含

在Uses中列出的单元中(默认单元有 Windows,Messages,SysUtils,Variants,Classes,Graphics,

Controls,Forms,Dialogs,所以需要我们手动添加单元。比如,MidStr函数就未包含在这些单

元中,MidStr所属单元在 StrUtils中,因此我们将StrUtils添加Uses中即可。

在本手册中,凡是未包含在默认列出的单元中的函数,都标明了其所属的单元,使用时

应当注意。

一、数据类型转换函数

在我们编写程序当中,根据不同情况,会使用到多种数据类型。当要对不同的类型进行

操作时,必须要将不同的类型转换成同样的类型。因此熟练地掌握数据类型的转换是非常重

要的。

oStr

功能说明:该函数用于将“浮点型”转换成“字符型”。

参考实例: := FloatToStr(1.981);

tr

功能说明:该函数用于将“整数型”转换成“字符型”。

参考实例:S := IntToStr(10);(注:S为String类型变量。)

ex

功能说明:该函数用于将“十进制”转换成“十进制”。该函数有二个参数。第一个参

数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。

参考实例: := IntToHex('100', 2);

执行结果,等于64。

注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函

数可以实现这个功能。具体代码是:I := StrToInt('S' + '64'); 这时I等于100。加上一个'S'

即可将“十六进制”转换为“十进制”。

nt

功能说明:该函数用于将“字符型”转换成“整数型”。

参考实例:I := StrToInt('100');

注意:不能转换如 StrToInt('ab')或StrToInt('好')这样的类型,因为他们并不存在数字型。

loat

功能说明:该函数用于将“字符型”转换成“浮点型”。

参考实例:N := StrToFloat();

注意:中的内容为1.981(凡在Edit控件中显示的文本均为字符串)。N为Double

类型,用于保存转换后的浮点型数据。

// 保存新的字符串

begin

S := 'I Love China!'; //下面将获取I Love China中的“Love”字符串。

MyStr := Copy(S, 3, 4);

end;

执行结果,MyStr等于“Love”,“Love”字符串在“I

begin

S1 := Concat('A', 'B'); // 连接两个字符串,S1变量等于AB。

S2 := Concat('Borland', ' Delphi', ' 7.0'); // 连接三个字符,S2变量等于Borland

Delphi 7.0。

end;

begin

S := 'I Like Reading CPCW.'; // 下面的代码将删除S变量中的“C”字符。

Delete(S, 16, 1);

end;

此时S变量则是I

begin

i := High(arrText); // i的值则为9

end;

begin

S := 'Wat is your name?';

// 上面句子中的What单词查一个“h”字符,下面使用Insert函数将h添加进去。