Q qqjm Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-31 #1 我用文件记录数据,删除部分数据后想将文件截断以减少文件的大小,在Delphi中如何操作?注:我用的是TFileStream进行对文件操作的,但是好像没有发现想关的截断函数!
Q qqjm Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-31 #3 原来程序是C#代码,要改写成Delphi,这个代码怎么改? System.IO.FileStream fs = new System.IO.FileStream(@"C:/AppDat.Dat",System.IO.FileMode.OpenOrCreate ,System.IO.FileAccess.ReadWrite,System.IO.FileShare.ReadWrite); ......... fs.SetLength(fs.Position);//在当前位置截断文件。 ......... fs.Close(); 因为要处理的文件比较大,如果另存一个的话需要花很长的时间,直接截断就没有这个问题了!但是Delphi的代码要怎样写?
原来程序是C#代码,要改写成Delphi,这个代码怎么改? System.IO.FileStream fs = new System.IO.FileStream(@"C:/AppDat.Dat",System.IO.FileMode.OpenOrCreate ,System.IO.FileAccess.ReadWrite,System.IO.FileShare.ReadWrite); ......... fs.SetLength(fs.Position);//在当前位置截断文件。 ......... fs.Close(); 因为要处理的文件比较大,如果另存一个的话需要花很长的时间,直接截断就没有这个问题了!但是Delphi的代码要怎样写?
S sujing1982 Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-31 #4 var MemoryStream : tMemoryStream; MemoryStream := tMemoryStream.Create; MemoryStream,seek(0, soFromBeginning); MemoryStream.copyrom(filestream,filestream.size); MemoryStream.setsize(FecthSize)
var MemoryStream : tMemoryStream; MemoryStream := tMemoryStream.Create; MemoryStream,seek(0, soFromBeginning); MemoryStream.copyrom(filestream,filestream.size); MemoryStream.setsize(FecthSize)
A appfirst Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-31 #5 var FileStream:TFileStream; begin FileStream:=TFileStream.Create('c:/abc',fmOpenReadWrite or fmShareDenyNone); try FileStream.size:=你要的尺寸; finally filestream.free; filestream:=nil; end;
var FileStream:TFileStream; begin FileStream:=TFileStream.Create('c:/abc',fmOpenReadWrite or fmShareDenyNone); try FileStream.size:=你要的尺寸; finally filestream.free; filestream:=nil; end;
Q qqjm Unregistered / Unconfirmed GUEST, unregistred user! 2007-05-31 #6 appfirst是对的,没想到这么简单。。。。 sujing1982的代码不知到自己试过了没有,我设置150M的文件,用 200M的内存,2分多钟的CPU都还没有处理。。。。。 我爱PASCAL的代码无法测试,因为找不到savetofile这个东西。。。
appfirst是对的,没想到这么简单。。。。 sujing1982的代码不知到自己试过了没有,我设置150M的文件,用 200M的内存,2分多钟的CPU都还没有处理。。。。。 我爱PASCAL的代码无法测试,因为找不到savetofile这个东西。。。