主题:TP常用过程、函数
小田甜ts
[专家分:210] 发布于 2006-07-08 13:38:00
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自减一
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 读入/输入数据
回复列表 (共9个回复)
沙发
小田甜ts [专家分:210] 发布于 2006-07-08 13:39:00
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 输出
板凳
绿步甲 [专家分:1610] 发布于 2006-07-08 19:06:00
偶发些不常用的~~~
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所
clrscr;
清屏
clreol
语法 procedure clreof;
说明 擦除光标所在位置至屏幕最右端的字符。
cseg
语法 function cseg:word;
说明 返回程序代码段的段地址。
delay(mm:integer); (crt单元)
程序推迟mm秒,1000MM=1秒
fexpand (dos单元)
语法 function fexpand(p:pathstr);
说明 接受一个文件名p,返回该文件的全部路径,包括驱动器
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相匹配的文件。如果找到则以一个字符串返回结果,否则返回的函数 值为一空串
gotoxy(x,y:integer); (crt单元)
光标定位。x为列,y为行
cetbreak (dos)
语法 procedure cetbreak(var break:boolean)
说明 返回DOS中检查的当前状态。当break为false时,DOS只在控制台,打印机或I/O接口检查 当break 为true时 每当DOS系统检查调用时,DOS调用Ctrl-break
3 楼
绿步甲 [专家分:1610] 发布于 2006-07-08 19:06:00
cetdir
语法 procedure cerdir(d:byte;var s:string)
说明 返回指定的驱动器d的当前目录。当前目录的返回值为s。如果d为0时,则查找缺省驱动器。
cetfattr(dos)
语法 function cetfattr(var f:file;attr:word)
说明 返回文件f的文件属性。在调用该过程前,必须赋给f文件名,但不打开
cettime (dos)
语法 procedure cettime(var f:file;time:longint)
说明 返回文件f上次读写的时间。在调用过程前,必须先给f赋值,并打开该文件。变量time是一压缩值 ,并必须用unpacktime过程分开
insline
语法 procedure insline;
说明 在当前光标的所在位置插入一空行
int
语法 function int(r:real):integer;
说明 返回实数r的整数部分
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指针处强行结束文件,文件指针后的内容丢失
·Cleardevice 清除选定的输出设备,即清除屏幕和动态指针
·Closegraph 关闭图形方式
·Setbkcolor(C) 设置屏幕背景颜色,色号C取0..15
·Setcolor(C) 设置屏幕前景颜色,色号C取0..15
·Getmaxx 屏幕最大横坐标值,Getmaxx=639
·Getmaxy 屏幕最大纵坐标值,Getmaxy=479
·Setaspectratio(X,Y) 设置纵横比,用于画圆一类图形
·Setfillstyle(模式,色号) 设置填充样式,模式取值0..11,1=Solidfill
·Setlinestyle(线型,模式,厚度) 线型设置,线型可取Solidln,Dottedln,Centerln,Dashedln,Userbitln,其作用分别为实线,点线,中心线,虚线,用户定义线,或使用数值0..4。当线型取0..3时,模式取0,当线型取4时,模式用16位二进制数组成,二进制中的0表示无点,1表示有点,如$AA为虚点线型,用以自行设计线型。当厚度取Thickwidth(3)时,线的厚度为正常时的3倍,当厚度取Normwidth(0及非3)时为正常厚度。
二、图形方式下的基本作图语句
·Arc(x,y,as,ae,r) 画弧,(X,Y)圆心坐标,As为开始角,Ae为结束角,取角度制,R半径
·Bar(x1,y1,x2,y2) 条形,即填充矩形,(X1,Y1)矩形左上角坐标,(X2,Y2)右下角坐标
·Bar3D(x1,y1,x2,y2,Depth,Top) 三维条形,Depth三维深度值,Top顶部画否,取Topon画顶部,Topoff不画顶部
·Circle(x,y,r) 画圆,(x,y)圆心,r半径
·Ellipse(x,y,as,ae,RX,RY) 画椭圆,RX为横半轴,RY为纵半轴
·Fillellipse(x,y,RX,RY) 填充椭圆
·Floodfill(x,y,c1) 填充颜色,(x,y)为填充起点,c1为图形边界色
·Line(x1,y1,x2,y2) 从(x1,y1)到(x2,y2)画直线
·Linerel(Dx,Dy) 用相对坐标画线,Dx,Dy为坐标增量
·Lineto(x,y) 从前一点到(x,y)画线
·Moverel(Dx,Dy) 相对移动画线点,Dx,Dy为坐标增量
·Moveto(x,y) 将画线点移动到(X,Y)处,用在Lineto句的前面
·Pieslice(x,y,as,ae,r) 圆饼图,参数意义同Arc
·Putpixel(x,y,c) 在(x,y)点用色号c画点
·Rectangle(x1,y1,x2,y2) 画矩形,(x1,y1)和(x2,y2)分别为左上和右下角坐标
·Pieslice(x,y,as,ae,r) 画圆扇形,参数意义同弧
·Sector(x,y,as,ae,RX,RY)画椭圆扇形,参数意义同椭圆
4 楼
小田甜ts [专家分:210] 发布于 2006-07-08 19:27:00
[url=http://upload.programfan.com/upfile/200607081926694.rar]TP过程与函数调用[/url]
5 楼
小田甜ts [专家分:210] 发布于 2006-07-08 19:29:00
回"绿步甲":你那里有很多的过程函数是要调用库的。你最好说清楚。
至于调用库的过程、函数有些多,我上传了个文件。(32854Byte)
6 楼
chorkey [专家分:0] 发布于 2006-07-12 17:08:00
哇 真的很有用。。
尤其3楼大哥。。我很迫切需要阿。。太感谢了
7 楼
游侠UFO [专家分:1200] 发布于 2006-07-19 20:47:00
[quote]哇 真的很有用。。
尤其3楼大哥。。我很迫切需要阿。。太感谢了[/quote]
注意调用库文件.如果TP7.0调用CTR单元还要打补丁
8 楼
lwguang [专家分:0] 发布于 2006-11-16 10:58:00
好贴~~~~
狂学~~~呵呵~~~
9 楼
maxumi [专家分:2200] 发布于 2006-11-16 14:37:00
楼上盗墓, 诸位快用激情火球轰杀之[IMG]http://bbs.rpgchina.com/image/post/smile/wink.gif[/IMG]
我来回复