过程中调用: ExportToFile('name2.CP');
----------------------------------------
procedure Tform1.ExportToFile(AFile: string);
var
  ExportFile : TFileStream;
begin
  FTempStream.Size := 0;            //解释1
  clientdataset1.SaveToStream(FTempStream);
  FTempStream.Position := 0;        //解释3
  ExportFile := TFileStream.Create(editPath.Text + '\'+AFile,fmCreate);              //解释2《-----问题所在---提示‘can not creat file ……name2.cp’  try
    FCompressor.Source := FTempStream;     //解释4               FCompressor.Destination := ExportFile;     //解释5
    FCompressor.Compress;                  //解释6
  finally
    ExportFile.Free;
  end;
end;
__________________________________________________________
//解释每题5分;
//问题所在解决70分;
//新手上路大家关照!!!!

解决方案 »

  1.   

    1、Size以字节返回流中数据大小。
    2、创建输出文件流,fmCreate用指定的文件名建立文件,
       如果文件不存在则创建它
    3、Position此控制流中存取指针的位置。
    4、FCompressor.Source := FTempStream; 指定源文件流  
    5、FCompressor.Destination := ExportFile;指定输出文件流
    6、FCompressor.Compress;   压缩
      

  2.   

    FTempStream.Size := 0;            //解释1
        将该文件流变量的内容清空。FTempStream.Position := 0;        //解释3
        将当前文件流的指针指向初始位置,从这个地方开始读写ExportFile := TFileStream.Create(editPath.Text + '\'+AFile,fmCreate);              //解释2《-----问题所在---提示can not creat file ……name2.cp’
        你是不是创建了多次?可以di。FCompressor.Source := FTempStream;     //解释4               
        压缩流的源数据,指向你需要压缩的文件流。FCompressor.Destination := ExportFile;     //解释5
        压缩流的目标数据,指向你需要压缩的目标文件流。FCompressor.Compress;                  //解释6
        这个,好像就不用说了吧,压缩方法!  
      

  3.   

    to wzrlover(流光逝水):感谢回复!不食言一定给分!
    大家继续啊!新手有难了!这个问题帮助解决啊!
      

  4.   

    to bigysw(大花脸) :好象你的解释更贴切一些。给分!一定给分!
    to flyingkiller(大飞虫):你在那说什麽呢?来参与的都给分!分不够另开贴!
      

  5.   

    TFileStream.Create(editPath.Text+ '\'+AFile,fmCreate);创建多次不会有问题,看你的路径是否有问题,还有就是看一下你在磁盘上是否有写的权
    限.可以将editPath.Text+ '\'+AFile显示出来看一下
      

  6.   

    ExportFile := TFileStream.Create(editPath.Text+ '\'+AFile,fmCreate);              
    //解释2《-----问题所在---提示can not creat file ……name2.cp’
    ----------------------------------------------------
    我说两句,反正别把大家带沟里去。
    在我指的路径中,事先放了一个name2.cp文件。执行调试出错,如上了;但是去掉路径文件夹中的name2.cp还是同样的错误。大家帮忙看看,可能是哪里出错呢????
      

  7.   

    to  lws0472(hero) :
    我的机器叫做computer1,共享了个文件夹叫test,如果创建了name2.cp文件。
    该路径显示\\computer1\test\name2.cp
    注:editPath.Text:=\\computer1\test;
    提示:can not creat file \\computer1\test\name2.cp
    ---------------------------------------------------------
    to  bigysw(大花脸):如果我通过程序创建了name2.cp。我可以再通过程序创建name2.cp覆盖本身吗?
    可是目前我连第一个name2.cp也创建不出,怎麽回事?
    大家都上啊!别客气了!!!
      

  8.   

    你的文件属性有没正确啊? 
    1)是不是只读?
    2)路径正确么??  你在ExportFile里可以用MessageBox检查一下,是不是多了“\”或者少了"\"或者出现了文件名不该出现的"*.,|/"等9个字符我看过了上面所有的回复,自己做了,没问题啊!
    如果真的无法创建文件,看看能否用标准的APICreateFileEx  ?
      

  9.   

    to : maozhuxiwansui(Ah,Z z......) :
    你做出来,那就问问你吧:
    你创建出文件了吗?
    哪个文件看只读啊?
    路径如上了,应该没有问题的。
    如何看API?这是什麽----->CreateFileEx?我在另一个功能模块中能创建出个name1.01也是这个路径。
    可在这个功能模块中就提示:can not creat file \\computer1\test\name2.cp当然他们功能不同,但都有文件产生。来参与问题的都有分。先谢过大家了!up!!!
      

  10.   

    to zwhhoo(我爱真理):是,肯定是。我都看过了。