
04.02.2018, 08:28
|
 |
I Like it!
|
|
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
|
|
Код:
uses
Math;
procedure CutFile(FileName: string; Parts: Integer);
var
Src, Trg: TFileStream;
PartSize: Int64;
i: Integer;
begin
Src := TFileStream.Create(FileName, fmOpenRead);
try
if Parts <= Src.Size then
begin
PartSize := Ceil(Src.Size / Parts);
for i := 1 to Parts do
begin
Trg := TFileStream.Create(FileName + '.part' + IntToStr(i), fmCreate);
try
if Src.Size - Src.Position < PartSize then
PartSize := Src.Size - Src.Position;
Trg.CopyFrom(Src, PartSize);
finally
Trg.Free;
end;
end;
end;
finally
Src.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
CutFile(OpenDialog1.FileName, 10);
ShowMessage('Done');
end;
end;
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
|