文件分割器
来源:互联网 发布:交友软件排行 编辑:程序博客网 时间:2024/05/01 05:03
{
Parameters:
FileToSplit: Specify a file to split.
SizeofFiles: Specify the size of the files you want to split to (in bytes)
Progressbar: Specify a TProgressBar to show the splitting progress
Result:
SplitFile() will create files FileName.001, FileName.002, FileName.003 and so on
that are SizeofFiles bytes in size.
}
function SplitFile(FileName : TFileName; SizeofFiles : Integer; ProgressBar : TProgressBar) : Boolean;
var
i : Word;
fs, sStream: TFileStream;
SplitFileName: String;
begin
ProgressBar.Position := 0;
fs := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
for i := 1 to Trunc(fs.Size / SizeofFiles) + 1 do
begin
SplitFileName := ChangeFileExt(FileName, '.'+ FormatFloat('000', i));
sStream := TFileStream.Create(SplitFileName, fmCreate or fmShareExclusive);
try
if fs.Size - fs.Position < SizeofFiles then
SizeofFiles := fs.Size - fs.Position;
sStream.CopyFrom(fs, SizeofFiles);
ProgressBar.Position := Round((fs.Position / fs.Size) * 100);
finally
sStream.Free;
end;
end;
finally
fs.Free;
end;
end;
// Combine files / Dateien zusammenführen
{
Parameters:
FileName: Specify the first piece of the splitted files
CombinedFileName: Specify the combined file name. (the output file)
Result:
CombineFiles() will create one large file from the pieces
}
function CombineFiles(FileName, CombinedFileName : TFileName) : Boolean;
var
i: integer;
fs, sStream: TFileStream;
filenameOrg: String;
begin
i := 1;
fs := TFileStream.Create(CombinedFileName, fmCreate or fmShareExclusive);
try
while FileExists(FileName) do
begin
sStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
fs.CopyFrom(sStream, 0);
finally
sStream.Free;
end;
Inc(i);
FileName := ChangeFileExt(FileName, '.'+ FormatFloat('000', i));
end;
finally
fs.Free;
end;
end;
// Examples:
procedure TForm1.Button1Click(Sender: TObject);
begin
SplitFile('C:/temp/FileToSplit.chm',1000000, ProgressBar1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CombineFiles('C:/temp/FileToSplit.001','H:/temp/FileToSplit.chm');
end;
- 文件分割器
- 文件分割器
- 文件分割器
- 文件分割器
- 文件分割器
- 文件分割器
- 文件分割器
- txt文件分割器
- 日志文件分割器
- 文件分割器
- 袖珍文件分割器 免费
- 文件分割器V1.0
- C#版文件分割器
- (Java)文件分割器
- 文件分割器的实现
- 文件分割器的实现
- Silk Zip文件分割器
- 分割文件
- 平安夜,正式开博
- Firefox实用应用技巧
- CCNA学习指南第3章IP寻址笔记
- 我们的感情在C语言时创建,在J2EE时消亡(注:震撼!)
- SCJP认证复习~3
- 文件分割器
- 路由器启动过程
- asp.net图表统计类
- 查看文件域地址
- swap分区
- php学习笔记-03
- 12,23
- C语言已经死了,5个需要忘却它的理由
- 右键菜单