5.Object Pascal常用标准函数与过程
在Delphi软件系统中提供了大量的预定义函数和过程,称为库函数和过程,也称为标准函数和过程。下面,分类介绍这些标准函数和过程。
5.1数值运算函数
常用数学运算函数:
数学函数 | 函数使用 | 功能描述 |
---|---|---|
绝对值函数 | Abs(x) | 返回变量x的绝对值,x可以是一个整形的变量或实数型的变量 |
反正切函数 | Arctan(x) | 返回x的反正切值 |
余弦函数 | Cos(x) | 返回x的余弦值 |
正弦函数 | Sin(x) | 返回x的正弦值 |
π值函数 | Pi | 返回常数π的值:3.1415926535898 |
平方函数 | Sqr(x) | 返回x的平方 |
平方根函数 | Sqrt(x) | 返回x的平方根,要求x>=0 |
幂函数 | Power(x, y) | 返回x的y次幂 |
自然对数函数 | Ln(x) | 返回x的自然对数值,x>0 |
常用对数函数 | Log10(x) | 返回x的常用对数值,x>0 |
指数函数 | Exp(x) | 返回数学表达式e^x的值 |
取小数函数 | Frac(x) | 返回x的小数部分 |
取整数函数 | Int(x) | 返回x的整数部分 |
舍入函数 | Round(x) | 返回x的整数部分,对小数部分进行四舍五入 |
取整函数 | Trunc(x) | 返回x的整数部分,舍去小数部分 |
奇偶函数 | Odd(x) | 当x为奇数时返回True,当x为偶数时返回False |
随机函数 | Random[(x)] | 当省略参数时,返回在区间[0,1]之间的随机实数; 当使用参数x时,返回一个在区间[0,x)上的随机整数 |
5.2字符处理函数
字符函数过程 | 函数使用 | 功能描述 |
---|---|---|
小写字母转大写字母 | UpperCase(s) | 将字符串s中的小写字母全部转换为大写字母 |
大写字母转小写字母 | LowerCase(s) | 将字符串s中的大写字母全部转换为小写字母 |
比较字符串大小 | CompareStr(s1, s2) | 比较字符串大小,区分大小写,返回值为整数; 若s1大于s2,则返回值大于0; 若s1小于s2,则返回值小于0; 若s1等于s2,则返回值为0; |
比较字符串大小 | CompareText(s1, s2) | 不区分大小写,其他同上 |
合并字符串 | Concat(s1, s2,......) | 合并多个字符串为一个字符串 |
查找字符串 | Pos(s1, s) | 求参数s1在参数s中的起始位置,返回值为整数; 若s中不包含s1,则返回值为0 |
求字符串长度 | Length(s) | 返回字符串s中的字符个数,返回值为整数; |
截取子字符串 | Copy(s, n, m) | 在字符串s中截取从n开始m个字符长度的子字符串 |
整型转换为字符串 | IntToStr(x) | 将整数x转换为字符串 |
实型转换为字符串 | FloatToStr(x) | 将实数x转换为字符串 |
字符串转换为整数 | StrToInt(s) | 将字符串s转换为整数,若s中包含非数字字符则导致异常 |
字符串转换为实数 | StrToFloat(s) | 将字符串s转换为实数,若s中包含非数字字符则导致异常 |
进制转换函数 | IntToHex(d, h) | 将十进制整数转换为十六进制格式 其中: d表示要转换的十进制整数; h表示使用多少位来显示十六进制数; |
ASCII转换为字符 | Chr(x) | 返回整数x对应的ASCII字符,0<x<256 |
格式化字符串函数 | Format(s, x) | 将实数x按s所指定的格式转换为字符串型。如:format('s%数学考了d%分!', ['赵波', 98])会返回字符串'赵波数学考了98分!' |
类型转换过程 | Str(x, s) | 将数值x转换成字符串放入参数s中 |
类型转换过程 | V(s, v, c) | 将字符串s转换成数值放入参数v中,根据c的值判断是否转换成功 |
5.3日期时间函数
常用日期时间函数:
函数过程 | 引用 | 功能描述 |
---|---|---|
日期时间函数 | Now | 返回当前的日期时间 |
日期函数 | Date | 返回TDateTime对象,包含年、月、日信息 |
时间函数 | Time | 返回TDateTime对象,包含时、分、秒信息 |
日期转字符串函数 | DateToStr(date) | 将TDateTime对象date转换为字符串 |
时间转字符串函数 | TimeToStr(time) | 将TDateTime对象time转换为字符串 |
日期时间转字符串函数 | DateTimeToStr(datetime) | 将TDateTime对象datetime转换为字符串 |
数值转TDateTime函数 | EncodeDate(year, month, day) | 将整数year、month、day转换为TDateTime对象 |
数值转TDateTime函数 | EncodeTime(hour, min, sec, msec) | 将整数hour、min、sec、msec转换为TDateTime对象 |
星期函数 | DayOfWeek(date) | 返回日期所对应的星期数,函数返回整数1 ~ 7,1表示星期日,7表示星期六 |
日期时间格式化函数 | FormateDateTime(f, d) | 将d所给定的日期时间值按参数f指定的格式返回,参数f称为格式化字符串 |
转换过程 | DecodeDate(date,year,month,day) | 将参数date中的日期分为年、月、日分别放入参数year、month、day |
转换过程 | DecodeTime(time,hour,min,sec,msec) | 将参数time中的时间分为时、分、秒、毫秒分别放入参数hour,min,sec,msec |
5.4顺序类型及其函数
5.4.1顺序类型
顺序类型是指整型、字符型、布尔型、枚举型、子界型等5种数据类型。
顺序类型的所有取值是一个有序的集合,每个取值都与顺序有关,该顺序对应唯一的整数。
-
整数的序数是其自身
-
字符的序数是其ASCII码
-
布尔型:False的序数是0,True的序数是1
-
枚举型:第一个数据的序数是0,以此类推
-
子界型:第一个数据的序数是1,以此类推
前趋值:除第一个序数外,每个序数都有一个前趋值;
后继值:除最后一个序数外,每个序数都有一个后继值;
整数无第一和最末数。
5.4.2顺序函数
函数 | 引用 | 功能描述 |
---|---|---|
序数函数 | Ord(x) | 返回数据x的序数 |
前趋函数 | Pred(x) | 返回数据x的前趋值 |
后继函数 | Succ(x) | 返回数据x的后继值 |
首序数函数 | Low(x) | 返回顺序型数据x取值集合中的第一个值;或者数组的第一个元素 |
末序数函数 | High(x) | 返回顺序型数据x取值集合中的最后一个值;或者数组的最后一个元素 |