关于目录/路径操作的几个小问题(20分)

  • 主题发起人 主题发起人 carrie4002
  • 开始时间 开始时间
C

carrie4002

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用代码建立一个某目录下的文件名,如果该目录存在,则变量直接
与该文件名之间建立联系;如果该目录不存在,则直接建立该目录和文
件名。怎么用代码实现?
比如:文件名为FileName,文件名为某变量ABC.xyz,希望的路径为2008。
如果'd:/123/该路径不存在2008的路径,则直接建立之,如果存在,
则直接查找该文件名ABC.xyz。
 
if not DirectoryExists('d:/123/') then
ForceDirectories('d:/123/');
if FileExists('d:/123/' + ABC.xyz) then
filename := 'd:/123/' + ABC.xyz
else tmpFileStream := TFileStream.Create('d:/123/' + ABC.xyz, fmCreate);
 
TO nicai_wgl:
谢谢你关注我的问题。
我的d:/123/路径是现成的,在它后面需要判断或者建立的是2008,
所以,最终的路径和文件应该'd:/123/2008/ABC.xyz,该怎么做?
 
楼上写的滴水不漏,我来ding
 
TO nicai_wgl:
谢谢你关注我的问题。
我的d:/123/路径是现成的,在它后面需要判断或者建立的是2008,
所以,最终的路径和文件应该'd:/123/2008/ABC.xyz,该怎么做?
 
if not DirectoryExists('d:/123/2008') then //判断文件夹是否存在,不存在就创建一个
begin
if not CreateDir('d:/123/2008') then
begin
ShowMessage('没有发现文件夹"2008"!');
Exit;
end;
end;
 
if not DirectoryExists('d:/123/2008/') then
ForceDirectories('d:/123/2008/');
if FileExists('d:/123/2008/' + ABC.xyz) then
filename := 'd:/123/2008/' + ABC.xyz
else tmpFileStream := TFileStream.Create('d:/123/2008/' + ABC.xyz, fmCreate);
 
谢谢。结帖。
 
多人接受答案了。
 
后退
顶部