第四章文本编辑器的设计二内容摘要:

@SearchString[1], Length(SearchString))。 end。 while SearchCount 0 do begin if frWholeWord in Options then if not FindNextWordStart(Result) then Break。 I := 0。 while (CharMap[Result[I]] = SearchString[I+1]) do begin Inc(I)。 if I = Length(SearchString) then begin if (not (frWholeWord in Options)) or (SearchCount = 0) or (Result[I] in WordDelimiters) then Exit。 Break。 end。 end。 Inc(Result, Direction)。 Dec(SearchCount)。 end。 Result := nil。 end。 end. 替换对话框部件 替换对话框部件为应用程序提供替换对话框。 如图。 它包括查找对话框的所有功能,此外还允许使用者 更换被选中的字符串。 FindText 属性是应用程序需查找的字符串。 ReplaceText 属性是被选中字符的替换字符串。 Options 属性决定对话框的显示方式。 其值如表 所示。 与查找对话框一样,替换对话框亦有 OnFind 事件。 用户输入查找字符串并按FindNext 按钮时,发生 OnFind 事件。 用户选择 Replace 或 ReplacAll 时, 对话框发生 OnRelpace 事件,要替换的字符串存入 ReplaceText 属性中,要编写相应的代码以支持替换功能。 表 替换对话框的 Options 属性的取值及含义 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 取值 含义 ──────────────────────────────────────── frRelpace 如果是真值, 应用程序将 ReplaceText 属性中的字符串替换 FindText 属性中的字符串。 frReplacAll 如果是真值,应用程序将 ReplaceText 属性中的字符串替换, 查找到的所有 FindText属性中的字符串。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 例程中 方法响应 OnReplace 事件, Replace 方法首先判断控制中被 选中字符串是否与替换字符串相等,如果不等则进行替换。 而后根据 Options中的方式循 环进行查找替换。 直至无匹配字符串为止。 其代码如下: procedure (Sender: TObject)。 var Found: Boolean。 begin with ReplaceDialog1 do begin if AnsiCompareText(, FindText) = 0 then := ReplaceText。 Found := SearchMemo(Memo1, FindText, Options)。 while Found and (frReplaceAll in Options) do begin := ReplaceText。 Found := SearchMemo(Memo1, FindText, Options)。 end。 if (not Found) and (frReplace in Options) then ShowMessage(39。 Cannot find 39。 + FindText + 39。 .39。 )。 end。 end。 打开对话框部件 打开对话框部件为应用程序显示打开对话框。 使用 Execute 方法可显示打开对话框用户通过选择文件类型下拉框中的文件类型,可以确定显示在文件列表中的文件。 例如,如果用户选择 *.txt 文件类型,那么只有在当前目录下的文本文件才会显示在文件列表中。 文件扩展名通常也称为过滤器。 打开对话框包含一个 Filters(过滤器 )的属性,它可确定文件类型和在文件类型下拉框中的顺序。 应用程序可以为打开对话框定义多个过滤器,对话框的FilterIndex 属性可以决定哪个过滤器是文件类型下拉框中的缺省过滤器。 如FilterIndex 等于 2,表示程序运行时出现在文件类型下拉框。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。