如何定义记录文件?高分求助(高手请进,急急) (100分)

  • 主题发起人 主题发起人 szloner
  • 开始时间 开始时间
S

szloner

Unregistered / Unconfirmed
GUEST, unregistred user!
在dephi中可自定义记录结构,如:
type
Ttest=record
a:integer;
b:string;
end;
可将数据结构文件直接保存到文件中(Filewrite(Fhandle,test,sizeof(ttest)))。
我现在想在这个结构中定义一些二进制文件,如:图象,word文档,视频,声音等,应该如何做呢?
主要想作一个电子文档制作和阅读的工具。
 
type TA = record;

var f: file of TA;
a: ta;
begin
assignfile()
a... := ;
a.... := ;
write(f,a);
closefile(f);
end;
 
在记录类型中可以定义
Tbitmap
Tmemorystream吗?
 
图象, Word文档, 视频, 声音等, 很难用 Pascal 的 record 表达
 
type
PF=^TF;
TF=record
FileSize:integer;
FileContent:array[0..0]of Byte;
end;
 
>>在记录类型中可以定义
>>Tbitmap
>>Tmemorystream吗?
当然可以
TypeA = record
B: TBitmap;
S: TStream;
end
但是有什么用呢? 你不可能简单的将TypeA作为一个记录写入文件,而是
分别将B, S用流写入
 
你可以定义记录作为索引记录,然后将二进制文件用流附加在后面就可以了
type
TInfoRec=record
Count:integer; //索引记录的个数
FileSize:Integer; //整个文件的大小,可以用来验证本身是否损坏
end;

TIndexRec=record
Name: String; //文件的描述或文件名
StreamSize:Integer; //文件流的大小,可以定位并且正确读出文件流,
end;
 
后退
顶部