首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>Delphi实现同类型文档自动合并

Delphi实现同类型文档自动合并

2004-01-10 16:02作者:prmmer出处:论坛责任编辑:方舟

  ②具体实现(运行环境:Delphi5.0+Windows98):

  首先新建一个Delphi Project,在默认的Form1上放置两个RichEdit控件:RichEdit1和RichEdit2,将RichEdit2的ScrollBars属性置为ssBoth。再在Form1上放置一个按扭Button1,将其Caption属性置为"开始合并",如图1所示。


图1 Delphi下的Project

  按扭Button1的单击事件处理如下:

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
filename,rear:string;
begin
richedit1.clear;
richedit2.Clear;
filename:='f:\ce900\text\sentence';
{设要合并的900个RTF文档以文件名"sentence***.rtf"存放在F:\ce900\text文件夹中,***代表001~900}
for i:=1 to 900 do
begin
if i<10 then rear:='00'+inttostr(i)
else if i<100 then rear:='0'+inttostr(i)
else rear:=inttostr(i);
Richedit1.Lines.LoadFromFile(filename+rear+'.rtf');
RichEdit1.SelectAll;
RichEdit1.CopyToClipboard;
Richedit2.PasteFromClipboard;
RichEdit1.SetFocus;
end;
Richedit2.Lines.SaveToFile('f:\ce900\ce900.rtf');
{合并后的整个文档以文件名ce900.rtf保存在F:\ce900文件夹中}
end;

  运行实例如图2所示。


图2 合并文档演示实例

  若要合并的多个文档是无格式的文本文件,文件名毫无规律,且要合并的对象由用户选择(连续或不连续),则可用下面的程序段来实现,合并结果由用户指定文件名以文本文件形式保存。

procedure TForm1.Button1Click(Sender: TObject);
var
I: integer;
F: TextFile;
content: string;
begin
OpenDialog1.Options := [ofAllowMultiSelect, ofFileMustExist];
OpenDialog1.Filter := 'Text files (*.txt)|*.txt|All files (*.*)|*.*';
OpenDialog1.FilterIndex := 2; { start the dialog showing all files }
if OpenDialog1.Execute then
with OpenDialog1.Files do
for I := 0 to Count - 1 do
begin
AssignFile(F, Strings[I]);
Reset(F);
while not Eof(F) do
begin
Readln(F, FirstLine);
Memo1.Lines.Append(FirstLine);
end;
CloseFile(F);
end;
if savedialog1.Execute then
Memo1.Lines.SaveToFile (Savedialog1.Filename);
end;

  3.结束语

  本文给出了文本格式文件和一般文本文件的批量合并方法,其思路对其它类似的任务也有一定的参考价值。

共2页。 9 1 2

关注此文的读者还看过:

返回开发频道首页

共2页。 上一页12

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络