Oma*_*bal 4 delphi indy tfilestream
这是从https://forums.embarcadero.com/message.jspa?messageID=219481获取的代码段
if FileExists(dstFile) then
begin
Fs := TFileStream.Create(dstFile, fmOpenReadWrite);
try
Fs.Seek(Max(0, Fs.Size-1024), soFromBeginning);
// alternatively:
// Fs.Seek(-1024, soFromEnd);
Http.Request.Range := IntToStr(Fs.Position) + '-';
Http.Get(Url, Fs);
finally
Fs.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
我不明白究竟什么是抵消,为什么Max(0,Fs.Size-1024)在它的占位符中,如果你去下面(在代码中)
// alternatively:
// Fs.Seek(-1024, soFromEnd);
Run Code Online (Sandbox Code Playgroud)
到底是什么'-1024'...为什么总是使用1024/-1024?并且会在偏移的起搏器工作中单独使用fs.size(我正在尝试使用暂停恢复支持进行下载管理)并且在上面的代码中用tmemmorystream替换tfilestream会对程序产生任何影响吗?
如果重要:我使用d2007和d2010
看起来你正在寻找文件末尾的1024(或0,如果文件还不是那么大).这都与恢复传输有关.你认为文件的末尾已损坏.修剪废话(或从0开始),这样你就不会在糟糕的情况下添加好的数据.
打个比方:你正在建造一座冰城堡.天黑了,你一夜之间就会下大雨.第二天,你拿到电锯,看到一英寸的碎屑,露出干净的冰块.现在你从那里开始建设.
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |