请教各位网友,问个在Delphi有关无类型文件的写操作:(0分)

  • 主题发起人 主题发起人 netbug
  • 开始时间 开始时间
N

netbug

Unregistered / Unconfirmed
GUEST, unregistred user!
请看:
procedure TForm1.Button1Click(Sender: TObject);
var ch:char;
f:file;
begin
assignfile(f,'c:/test.aa');
rewrite(f);
ch:='a';
write(f,ord(ch));
ch:='b';
write(f,ord(ch));
closefile(f);
end;
我想把ASCII码一个接着一个地写入一个无类型文件(不换行),但此程序
编译不通过,说是:Illegal type in Write/Writeln statement
请问我该如何更改呢?谢谢.
 

write(f,ord(ch));

write(f,ch);
 
要ascii码?用write(f,‘ord(ch)’);
 
看来大家都把Pascal的老底给忘了,无类型文件的读写应该
使用 BlockRead 和 BlockWrite 这两个函数才行。无类型
文件只要用Reset就可以读写, 不用Rewrite, 比如:

assignfile(f,'c:/test.aa');
reset(f,1);
ch:='a';
blockwrite(f,ch,1)
ch:='b';
blockwrite(f,ch,1)
closefile(f);

 
reset 和 rewrite 是不一样的,一个只是打开,一个是把原来内容覆盖

好象无类型文件有一个文件说明,不能和其他一样的。
 
你说:好象无类型文件有一个文件说明,那是什么呢?
 
BlockWrite 可以,
也可以用 Stream ,如 TCustomMemoryStream.SaveToFile('filename');
 
用TFileStream!
有了先进的方法为什么还要用以前的办法呢?
我就是用这个搞定的
 
还是左轻侯厉害。
 
是的,无类型文件的操作是用blockread和blockwrite.
当然,现在有更好的方法,也就是左轻侯所说的TFileStream或TMemoryStream
 
接受答案了.
 
后退
顶部