• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi使用之函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
函数由一句或多句代码组成,可以实现某个特定的功能。使用函数可以使代码更加易读、易懂,加快编程速度及减少重复代码。过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,而函数能有返回值。
 
 
本文整理自以下链接

http://blog.sina.com.cn/s/blog_40a8922201000py6.html

http://blog.163.com/jiandande3218@126/blog/static/74728469201132715251648/

 

PASCAL函数过程表

目录:
1、数学函数;
2、所有单元;
3、SYSTEM单元(不需要uses语句);
4、DOS单元;
5、CRT单元;
6、其他单元;
7、常用函数;
8、不常用函数;
9、退出方法

1、数学函数

求绝对值函数abs(x)
定义:function Abs(X): (Same type as parameter);
说明:X可以是整型,也可以是实型;返回值和X的类型一致例子:

var
r: Real;
i: Integer;
begin
r := Abs(-2.3); { 2.3 }
i := Abs(-157); { 157 }
end.

 

取整函数int(x)
定义:function Int(X: Real): Real; 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(而不是四舍五入)例子:

var R: Real;
begin
R := Int(123.567); { 123.0 }
R := Int(-123.456); { -123.0 }
end.

 

截尾函数trunc(x)
定义:function Trunc(X: Real): Longint; 注意:X是实型表达式. Trunc 返回Longint型的X的整数部分例子:

begin
Writeln(1.4, ' becomes ', Trunc(1.4)); { 1 }
Writeln(1.5, ' becomes ', Trunc(1.5)); { 1 }
Writeln(-1.4, 'becomes ', Trunc(-1.4)); { -1 }
Writeln(-1.5, 'becomes ', Trunc(-1.5)); { -1 }
end.

 

四舍五入函数round(x)
定义:function Round(X: Real): Longint; 注意:X是实型表达式. Round 返回Longint型的X的四舍五入值.如果返回值超出了Longint的表示范围,则出错. 例子:

begin
Writeln(1.4, ' rounds to ', Round(1.4)); { 1 }
Writeln(1.5, ' rounds to ', Round(1.5)); { 2 }
Writeln(-1.4, 'rounds to ', Round(-1.4));{ -1 }
Writeln(-1.5, 'rounds to ', Round(-1.5));{ -2 }
end.

 

取小数函数frac(x)
定义:function Frac(X: Real): Real; 注意:X 是实型表达式. 结果返回 X 的小数部分; 也就是说,Frac(X) = X - Int(_X). 例子:

var
R: Real;
begin
R := Frac(123.456); { 0.456 }
R := Frac(-123.456); { -0.456 }
end.

 

求平方根函数sqrt(x)和平方函数sqr(x)
定义:
平方根:function Sqrt(X: Real): Real;
注意:X 是实型表达式. 返回实型的X的平方根.

平方:function Sqr(X): (Same type as parameter);
注意:X 是实型或整型表达式.返回值的类型和X的类型一致,大小是X的平方,即X*X.
例子:

begin
Writeln('5 squared is ', Sqr(5)); { 25 }
Writeln('The square root of 2 is ',Sqrt(2.0)); { 1.414 }
...

 

 

 
2、所有单元
SYSTEM TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。
DOS 具有日期、时间、目录查找、程序执行等功能
CRT 具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等功能
PRINTER 支持打印输出操作。
GRAPH 高级图形软件包,支持多种图形适配器。
GRAPH3 实现TP3.0的图形软件包。
TURBO3 兼容TP3.0的源程序。
OVERLAY 实现高级覆盖管理

 
3、SYSTEM单元

