游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4426|回复: 5

我正在做地图编辑器,请教地图文件存取方法

[复制链接]

19

主题

116

帖子

122

积分

注册会员

Rank: 2

积分
122
QQ
发表于 2005-7-7 11:47:00 | 显示全部楼层 |阅读模式
以二进制的形式存取地图文件应该怎么做?我是新手希望能得到大大家的指点。

101

主题

467

帖子

482

积分

中级会员

Rank: 3Rank: 3

积分
482
QQ
发表于 2005-7-7 15:21:00 | 显示全部楼层

Re:我正在做地图编辑器,请教地图文件存取方法

TFileStream

19

主题

116

帖子

122

积分

注册会员

Rank: 2

积分
122
QQ
 楼主| 发表于 2005-7-8 15:14:00 | 显示全部楼层

Re: 我正在做地图编辑器,请教地图文件存取方法

有没有简单事例

101

主题

467

帖子

482

积分

中级会员

Rank: 3Rank: 3

积分
482
QQ
发表于 2005-7-9 09:03:00 | 显示全部楼层

Re:我正在做地图编辑器,请教地图文件存取方法

都在帮助里

16

主题

160

帖子

176

积分

注册会员

Rank: 2

积分
176
QQ
发表于 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.

16

主题

160

帖子

176

积分

注册会员

Rank: 2

积分
176
QQ
发表于 2005-7-16 20:25:00 | 显示全部楼层

Re:我正在做地图编辑器,请教地图文件存取方法

补充一下[em5]
// 返回文件 filename 是否存在
fileexists(filename: string);
// 取文件的大小,要调用 assign 函数后才有效
filesize(var fp: file);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-26 10:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表