关于创建和删除文件!请帮忙(10分)

  • 主题发起人 主题发起人 我饿了
  • 开始时间 开始时间

我饿了

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何创建一个文件?(如文本文档)
另外如何删除文件?>
还有一个问题?
我如何用程序监测一个文本文档的总行数???
我指的的是在程序运行时修改文本文档后也能监测出来!
谢谢各位!!
 
assignfile
rewrite
erase
 
能再说的详细些吗????
谢谢!
最好举个实例~
 
删除: deletefile('c:/abc.txt');
创建:那么看你想怎么用了
监视:用共享的方式打开,然后判断里面 #13#10 的个数
 
beta:
先谢谢你的回答.
创建.我只想在本目录下创建一个文本文档.
监视??我还是不懂.但是一位朋友告诉我可以用timer检测文件修改日期.
请帮忙~谢谢
 
//创建.我只想在本目录下创建一个文本文档
还是不太清楚,创建的时候有内容还是空的,等以后再加?
有内容:
var
f: TStringList;
begin
f := TStringList.Create;
f.add('随便添加字符串');
f.add('添加一次就是一行');
f.add('添加的就是文件的内容');
f.savetofile(ExtractFilePath(Application.ExeName) + 'abc.txt');
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/本目录下
f.free;
end;
要是想要创建空的文件,把上面的几个 add 语句删除了就可以了。

监视,放在 timer 里面是可以的,不过会影响进程的速度,
可以放到一个线程里面。不过这种方法似乎不是正统的方法 :-p
要说正规一点的方法,我想可以用 FindFirstChangeNotification
ChangeHandle := FindFirstChangeNotification(pchar('c:/text/'), false,
FILE_NOTIFY_CHANGE_SIZE or FILE_NOTIFY_CHANGE_LAST_WRITE);
但是这样是监视一个目录,不太符合你的要求。

 
beta:
还是要先感谢你.
创建文件的问题已经搞定了.
但是您所说的监视我还是不太明白.
我的想法如下:
监视某个文本文件.如果有所改动.则重新计算他的行数.(.count)
请问应该如何实现?监视一个目录也是可以的吧~~~~~
 
FileCreate
deletefile
 
//监视一个目录也是可以的吧
不,要是这个目录下不止你这个文本文件呢?
FindFirstChangeNotification 只能判断一个
目录下的文件是否发生变化,好像不能判断具
体是哪个文件啊 :-(

还是用你那个方法吧,放在 timer 中是可以,
不过最好放在线程里面。
判断一个文件的行数:
var
f: TStringList;
begin
f := TStringList.Create;
f.LoadFromFile('c:/abc.txt');
showmessage('共计' + inttostr(f.Count) + '行');
f.Free;
end;
 
同意楼上的
 
最好的办法是监测文件的修改日期(让程序在每一个时间段在读取)
先记录文件的创建日期。。
如果文件被修改则记录日期为被修改的日期比较旧的修改日期和刚取得的是不是相同
若不同则重新计算行数
 
后退
顶部