声明和方法。键入一个属性声明,按下【Ctrl + Shift + C】键,Delphi就会自动完成该属性的声明。它还能为属性添加一个write方法。现在理解这个write方法有点困难,在以后的讲解中能编写自己的组件后,就会明白的。
Class Completion特性在编写组件时,可节省许多时间,使用一段时间后,就会觉得再也离不开它了。
6、Module Navigation(模块导航)
它使用户能够从implementation段中一个方法快速移动到interface段中该方法声明处;反过来也可以。还是做个练习来说明它把。
(1)找到上面的练习,我们修改过窗体的类声明,添加了GetSomething和Test方法过程;
(2)点击包含Test过程的声明的行;
(3)然后按下【Ctrl + Shift + 向下箭头】组合键,Code Editor就会跳到implementation段中的Test过程代码处;
(4)按下【Ctrl + Shift + 向上箭头】组合键,Code Editor又会跳到interface段中Test过程的声明处;
使用模块导航,能方便的在implementation段和interface段之间快速移动。
Tip
用上箭头或下箭头无关紧要,使用其中任一个按钮都可在interface段和implementation段之间来回切换。
7、Module Browsing(模块浏览)
模块浏览是另一种模块导航工具。在Code Editor中,按住【Ctrl】键,把鼠标光标置于一个标识符名上,该标识符就会以蓝色加亮显示并加上下划线;点击这个标识符,Delphi会告之该标识符声明在源代码中的位置。
模块浏览类类似模块导航特性。但是除此之外,模块浏览还有其他作用。用模块浏览既可点击VCL标识符,也可点击自己的标识符。下面举例子说明。
1)创建一个新应用程序,在其窗体上放置一个Button组件和一个Memo组件。
2)从主菜单上选择【Project | Options】。点击“Project Options”对话框中的“Directories/Conditionals”标签。在“Search Path”字段中输入以下内容:
1
|
$(DELPHI)SourceVcl;$(DELPHI)SourceRtlWin |
点击OK关闭“Project Options”对话框。
3)双击窗体上的Button1按钮,为其添加OnClick事件处理程序如下:
TMemo的Clear方法清除Memo内容,大家是不是很想知道Clear方法的VCL源代码是啥摸样?请继续往下看。
4)按住键盘上Ctrl键,并点击Clear。如下图:
5)稍等片刻后,Code Editor显示出VCL stdCtrls单元,光标停在TCustomEdit.Clear方法上(这个Clear方法定义在TCustomEdit类中,该类是TMemo的祖先类之一)。Clear方法就是下面的这个样子:
是不是很有趣?只有一行代码。但SetWindowText来自何方呢?请继续看下一步。
6)按住Ctrl键,点击SetWindowText。
几秒钟后,Windows单元被打开,光标在下面的行上,如下图:
上面划着红线的一行告诉我们,SetWindowText是一个Windows函数,它包含在USER32动态链接库中。
7)请看Code Editor窗口的右上角有back和next两个浏览按钮。点击back按钮,Code Editor切换到前一个浏览点(StdCtrls中的Clear方法)。
8)点击next按钮,Code Editor显示SetWindowText在Windows单元入口。
9)点击紧靠Back按钮的下拉箭头,浏览器记载表中会出现源代码单元。点击其中一个单元可将Code Editor切换到这个单元。
模块浏览器是一个强有力的工具,不仅能导航用户自己的代码,还能导航VCL源代码及用户安装的第三方组件库的源代码。记住:通过阅读VCL源代码可学到很多东西,不要害怕浏览源代码。
8、Using Bookmarks(使用书签)
可在代码中设置书签来临时标记在源代码中的位置。例如,经常要临时离开正工作着的一段代码去查看以前编写的代码或从另一个位置复制代码;在当前代码位置设上一个书签,然后离开去做其他事情,只需一次点击就能回到这个代码段。同一时间最多可设置10个书签。
要离开某个位置设置书签,按【Ctrl + Shift + 书签号】。例如,要设置0号书签(第一个书签),把编辑器光标移到要做标记的位置,按下【Ctrl + Shift + 0】或【Ctrl + K + 0】。设置好书签后,Code Editor的沟槽中会显示一个图标来指示书签所在行,该图标显示书签号。如下图:
要回到书签处,按【Ctrl + 书签号】就可以了,例如【Ctrl + 1】返回到1号书签处。也可以在Code Editor的右键菜单中设置书签和返回书签。要清除一个书签,可将编辑器光标定位到书签所在行,再次按下【Ctrl + Shift + 书签号】就可以清除。
Note
可以为Code Editor中打开的每个文件设置书签。例如,可以在一个源代码中设置1#书签,在另一个源文件中也设置1#书签。这意味着书签不能跨源文件查找。如果在Unit1.pas中设置1#书签,则在Unit2.pas中按【Ctrl + 1】是不能返回到Unit1.pas中1#书签所在位置。
书签都是临时性的,当关闭源文件并重新打开时,原来设置的书签就不存在了。还要注意,设置和删除书签必须用主键盘上的数字键,数字小键盘上的数字键不起作用。
9、Incremental Search(增量查找)
可使用增量查找选项来快速查找短字符序列。从主菜单【Search | Incremental Search】菜单项或者按【Ctrl + E】来启动增量查找。要理解增量查找如何工作,最好的方式还是做一个练习,请按下面的步骤操作:
1)用“Object Repository”创建一个新文本文件;
2)输入以下正文:
1
2
3
4
|
Learning to write Windows Programs a bit at a time is not so bad. Isn't it time you go back to work? |
3)移动光标到该文件头【Ctrl + Home】;
4)按【Ctrl + E】启动增量查找,要查找“back”。注意此时Code Editor状态栏显示“Searching for:”;
5)从键盘输入一个b。字bit中的字母b被加亮显示,但这不是要查找的。
6)从键盘输入一个a。这次加亮显示的是bad中的ba,仍不是要查找的。
7)从键盘输入一个c。字back中的bac加亮显示,
此时键入k,Code Editor状态栏显示“Searching for:back”,且back被加亮显示。这样就找到了要查找的内容。
8)按键盘上的【Esc】键,停止增量搜索。
这就是与此有关的全部内容。当要查找的正文比较短时,使用增量查找是很方便的。
Tip
在执行增量查找期间,若输入了错误的字符,可用Backspace键将错误输入到查找串中的字符删除。
10、Finding Matching Brackets and Parentheses(查找配对方括号和圆括号)
Code Editor还有一个特性,它可帮助用户查找与当前光标所指的方括号或圆括号想配对的方括号或圆括号。要查找配对方括号,可将光标移至一方括号处,按下键盘上的【Alt + [】,光标就会跳动到与这个方括号想配对的方括号处。
再按下【Alt + [】又会跳回到开始位置。查找圆括号与方括号使用相同的击键。有时可能迷失在圆括号和方括号的迷宫里,但现在应该能找到走出迷宫的路了。
以上代码均在Delphi7中测试通过。