SYSTEM 单元常用过程与函数
ABS(X) F 求变量的绝对值
ADDR(X) F 测变量地址
APPEND(F) P 打开一个存在的文本文件,并将文件指针指向文件末尾准备添加元素
ARCTAN(X) F 反正切
ASSIGN(F,C) P 将字符串C所表示的外部文件名赋给文件变量F
ASSIGNED(X) P 测试程序当中的指针或变量是否为空
BLOCKREAD(F,D,NUM) P 读类型文件。
BLOCKWRITE(F,D,NUM) P 写无类型文件
BREAK P 中止或结束循环
CHDIR(PATH) P 改变当前目录
CHR(X) F 求ASCII码值为X的字符
CLOSE(F) P 关闭文件
CONCAT(S1,S2...S3) F 字符串合并
CONTINUE P 继续循环
COPY(S,POS,LEN) F 返回一个字符串的子串
COS(X) F 余弦函数
CSEG F 返回CS寄存器的当前值
DEC(X) F X:=X-1
DELETE(S,POS,LEN) P 删除一个字符串的子串
DISPOSE(P) P 释放一个动态变量
DSEG F 返回DS寄存器的当前值
EOF(F) F 判断文件是否结束
EOLN(F) F 判断文件类型中的一行是否结束
ERASE(F) P 删除一个存在的外部文件。
EXIT P 过程中止
EXP(X) F 以E为底的指数函数
FILEPOS(F) F 文件记录的当前位置
FILESIZE(F) F 文件记录数
FILLCHAR(D,LEN,DATE) P 填充数值或字符
FLUSH(F) P 清空文件缓存区
FRAC(X) F 取实形变量的小数部分
FREEMEM(P,I) P 释放变长动态变量
GETDIR(DRV,PATH) P 取当前盘,当前目录
GETMEM(P,I) P 分配变长的动态变量,并把块地址存放在一个指针变量中
HALT P 立即中止程序执行,返回TP编辑器或DOS
HI(I) F 返回一个变量的高位字节
INSERT(S,D,POS) F 在一个字符串中某一位置开始插入一个子串
INT F 取整数部分
IORESULT F 返回最后一次输入/出操作的结果状态
LENGTH(S) F 取字符串的长度
LN(R) F 求自然对数
LO(I) F 返回一个变量的低位字节
MAXAVAIL F 返回最大内存空间
MEMAVAIL F 返回可用内存数目
MKDIR(PATH) P 建立一个子目录
MOVE(S,D,LEN) P 快传送
NEW(P) P 建立一个新的动态变量
ODD(X) F 判断一个变量的值是否为奇数
OFS(X) F 侧变量偏移地址
ORD(CH) F 求一个字符的ASCII码值
PARAMCOUNT F DOS参数串长度
PARAMSTR(N) F DOS参数串
PI F 圆周率的值
pos(str1,str2) f 测一个字符串中包含的另一个子串的开始位置
pred(x) f 求前驱
ptr(i) f 指针赋值
random f 返回0~1之间的随机实数
randomize p 初始化随机数发生器
read/readln(f,x) p 读入/输入数据
rename(f,str) p 给一个外部文件改名
reset(f) p 打开文件,并将文件指针指向开始,并准备读数据
rewrite(f) p 打开文件,并将文件指针指向开始,准备写资料
rmdir(path) p 删除一个子目录
round(x) f 求实数的近似数
runerror p 停止程序的运行
scrollto p 滚动显示窗口的某部分内容
seek(f,n) p 将文件指针定位于文件f的第n个文件成分上
seekrof(f) f 定位到文件尾
seekroln(f) f 定位到行尾
seg(n) f 测变量段地址
settextbuf(f) p 将输入/出缓冲区与一个文本文件建立关联
sin(x) f 正弦函数
sizeof(x) f 测变量大小
sptr f 返回sp寄存器的当前值
sqr(x) f 平方
sqrt(x) f 平方根
sseg f 返回ss寄存器的当前值
str(i,s) f 将一个整数转换成字符串
succ(X) f 后继函数
swap(x) f 交换一个变量的高位和低位字节
trunc(x) f 截去实数的小数部分
truncate(f) p 截去文件当前指针以后的内容
upcase(ch) f 将小写字母转换成大写字母
val(s,r,p) p 将一个字符串转换成数值
writeln(f,x) p 输出

 
4、DOS单元

dos单元常用过程与函数

