如何建立临时文件?(50分)

  • 主题发起人 主题发起人 heroxiao
  • 开始时间 开始时间
H

heroxiao

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何建立一个临时文件?在关机或该程序关闭后自动删除?
 
var
St: TstringList;
begin
St := TStringlist.create;
st.add('aa');
st.savetofile('c:/a.txt');
....
st.free;
deletefile('c:/a.txt');
end;
 
to duhai_lee
这样做如果在电脑非法关机比如突然断电时,该文件还在存在。。。
 
加二句,以保证此文件总是临时文件
var
St: TstringList;
begin
St := TStringlist.create;
st.add('aa');
if fileExist('c:/a.txt') then
-----------------------------------
deletefile('c:/a.txt');
------------------------------------
st.savetofile('c:/a.txt');
....
st.free;
deletefile('c:/a.txt');
end;
 
这个问题的关键就是检查关机状态呀,检查到关机就删除就行了,或开机启动时自动删除也成,放到启动里就行了,检查关机网上可以查到
 
filename := 'C:/ABC.TXT';
if not FileExists(filename) then
begin
assign(f, filename);
rewrite(f);
Writeln(f, '你好!');
Writeln(f, '我不好!');
close(f);
end;
deletefile(filename);
 
你可以用TStringList, TMemoryStream,并且不存到文件,那不管断电什么的,都不会在硬盘上留有痕迹;
或者存到系统临时目录中(可用GetTempPath取到系统临时目录),每次启动程序时就删除一下,关闭时也删一下。
 
现在好象还是不能解决非法关机的时候自动删除文件。。。能否建立成tmp文件?但
 
GetTempFile
API
 
建议每次启动程序或要用到临时文件的时候删除一下
要是突然断电呢你也指望系统为你把临时文件删掉么?
 
多人接受答案了。
 
后退
顶部