-
-
未解决
[求助]Delphi程序运行结果不对
-
发表于:
2020-4-8 14:27
2016
-
// 我想把文件分割成10MB每一个的大小,编译能够通过。
// 运行的结果不对。
// 请教哪里错了啊?
{$APPTYPE CONSOLE}
Uses
SysUtils,Classes,Variants ;
function SplitFile(const FileName: string; Size: Cardinal): Boolean;
var
fStream: TFileStream; {原始文件}
toStream: TMemoryStream; {分文件}
p,i: Integer; {p 记录当前指针位置; i 记录这是第几个分的文件}
begin
Result := False;
Size := Size * 1024; {把大小的单位转换为字节}
fStream := TFileStream.Create(FileName, fmOpenRead);
p := 0;
i := 0;
toStream := TMemoryStream.Create;
while p < fStream.Size do
begin
toStream.Clear; {清空上次数据}
fStream.Position := p; {放好指针位置}
if fStream.Size-p < Size then Size := fStream.Size-p; {最后一个时, 有多少算多少}
toStream.CopyFrom(fStream, Size); {复制}
toStream.SaveToFile(FileName + '.' + IntToStr(i)); {保存}
Inc(i);
p := p + Size;
end;
fStream.Free;
toStream.Free;
Result := True;
end;
var
infile:string = 'Asahi.wav';
begin
// infile
SplitFile(infile,1010241024); // 分割成10MB的大小
end.
[课程]FART 脱壳王!加量不加价!FART作者讲授!