if FindFirst(SourceDircetorFind, FileAttrs, SearchResult) = 0 then //找寻文件
begin
repeat
Main_form.Enabled := false;
begin
SourceFileDircetory := SourceDircetory '\' SearchResult.Name;
{打个找到的文件,确定要不要分割,先做不要分割的,不要分割的拿来复制}
try
AssignFile(SourceF, SourceFileDircetory); {打开源文件}
Reset(SourceF, 1);
FileSe := fileSize(SourceF);
if FileSe <= ReadBufSize then {如果文件小于指定的大小拿来复制}
begin
TargetFileC := TargetFileDircetory SearchResult.Name;
AssignFile(TargetF, TargetFileC);
Rewrite(TargetF, 1);
BlockRead(SourceF, Buf, SizeOf(Buf), ReadResult);
BlockWrite(TargetF, Buf, ReadResult, WriteResult);
CloseFile(TargetF);
end {end Begin}
{下边写的是要分割的并且分割的第一个文件名是000的,以此类推}
else
begin
repeat
BlockRead(SourceF, Buf, ReadBufSize, ReadResult);
if ReadResult > 0 then
begin
I := I 1;
TargetFileC := TargetFileDircetory SearchResult.Name Format('%.3d', [I]);
AssignFile(TargetF, TargetFileC);
Rewrite(TargetF, 1);
BlockWrite(TargetF, Buf, ReadResult, WriteResult);
CloseFile(TargetF);
end;
until
(ReadResult = 0) or (WriteResult < ReadResult);
end; {end begin}
finally
CloseFile(SourceF);
I := (-1);
end; {end try....finally....}
end; {repeat}
until
FindNext(SearchResult) <> 0;
FindClose(SearchResult);
ShowMessage('复制分割完成');
Main_form.Enabled := True;
end; {end begin}
end;
procedure TMain_Form.RadBtn_KbClick(Sender: TObject);
begin
try
StrToInt(Edit_PartitionFileSize.Text);
Edit_PartitionFileSize.Text := IntToStr(1024 * (StrToInt(Edit_PartitionFileSize.Text)));
except
ShowMessage('你输入的数字不正确,请正确输入!');
end;
end;
procedure TMain_Form.RadBtn_MbClick(Sender: TObject);
begin
try
StrToInt(Edit_PartitionFileSize.Text);
Edit_PartitionFileSize.Text := IntToStr((StrToInt(Edit_PartitionFileSize.Text) div 1024));
except
ShowMessage('你输入的数字不正确,请正确输入!');
end;
end;
end.
上一篇: 检查并修复Paradox数据表的工具
下一篇: 用API指针对Paradox备份、Pack及索引 v1.00
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