getdate p 返回系统当前日期
detftime p 返回最后一次写入的日期和时间
gettime p 返回系统当前时间
packtime p 转换系统日期和时间,封装成4个字节的长整形格式
setdate p 设置系统当前日期
setftime p 写入新的系统日期和时间,覆盖系统最后一次写入的系统日期和时间文件
settime p 设置系统当前时间
uppacktime p 将系统日期和时间转换成纪录格式
diskfree f 返回指定磁盘可用剩余空间
disksize f 返回指定磁盘的总容量
get/setverity p 返回/设置dos状态下的磁盘读写标记
fexpand f 返回函数名的全称
fsearch f 在一个目录中查找文件
fsplit f 将一个文件名分成目录、文件名、扩展名
findfirst p 在当前目录或指定目录下查找第一个与给定属性相匹配的文件名
findnext p 返回下一个满足匹配条件的文件名
getfattr p 返回文件的属性
setfattr p 设置文件属性
gerintvec p 返回某个中断变量值
intr p 执行软中断
msdos p 执行dos 系统调用
setintvec p 设定中断值
exec p 通过一个特定命令行执行特定程序段
keep p 中断程序的执行但仍驻留在内存中
swapvectors p 用当前变量交换所有中断变量值
dosexitcode f 回到子程序出口
dosversion f 显示dos版本
 

5、CRT单元

assigncrt(f) p 将文本文件f与显示器crt建立联系
clreol p 清除当前行光标所在位置以后的字符
clrscr p 清除当前窗口或屏幕,光标返回到左上角
delay(t) p 等待t毫秒
delline p 清除光标所在行上所有内容
gotoxy(x,y) p 将光标移到屏幕某处
highvideo p 选择高亮度显示字符
insline p 在当前光标位置插入空行
keypressed f 测定键盘输入状态
lowvideo p 低亮度显示字符
normvideo p 选择正常文本属性从光标所在位置开始显示字符
nosound p 关闭内部扬声器
readkey p 等待从键盘输入一个字符
sound(hz) p 以hz指定的频率发声
textbackground(soor) p 设置正文背景颜色
textcolor(color) p 设置正文前景颜色
textmode p 选择特定的文本显示模式
wherex/y f 返回当前光标位置的坐标值
window(x1,y1,x2,y2) p 在屏幕定义一个文本窗口
 

6、其他单元

chain(f) p 目标程序链接
execute(f) p 执行目标程序
mark(p) p 标记动态变量
release(p) p 释放动态变量区
srtinit p 屏幕初始化
crtline p 汉字屏幕方式转换
graphbackground(color) p 选择背景色
graphcolormode p 中分辨率彩色图形方式,320*200彩色
graphmode p 中分辨率黑白图形方式,320*200黑白
graphwindow(x1,y1,x2,y2,color)p 定义图形方式窗口
hires p 高分辨率单色图形方式,640*200黑白
hirescolor(color) p 高分辨率彩色图形方式,640*200彩色
palette(color) p 中分辨率彩色图形颜色组
ovrpath(path) p 指定覆盖文件路径
draw(x1,y1,x2,y2,color) p 画线
intr(n,m) p 8086中断调用
plot(x,y,color) p 画点
random(integer) f 产生随机整数
seg(x) f 测变量段地址
colortable(c1,c2,c3,c4) p 重定义颜色组
arc(x,y,radius,color) p 画圆弧
circle(x,y,radius,color) p 画圆
getpic(buffer,x1,x2,y1,y2) p 屏幕转储到屏幕
putpic(buffer,x,y) p 缓冲器转储到屏幕
getdotcolor(x,y) p 读点
fillscreen(color) p 填充屏幕
fillshape(x,y,fillcol,bordercol) p 填充一个区域
 

6、其他常用函数

function binstr(value:longint;cnt:byte):string;
将value转二进制,取后cnt个字符所成字串
function lowercase(c:char or string):char or string;
upcase 的反函数
procedure setlength(var s:string;len:longint);
将s长度定为len
function power(base,expon:real):real;
base的expon次方
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 函数 将字符串中的字符转换为大写
style 属性 类型选择
suce 函数 返回后继的参数
swap 函数 交换参数的高低地址位
tabs 属性 标记每一项的内容
tabindex 属性 标记索引
text 属性 显示的文本
texttofloat 函数将字符串(以null结束的格式)转换为浮点数
time 函数 返回当前的时间
timetostr 函数 将时间格式转换为字符串
trim 函数从给定的字符串中删除前导和尾部的空格及控制字符
trimleft 函数从给定的字符串中删除首部的空格及控制字符
trimright 函数从给定的字符串中删除尾部的空格及控制字符
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 函数 将变体转换为指定的类型并保存他
visible 属性 控件的可见性
wantreturns 属性为true时,按回车键产生一个回车符;为false时,按下ctrl+enter才产生回车符 write 命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件。

 

