老婆用mp4看《鬼吹灯》,下载的文本文件过大,阅读起来很不方便。当然本身这个mp4的书签功能一般,断电就没了。只好将文件分割成若干个小文件,发现使用Delphi居然能在几分钟分钟内编制解决问题,要比手工分割好得多。
实现很简单:
procedure TForm1.Button1Click(Sender: TObject);
var
str:String;
begin
OpenDialog1.InitialDir:=ExtractFilepath(Application.Exename);
OpenDialog1.Filter:='文本文件(*.txt;*.TXT)|*.txt;*.TXT';
OpenDialog1.Title:='请选择文本文件';
if( OpenDialog1.Execute = true ) then
begin
str := OpenDialog1.FileName;
Edit1.Text := str;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
List:tstringlist;
Count: Integer;
fileNum:Integer;
eachCount:integer;
I,J: Integer;
strName,strNameTemp:String;
fileInitName:String;
wText: TextFile;
begin
List:=tstringlist.create;
List.LoadFromFile(Edit1.Text);
Count:=List.Count;
Edit2.Text := Inttostr(Count);
strName := ExtractFilepath(Application.Exename);
strNameTemp := strName;
fileNum := strtoint( Edit3.text );
eachCount := Trunc( Count / fileNum );
fileInitName := Edit4.Text;
ListBox1.Clear;
for I := 0 to fileNum do // Iterate
begin
strNameTemp := strName + fileInitName + Inttostr(I+1)+'.txt';
AssignFile(wText, strNameTemp);
Rewrite(wText);
for J := 0 to eachCount do // Iterate
begin
if( eachCount*I + J < Count ) then
Writeln(wText, List[eachCount*I + J]);
end; // for
ListBox1.Items.Add(strNameTemp);
CloseFile(wText);
end; // for
List.Free;
end;
实现很简单:
procedure TForm1.Button1Click(Sender: TObject);
var
str:String;
begin
OpenDialog1.InitialDir:=ExtractFilepath(Application.Exename);
OpenDialog1.Filter:='文本文件(*.txt;*.TXT)|*.txt;*.TXT';
OpenDialog1.Title:='请选择文本文件';
if( OpenDialog1.Execute = true ) then
begin
str := OpenDialog1.FileName;
Edit1.Text := str;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
List:tstringlist;
Count: Integer;
fileNum:Integer;
eachCount:integer;
I,J: Integer;
strName,strNameTemp:String;
fileInitName:String;
wText: TextFile;
begin
List:=tstringlist.create;
List.LoadFromFile(Edit1.Text);
Count:=List.Count;
Edit2.Text := Inttostr(Count);
strName := ExtractFilepath(Application.Exename);
strNameTemp := strName;
fileNum := strtoint( Edit3.text );
eachCount := Trunc( Count / fileNum );
fileInitName := Edit4.Text;
ListBox1.Clear;
for I := 0 to fileNum do // Iterate
begin
strNameTemp := strName + fileInitName + Inttostr(I+1)+'.txt';
AssignFile(wText, strNameTemp);
Rewrite(wText);
for J := 0 to eachCount do // Iterate
begin
if( eachCount*I + J < Count ) then
Writeln(wText, List[eachCount*I + J]);
end; // for
ListBox1.Items.Add(strNameTemp);
CloseFile(wText);
end; // for
List.Free;
end;
1424

被折叠的 条评论
为什么被折叠?



