gpt4 book ai didi

lazarus - 如何使用 TFileStream 在覆盖现有文件之前截断现有文件?

转载 作者:行者123 更新时间:2023-12-02 14:14:18 26 4
gpt4 key购买 nike

我正在使用下面的代码写入现有文件,但内容会被附加。清空文件并覆盖它需要哪些 TFileStream 选项?

procedure TUtilitiesForm.btnSaveClick(Sender: TObject);
var fs: TFileStream;
begin
fs := TFileStream.Create(FileNameEdit1.Text, fmOpenWrite);
fs.Seek(0,fsFromEnd);
mmoDDL.Lines.SaveToStream(fs);
fs.Free;
end;

最佳答案

使用 fsFromEnd 可以将数据追加到现有文件的末尾之外,而 fsFromBeginning 从头开始​​,但不会截断文件。

fmOpenWrite更改为fmCreate

procedure TUtilitiesForm.btnSaveClick(Sender: TObject);
var fs: TFileStream;
begin
fs := TFileStream.Create(FileNameEdit1.Text, fmCreate);
try
mmoDDL.Lines.SaveToStream(fs);
finally
FreeAndNil(fs);
end;
end;

关于lazarus - 如何使用 TFileStream 在覆盖现有文件之前截断现有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35685621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com