7、其他不常用函数

Addr
语法 function Addr(var f:text);
说明 addr返回一个变量,类型或过程的地址。结果为指针类型

assigncer
语法 procedure assigncrt(var f:file;name:string);
说明 将文件f的内容输于显示器上


bolckread
语法 procedure blockread(var f:file; var b:type; numrecs:integer;varecsread:integer);
说明 从无类型文件f中读出number 个记录,放在缓冲区b .recsread表示了实际读出的记
录数。注意:只有pc\ms-dos版才支持recsread


bolckwrite
语法 procedure blockwrite(var f:file; var b:type; numrecs:integer);
说明从缓冲区b读出numrecs个记录至无类型文件中。


chdir
表示的目录.语法 procedure chdir (s:string);
说明 将当前的目录换为s所


filesize
语法 function(f:file):integer;
说明 返回f当前所含的记录数。


filepos
语法 function(f:file):integer;
说明 返回文件f指针所指向的记录号


fillpoly(dos)
语法 frocedure fillpoly(munpoints:word;var polypoints);
说明用munpoints个点画一个多边形,数组munpoints含多边形的顶点坐标


flush
说明 procedure flush(var f:file)
语法 刷新用于输出文件f的全部磁盘缓冲区


frac
语法 function frac(r:real):real;
说明 返回实数r的小数部分


fsearch (dos)
语法 function fsearch(path:pathstr;dirlist:string):pathstr
说明查找dirlist目录中的与path相匹配的文件。如果找到则以一个字符串返回结果,否则返回的函数值为一空串


insline
语法 procedure insline;
说明 在当前光标的所在位置插入一空行


mark
语法 procedure mark(p:pionter)
说明 贮存了当前堆顶端知底于指针p中
maxavaih
语法 function maxavil:longint
说明 返回堆中最大的自由块的尺寸


menavail
语法 function memavail:longint
说明 返回堆中自由空间的总长度


mkdir
语法 procedure mkdir(s:string)
说明 以字符串s命名建立一个目录(文件夹)


parammstr
语法 function paramstr(i;word:string);
说明 返回命令行所指定的参数。例如 paramstr(1)返回第一个参数。在dos3.0以上的版本 返回执行文件的路径和文件名


randomize
语法 function randomize;
说明初始化随机产生程序。其基数存放在长整型randseed中


release
语法 procedure falease(var p;pointer)
说明释放由mark命令所设置的内存。用mark于贮存指针的堆地址


rename
语法 procedure rename(var f:file;s:string)
说明 将文件f的文件名变为字符串s


rmdir
语法 procedure rmdir(s:string)
说明 删除目录s(文件夹)


sound (crt单元)
sound(i:integer)
利用内部扬声器发音


seekeof
语法 function seekeof(var file):boolean
说明与eof相似,只是在测试文件结束前要跳过空格,制表符号和文件的结束符(cr/cf)


truncate
语法 procedure trunvate
说明在当前文件f指针处强行结束文件,文件指针后的内容丢失

 

 

补充函数

一、数据类型转换函数

1.FloatToStr

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

参考实例:

  Edit1.Text := FloatToStr(1.981);

  

2.IntToStr

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

参考实例:

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

  

3.IntToHex

功能说明:该函数用于将“十进制”转换成“十六进制”。该函数有二个参数。第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。

参考实例:

  Edit1.Text := IntToHex('100', 2);

执行结果,Edit1.Text等于64。

注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('$' + '64'); 这时I等于100。加上一个'$'即可将“十六进制”转换为“十进制”。

  

4.StrToInt

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

参考实例:

  I := StrToInt('100');

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

  

5.StrToFloat

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

参考实例:

  N := StrToFloat(Edit1.Text);

注意:Edit1.Text中的内容为1.981(凡在Edit控件中显示的文本均为字符串)。N为Double类型,用于保存转换后的浮点型数据。

  

二、字符串、数组操作函数

对字符串及数组的操作,是每个程序员必须要掌握的。熟练的使用这些函数,在编程时能更加得心应手。

