|
|
发表于 2005-7-16 20:21:00
|
显示全部楼层
Re:我正在做地图编辑器,请教地图文件存取方法
// 如果在窗体的事件中使用,要在下面这些函数前面加上 system.
// 首先声明一个 file 类型的变量 fp
// 初始化文件操作,filename = 文件名
// assign(var fp: file; filename: string);
// 调用这些函数后检查 ioresult 全局变量,不为0则调用失败
// 读取存在(不存在返回错误)的文件,recsize 一般为 1
// reset(var fp: file; recsize: integer);
// 创建一个新的文件(如果文件存在,删除后创建个新文件)
// rewrite(var fp: file; recsize: integer);
// 设置文件读写偏移位置
// seek(var fp: file; offset: integer);
// 返回当前文件读写位置
// filepos(var fp: file);
// 检查是否到了文件末尾
// eof(var fp: file);
// 块读取文件,BUF是数据,如果是指针别忘记了加个 ^ 取数据操作符,COUNT为读取大小
// blockread(var fp: file; var buf; count: integer);
// 块写入文件,BUF是数据,如果是指针别忘记了加个 ^ 取数据操作符,COUNT为写入大小
// blockwrite(var fp: file; var buf; count: integer);
// 最后,关闭文件
// close(var fp: file);
// 给个示范程序
var
//声明个文件变量
fp: File;
// 数据指针
buffer: pointer;
begin
// 打开文件abc.dat
assign(fp,'abc.dat');
// 读写文件 abc.dat
reset(fp, 1);
getmem(buffer, 1024);
fillchar(buffer^, 1024);
// 把BUFFER指针指向的1024字节数据保存到ABC.DAT
blockwrite(fp,buffer^, 1024);
freemem(buffer);
// 最后,别忘了关闭文件
close(fp);
end. |
|