1.3 代码编辑
窗体设计完成后,就要开始编辑代码来响应窗体及其组件的事件了。代码编辑通常在代码编辑窗口进行。下面介绍代码编辑窗口以及如何进行代码编辑。
1.3.1 代码编辑器窗口
代码编辑器窗口用来编写应用程序的代码。在启动Delphi后代码编辑器窗口通常被窗体覆盖,可以单击“View”菜单中的“Toggle Form/Unit”命令,或单击工具栏上的“Toggle Form/Unit”按钮,或按“F12”键方便地切换代码编辑器窗口和窗体窗口。
代码编辑器窗口的标题栏显示当前单元文件的文件名,默认名为Unit1.pas。
代码编辑窗口分为左右两部分:左边是单元浏览器窗口,右边是单元代码窗口。单元浏览器窗口以树形分叉的形式列出了单元的构成,主要包括以下内容:
(1) 单元使用的类(如TForm1),树形分叉中是类的数据成员和过程成员;
(2) 单元使用变量和常量(Variables/Constants),树形分叉中是单元中使用的变量和常量;
(3) 单元链接的单元(Uses),树形分叉下是链接的单元名称。
单元代码窗口即进行代码编辑的窗口。由于一个应用程序可以有多个单元文件,所以单元代码窗口可以有多个选项卡,每个选项卡标明一个被打开的单元文件名。
代码编辑器窗口除了可以显示单元文件(.pas)外,也可以显示当前项目的项目文件(.DPR)。
1.3.2 程序代码编辑
在代码编辑器中,可以使用一些技巧来提高编辑效率。
1.删除字符、单词和行
删除操作可分为删除字符、删除单词和删除行,下面分别加以介绍。
(1) 删除字符
删除字符主要用如下方法:
用Backspace键删除光标左边的一个字符。
用Del键删除光标右边的一个字符。
(2) 删除单词
按组合键Ctrl+T可删除光标右边的一个单词。
(3) 删除整行
用组合键Ctrl+Y可删除光标所在的行。
2.复制、移动和删除块
用户可将一段代码定义成块,然后对块进行复制、移动和删除操作,这样可提高效率,达到事半功倍的效果。
(1) 定义块
定义一个块有两种方法:用键盘和用鼠标。
如果要用键盘定义一个块,首先将光标移到所要定义的块首,按住Shift键,用箭头键将光标移到要定义块的块尾。最后松开shift键,就定义了一个块。
而用鼠标定义一个块,将鼠标移到要定义块的块首,按住鼠标左键不放,拖动鼠标到要定义块的块尾,松开鼠标左键即可。
(2) 块的复制
定义了一个块以后,可用“Edit”菜单下的“Copy”命令将块复制到剪贴板上,然后用“Edit”菜单下的“Paste”命令复制到光标所在的位置。
(3) 块的移动
在定义一个块后,单击块并按住鼠标左键不放,可将块拖放到你所需要的任意位置。
(4) 块的删除
在块定义好以后,可用两种方法将块删除。第一种方法是使用“Edit”菜单下的“Cut”命令,将块剪切到剪贴板上,用户可用“Edit”菜单下的“Paste”命令将它复制到光标所在的位置。第二种方法是用“Delete”命令或Delete键,这是将块直接删除,而不会将块剪切到剪贴板上。
3.编辑快捷键
(1) Ctrl+J
在代码编辑器中按组合键Ctrl+J后将显示代码模板显示框,此方法可以快速地输入预定义的代码段,选定后按回车键确认语句的关键字。
(2) Ctrl+单击
按下Ctrl键,单击鼠标后可以超级链接方式打开鼠标指针所指的变量、函数或过程所在的单元,并自动定位到相应的单元指向声明、定义的部分。
(3) Ctrl+Shift+↑、↓下键
使用它可以实现光标所在位置的过程或函数的定义与代码实现部分的自由切换。
除了上述快捷键外,使用“.”和“(”键,可以引导用户进行操作,但必须保证击键速度不能太快。
1.3.3 查找和替换字符串
为了方便用户查找和替换字符串,Delphi专门提供了一个Search菜单。下面具体介绍如何查找和替换字符串。
1.查找字符串
要查找一个特定的字符串,可单击“Search”菜单下的“Find”命令,打开“Find Text”对话框,如图1.3(a)所示。
图1.3 “Find Text”对话框
该对话框有两个选项卡:“Find”和“Find in Files”,默认选项卡为“Find”选项卡。在该选项卡上,在“Text to Find”编辑框内输入所要查找的字符串。
当查找到某个匹配的字符串后,光标将停留在该处,并置亮被找到的字符串。如果用户还要查找下一个匹配字符串,可使用“Search”菜单下的“Search Again”命令继续进行查找。
除了在当前文件中查找指定字符串外,“Find Text”对话框还提供了一个“Find in Files”选项卡,用于在同一项目下的多个文件中查找指定字符串,如图1.3(b)所示。
在选项卡的“Text to Find”编辑框中输入要查找的字符串,设置各查找选项后,单击“OK”按钮进行查找。选项卡上“Options”选项组同“Find”选项卡相同选项组的含义相同。
2.替换字符串
替换字符串和查找字符串相似,单击“Search”菜单中的“Replace”命令,打开“Replace Text”对话框,如图1.4所示。
图1.4 “Replace Text”对话框
在“Replace with”编辑框中输入用来替换被查找到的字符串。但单击“OK”按钮前,请注意如下两点:
(1)“Prompt on replace”复选框:选中该复选框时,在替换字符串之前会给出一个提示,让用户确定是否替换被选个的字符串。
(2)“Replace All”按钮:连续替换所遇到的每一个匹配字符串。如果选择了“Prompt on replace”复选框,则每次都会给出一个提示。
3.渐近查找
Delphi还提供了一种特殊的查找方式,称为渐近查找方式。
要使用渐近查找方式,可单击“Search”菜单下的“Incremental Search”命令,这时在状态栏上会出现“Searching for:”字样,提示用户输入要查找的字符串。每当用户输入一个字符,编辑器都将光标停留在自当前光标起所遇到的第一个匹配的字符串上,并将它置亮。
用户可以不断地输入其他字符,编辑器会随着输入字符的增多自动搜寻最匹配的字符串,直到找到用户所需要的字符串为止。
4.查找特定行
用“Search”菜单下的“Go to Line Number”命令可根据用户所输入的行号查找该行。在未输入行号前,编辑器会自动把当前光标所在行的行号放入对话框中的“Enter new line number”编辑框,待输入一个新行号后,单击“OK”按钮,光标将被置在新行号所指定的新行的源代码行首。