1.Copy

功能说明:该函数用于从字符串中复制指定范围中的字符。该函数有3个参数。第一个参数是数据源(即被复制的字符串),第二个参数是从字符串某一处开始复制,第三个参数是要复制字符串的长度(即个数)。最后函数返回一个新的字符串(即是我们指定要复制的字符串内容)。

参考实例:

var
    S: String;
    MyStr: String; // 保存新的字符串
begin
    S := 'I Love China!';
  //下面将获取I Love China中的“Love”字符串。
  MyStr := Copy(S, 3, 4);
end;

执行结果,MyStr等于“Love”,“Love”字符串在“I Love China!”中第3个位置开始,所以第二个参数为3,“Love”一共有4个字符,所以第三个参数为4。

  

2.Concat

功能说明:连接两个或多个字符串为一个字符串。

参考实例:

  var
    S1, S2: String;
  begin
    S1 := Concat('A', 'B'); // 连接两个字符串,S1变量等于AB。
    S2 := Concat('Borland', ' Delphi', ' 7.0'); // 连接三个字符,S2变量等于Borland Delphi 7.0。
  end;

 

3.Delete

功能说明:删除字符串中指定的字符串。该函数有三个参数。第一个参数为要进行处理的字符串,第二个参数为从何处开始删除,第三个参数为删除的字符个数。

参考实例:

  var
    S: String;
  begin
    S := 'I Like Reading CPCW.';
    // 下面的代码将删除S变量中的“C”字符。
    Delete(S, 16, 1);
  end;

此时S变量则是I Like Reading PCW.(“C”已经不存在了)。

  

4.High

功能说明:返回数组下标的最大值。

参考实例:

  var
    arrText: array[0..9] of Char;
    i: Integer;
  begin
    i := High(arrText); // i的值则为9
  end;

 

5.Insert

功能说明:插入一个字符(串)。该函数有三个参数。第一个参数为要插入的字符(串),第二个参数为被插入字符串(源字符串),第三个参数为从何处插入。

参考实例:

  var
    S: String;
  begin
    S := 'Wat is your name?';
    // 上面句子中的What单词差一个“h”字符,下面使用Insert函数将h添加进去。
    Insert('h', S, 2); // 将“h”从第2位处插入。
  end;

 

6.LeftStr(所在单元:StrUtils)

功能说明:返回字符串左边指定个数的新字符(串)。该函数有两个参数。第一个参数为完整的字符串,第二个参数为指定个数。

参考实例:

  var
    S, A: String;
  begin
    S := 'MSN Messenger';
     A := LeftStr(S, 3); // 从最左边开始,获取左边的三个字符。因此A变量则等于MSN。
  end;

 

7.Length

功能说明:该函数用于统计指定字符串的长度(即个数)。

参考实例:

  var
    nLen1, nLen2: Integer; // 用于保存字符串长度
  begin
    nLen1 := Length('CPCW');
    nLen2 := Length('电脑报');
  end;

执行结果,nLen1等于4,nLen2等于6。由于一个汉字相当于两个字符的长度,所以3个汉字的长度为6。

  

8.Low

功能说明:返回数组下标的最小值。

参考实例:

  var
    arrText: array[1..9] of Char;
    i: Integer;
  begin
    i:= Low(arrText); // i的值则为1
  end;

 

9.LowerCase

功能说明:将字符(串)中的英文字符转换为小写。

参考实例:

  var
    S, A: String;
  begin
    S := 'ABC';
    A := UpperCase(S); // 经过UpperCase函数转换后,A则等于abc。
  end;

 

10.MidStr(所在单元:StrUtils)

功能说明:返回指定范围内的字符串。该函数有三个参数。第一个参数为源字符串,第二个参数为起点,第三个参数为结束点。通过第二、第三个参数则可指定要复制字符串的范围。

Copy函数与此函数类似。MidStr主要用于处理含有中文字符的字符串。

参考实例:

  var
    S: String;
    H: String;
  begin
    S := MidStr('China', 1, 2); // S变量为Ch
    H := MidStr('电脑报', 1, 1); // H变量为“电”。如果使用Copy函数,则应是H := Copy('电脑报, 1, 2),否则返回的将不是“电”字。因此在使用操作含有中文的字符串时,最好使用MidStr。
  end;

 

