请高手指定如何创建文本文件和目录!急,在线等!(50分)

  • 主题发起人 主题发起人 yyg_delphi
  • 开始时间 开始时间
Y

yyg_delphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中先检测一下有没有存在指定的TXT文件,如果没有就创建,但是我不知道怎么去创建。目录也是一样的,检测指定的目录,如果不存在,则创建!请各位大哥指定一下如何用DELPHI创建文本文件和创建文件夹!如何取得system32目录!
 
fileexists判断文件存在与否,DirectoryExists判断目录存在与否
rewrite就可以自动创建一个文件。createdir创建目录。

GetWindowsDirectory得到系统目录,就得到system32的了。
 
if not DirectoryExists('c:/gm/get') then
begin
CreateDir('c:/gm/get');
end;
if not FileExists('c:/gm/get/mz.txt') then
begin
//CreateFile(PChar('c:/gm/get/mz.txt'));
Rewrite
end;
AssignFile(txtFile,'c:/gm/get/mz.txt');
Rewrite(txtFile);

如个那个文本文件是不存在的,要报错。
 
不存在你就:
procedure CreateOwnerFile(FileName:String);
var SL:TStringList;
begin
SL:=TStringList.Create;
SL.SaveToFile(FileName);
end;
 
AssignFile(txtFile,'c:/gm/get/mz.txt');
Rewrite(txtFile);
这样在执行到REWRITE时要报产生IO错误,是为什么呢?
 
还有CreateDir时不能创建c:/gm/get,假如gm目录不存在就创建不起。只能分开创建
先创建c:/gm然后再创建e:/gm/get这样好麻烦喔,各位还有更好的办法吗?
 
写个函数一级级创建,你不能回避
 
AssignFile(txtFile,'c:/gm/get/mz.txt');
Rewrite(txtFile);
这样在执行到REWRITE时要报产生IO错误,是为什么呢?
 
if not DirectoryExists('C:/123') then
ForceDirectories('C:/123'); <<-- 强制创建目录,不会因上级目录不存在而不创建
tmpFileStream := TFileStream.Create('c:/123/1.txt', fmCreate or fmOpenReadWrite);
 
我试一下呢,看行不行?对了,再请教你一个问题,拦那个WINDOWS的消息,防止弹出右键菜单。
 
ForceDirectories
 
可以强制创建上级目录不存在的目录了。谢谢。
 
多人接受答案了。
 
后退
顶部