我要在程序目录下面创建一个目录,再在下面创建一个文件:
dir:=getcurrentdir;//取得程序所在目录
if not (DirectoryExists(dir+'\data'))then//判断要创建目录是否存在
mkdir(dir+'\data');//不存在创建它
ChDir(dir+'\data'); //转到刚创建路径;这条可以不要
if not(FileExists(filename+'.gzip')) then //判断目录下要创建文件是否存在
fileCreate(filename+'.gzip'); //不存在则创建它
为什么目录可以创建好,就是没有文件在里面呢?
谢谢

解决方案 »

  1.   


    var FileHandle: Integer;
    ...
     FileHandle := FileCreate('filename+'.gzip');
     FileClose(FileHandle);
      

  2.   

    我将showmessage(inttostr(FileHandle)),发现FileHandle=-1,应该是没有成功吧,为什么呢??
      

  3.   

    楼主呀楼主,你糊涂呀。
    我按照你的方法怎么就创建好了呢?原因是你的文件已经产生但是不在刚才的那个文件夹下,我稍微修改了一下你的代码:
    var
      dirname,dir : string;
      filename : string;
    begin
      dir:=getcurrentdir;
      dirname := dir + '\data';
      if not (DirectoryExists(dirname))then
        mkdir(dirname);
      chdir(dirname);
      filename := dirname + '\test.gizip';//一定要注意文件前面的'\'
      if not(FileExists(filename)) then
        fileCreate(filename);
    end;