11.Pos

功能说明:查找字符(串)所在位置。该函数有二个参数。第一个参数为要查找的字符(串),第二个参数为被查找字符(串)。

参考实例:

  var
    nPos: Integer; // 用于保存查找的字符所在位置
  begin
    nPos := Pos('Like', 'I Like Reading!');
  end;

此时nPos等于3。如果没有查找到,则nPos为0。

注意:Pos函数在查找时是要区分字符大小的。如果要实现不区分大小,那么需要使用UpperCase或LowerCase函数将两个参数的字符(串)转换为“大写”或“小写”再进行查找。

另外还有一个查找字符(串)的函数----AnsiPos,该函数的使用方法与Pos函数完全一样。当你查找的是汉字时,最好使用AnsiPos函数。

  

12.RightStr(所在单元:StrUtils)

功能说明:返回字符串右边指定个数的新字符(串)。该函数有两个参数。第一个参数为完整的字符串,第二个参数为指定个数。

参考实例:

  var
    S, A: String;
  begin
    S := 'MSN Messenger';
    A := RightStr(S, 3); // 从最右边开始,获取右边的三个字符。因此A变量则等于ger。
  end;

 

13.SetLength

功能说明:设置字符串或动态数组长度。该函数有两个参数。第一个参数为要设置的字符串变量或动态数组变量,第二个参数为指定的长度,其取值范围在0到255之间。

参考实例:

  var
    S: String;
    arrText: array of Char; // 定义一个动态数组
  begin
    SetLength(S, 10); // 当设置后,S变量只能赋值长度为10的字符串。
    SetLength(arrText, 10); // 只有使用SetLength为动态数组分配内存空间后才能使用动态数组。这句代码的作用相当于arrText: array[0..9] of Char
  end;

 

14.StrPCopy

功能说明:将字符串复制到字符数组中。该函数有两个参数。第一个参数为“目标数组”,第二个参数为“字符串”。

参考实例:

  var
    arrChar: array[0..255] of Char; // 这里声明了长度为256的Char型数组
  begin
    StrPCopy(arrChar, 'Come on, baby!');
  end;

 

15.Trim

功能说明:删除字符串左右两边的空格(无论左右两边有多少个空格均被全部删除)。

参考实例:

  var
    S: String;
  begin
    S := ' Delphi 7.0 ';
    S := Trim(S);
  end;

 

16.TrimLeft

功能说明:删除字符串左边的空格(无论左边有多少个空格均被全部删除)。

参考实例:

    S := TrimLeft(' Delphi');

  

17.TrimRight

功能说明:删除字符串左边的空格(无论左边有多少个空格均被全部删除)。

参考实例:

    S := TrimRight('Delphi ');

  

18.UpperCase

功能说明:将字符(串)中的英文字符转换为大写。

参考实例:

  var
    S, A: String;
  begin
    S := 'abc';
    A := UpperCase(S); // 经过UpperCase函数转换后,A则等于ABC。

  end;

 

19. posEx

function PosEx(const SubStr: string; const S: string; Offset: Integer = 1): Integer; overload;

首先要引用StrUtils单元,即uses部分要加入StrUtils

功能说明:返回子串 SubStr 在字符串 S 中的索引。可以指定查找起始位置Offset,默认从头开始查找,即Offset=1。如果没有找到,返回0。如果指定的起始位置超过了字符串S的长度,或起始位置小于 1 ,也返回0。

StrUtils.PosEx Function

Returns the index value of a substring.

 

Description

PosEx returns the index of SubStr in S, beginning the search at Offset. If Offset is 1 (default), PosEx is equivalent to Pos.

PosEx returns 0 if SubStr is not found, if Offset is greater than the length of S, or if Offset is less than 1.

 

三、文件、磁盘操作函数

软件大多都要对文件、磁盘进行操作。熟悉掌握这些函数可以帮助你轻松实现创建、删除、保存文件等功能。

1.Append

功能说明:追加内容到文件中。文件必须要存在。

