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

2016-01-29 14:29 46 1 收藏

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

【 tulaoshi.com - Delphi 】

  最近,买了一张英语900句的学习光盘,因为没有相应的书面文字材料,就想自己将光盘中的文档提取出来,可一打开光盘,发现虽然每一句都有相应的详细文字材料,但每一句都单独存放在一个独立的RTF文档中(Sentence001.rtf至Sentence900.rtf),使用起来非常麻烦,于是就想将所有900句句型的文字材料合并到一起,即将900个独立的文档合并为一个文档。

  2.解决方法

  2.1 常规方法

  首先想到的方法就是利用Word的文档合并功能,即将另一篇 Word 文档插入到当前打开的文档中的方法。具体操作步骤为:

  ① 打开sentence001(在打开文件的对话中,文件类型选RTF格式)。

  ② 将光标定位到文档末尾。

  ③ 单击"插入"菜单中的"文件…"菜单项。

  ④ 在打开的插入文件对话框中,"文件名"框中输入要插入文件的名称:如sentence002.rtf

  这样就将前两句句型所在的两个文档合并成一个文档,并以sentence001.rtf存在。显然,只要不断地重复上述过程,最终肯定会将分散在900个文档中的900句句型合并在一个文档中。过程虽然简单,却非常费时,因此只适用于少数文档的合并操作。

  2.2 Delphi在文档合并中的应用

  考虑到:

  (1) 要合并的每个文件名均以"sentence"开头,后分别接001、002,…,900,非常有规律。

  (2) 合并时,每次都是将新文档的内容添加在原文档的末尾,也即插入在原文档的最后,插入位置固定。

  于是就思考有没有更快捷的办法,而且最好让计算机自动帮助完成整个合并过程。

  ①思路:在Delphi中,选择一个能接受和处理多行文本的控件,首先将sentence001.rtf的内容读入到其中,然后循环,依次将sentence002.rtf、sentence003.rtf中内容读入并追加到末尾,最后再将该控件的内容保存到另一个文件中。

  由于要合并的每个文档内容均为多行文本,且使用了多种字体和格式,Standard页上的Memo组件显然不合适,于是选用Win32页上RichEdit组件。

  RichEdit组件的主要特性和方法如下:

  属性Lines

  声明:property Lines:Tstrings;

  可以通过这个属性访问每一行,它是一个Tstrings对象,TStrings 类的方法,如Count、 Add、Delete 、Replace、LoadFromFile 、SaveToFile都可以用于Lines文本行的处理。其中:

  LoadFromFile方法的声明为:procedure LoadFromFile(const FileName: string); virtual;
其作用是从FileName指定的文件中读取列表。

  SaveToFile方法的声明为:procedure SaveToFile(const FileName: string); virtual;
其作用为将列表中的串保存到FileName 指定的文件中。

  属性PlainText

  声明:property PlainText:Boolean;

  用于设置从文件中读取文本或把文本写到文件时以哪种格式进行,设为False表示RTF格式,设为True表示普通文本格式。

  方法Clear

  声明:procedure Clear; override;

  清除所有文本(用空串替换所有文本)。若仅清除被选择的部分文本,要用ClearSelection方法。

  方法SelectAll

  声明:procedure SelectAll;

  选择组件中的所有文本,若只选择部分文本,使用SelStart和SelLength 属性。

  方法CopyToClipboard

  声明:procedure CopyToClipboard;

  调用CopyToClipboard方法是用被选择的文本替换剪贴板内容。如果没有选择任何文本, CopyToClipbard方法什么也不做,也不会清除剪贴板内容。

  方法PasteFromClipboard

  声明:procedure PasteFromClipboard;

  调用PasteFromClipboard方法是用剪贴板内容替换被选择的文本或在光标处插入剪贴板内容,若剪贴板无内容,则该方法什么也不做。


来源:https://www.tulaoshi.com/n/20160129/1493440.html

延伸阅读
标签: 营养价值
萝卜我们生活中很多见的一种蔬菜,萝卜的类型有很多,不同类型的萝卜对于健康的好处是不一样的。很多人都吃过萝卜,但是很少人知道萝卜的营养价值是很高的,所以萝卜的作用也没有完全的显现出来。 目录 1、萝卜的介绍 2、萝卜的营养价值 3、白萝卜适合人群 4、萝卜排骨的养生作用 5、孩子吃萝卜可以预防感冒 6、...
标签: 皮肤护理
问答 图钉提问: 岁我的皮肤是油性的,没天都会油光满面,容易长青春痘,感觉很难受。尤其是到了冬天,我不知道要怎么办对我的面部皮肤进行保养了?请专家帮帮我?目前一般情况:油光满面,长粉刺和青春痘,毛孔粗大。病史:第一次问题补充:请问专家,平时洗脸要注意什么问题,如果用化妆品洗脸的话,最好要用什么样的? 图老师解答: 您好:...
最利于秋冬减肥做的运动 11月流感高发期老人小孩早预防生优质宝宝的5个性爱秘诀 入秋时节是收获的时节,各种美味食品都纷纷映入MM们的眼帘。可是,MM们想要变苗条的念头,时刻在提醒她们,不要吃、要少吃。下面教你4招运动减肥法,让你狂吃不发胖。 1.跑步 效果指数:★★★★★ 适应人群:几乎所有人群 跑步是目前最...
标签: 房屋设计图
(GB50096-1999(2003年版))规定.我国的住宅根据层数可以划分为以下几种类型:一层至三层为低层住宅;四层 至六层为多层住宅;七层至九层为中高层住宅;十层及十层以上为高层住宅。不同类型的住宅在套型、结构、消防等方面有不同的要求,设计时应加以注意。今天我 们就来看看底层住宅的要求吧! 低层住宅是指一层至三层的住宅建筑。在农业经济社会时...
标签: 女生 恋爱技巧
追求备胎如云的女神 白色吊肩的纱质长裙加白色的镂花短外套。几乎每次偶遇,稍带些张扬的内敛吸引了一群男生的目光。这样的女神,你想调侃她一下,却一直担心玩笑开过了;你模仿叔叔故意让妹子买单,妹子不大乐意你就不知道该怎么办了。语言变了,行为没变,女人反而会觉得你很假,很不靠谱,最后连电脑都没得修了。对待女神你最直接的办...

经验教程

415

收藏

28
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部