参考实例:

  var
    S: String;
    F: TextFile;
  begin
    S := 'This is a book.';
    AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
    Append(F); // 以追加的方式打开文件
    Writeln(F, S); // 将S变量中的内容追加到文本尾后。
    CloseFile(F); // 关闭文件
  end;

 

2.AssignFile

功能说明:与指定的文件建立连接。

参考实例:

  var
    F: TextFile; // 声明文本文件类型变量
  begin
    AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
  end;

 

3.ChDir

功能说明:改变当前目录(文件夹)。

参考实例:

  var
    sDir: String;
  begin
    sDir := 'C:\Windows';
    ChDir(sDir); // 此时,系统的当前目录则为C:\Windows目录。
  end;

 

4.CloseFile

功能说明:关闭文件。当对文件的操作完成后,应该使用CloseFile函数关闭打开的文件。

参考实例:

  var
    S: String;
    AllText: String;
    F: TextFile;
  begin
    AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
    Reset(F); // 打开文件
    while not EOF(F) do begin // 使用While循环,一直判断是否到了文件未尾
      Readln(F, S); // 读取一行文本
      AllText := AllText + S;
    end;
    CloseFile(F); // 关闭文件
  end;

 

5.DeleteFile

功能说明:删除指定的文件。该函数只有一个参数。此参数为欲删除文件的完整路径。如果删除成功,则返回True。若删除失败、或文件不存在则返回False。

参考实例:

  var
    IsOK: Boolean; // 用于保存删除状态
  begin
    IsOK := DeleteFile('C:\My Documents\Index.html'); // 函数执行后,将结果返回给IsOK变量。如果IsOK变量为True,则表示文件删除成功。
    if IsOK then 
      ShowMessage('文件删除成功!')     else
      ShowMessage('文件删除失败!');   end;

 

6.DirectoryExists

功能说明:检测指定的文件夹否存在。如果存在则返回True,反之则为False。

参考实例:

  var
    IsExists: Boolean;
  begin
    IsExists := DirectoryExists ('C:\Windows');
    if IsExists then ShowMessage('Windows文件夹存在!')
    else ShowMessage('Windows文件夹不存在!');
  end;

 

7.DiskFree

功能说明:获取指定磁盘的剩余空间。该函数只有一个参数。该参数用于指定要获取剩余空间的磁盘号。当参数为0时,表示获取当前磁盘的剩余空间,1为A盘,2为B盘,以此类推。如果返回值为-1,表示指定的磁盘无效。

参考实例:

  var
    FreeSize: Int64;
  begin
    FreeSize := DiskFree(3); // 获取C盘中的剩余空间。返回的值是以“字节”为单位的。
  end;

 

8.DiskSize

功能说明:获取指定磁盘的空间。该函数只有一个参数。该参数用于指定要获取磁盘空间的磁盘号。当参数为0时,表示获取当前磁盘的空间,1为A盘,2为B盘,以此类推。如果返回值为-1,表示指定的磁盘无效。

参考实例:

  var
    DiskSize: Int64;
  begin
    DiskSize:= DiskSize(3); // 获取C盘的空间。返回的值是以“字节”为单位的。
  end;

 

9.EOF

功能说明:判断文件指针是否移动到了文件未尾。当EOF函数返回值为True时,则不可以使用Readln函数进行读取文件了。

参考实例:

  var
    S: String;
    AllText: String;
    F: TextFile;
  begin
    AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
    Reset(F); // 打开文件
    while not EOF(F) do begin // 使用While循环,一直判断是否到了文件未尾
      Readln(F, S); // 读取一行文本
      AllText := AllText + S;
    end;
  end;

 

10.Erase

功能说明:删除文件。

参考实例:

  var
    F: File;
  begin
    AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
    Reset(F); // 打开文件
    CloseFile(F); // 关闭文件
    Erase(F); // 删除文件。在删除文件之前必须先关闭文件。
  end;

 

11.FileExists

功能说明:检测指定的文件否存在。如果存在则返回True,反之则为False。

参考实例:

  var
    IsExists: Boolean;
  begin
    IsExists := FileExists('C:\Test.txt');
    if IsExists then ShowMessage(' 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi选择指定打印机的方法《LceMeaning》发布时间:2022-07-18
下一篇:
[转]Delphi:keydown与keypress的区别,组合键发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap