练习 2.2:片段
在前一个练习中,您已经学习了 EGL 代码模板和内容辅助。将代码插入到应用程序中的另外一种方法是使用“片段”视图。虽然片段和代码模板执行类似的功能,但使用它们的方式却有一些重要的差别。可以定制片段和代码模板以使它们按您希望的方式工作,但以下准则有助于您分辨这两个工具以及更有效地使用它们:
- 代码模板只能包含 EGL 代码,而片段可以包含任何种类的代码或文本。
- 片段通常用于基本上不需要定制的完整代码片段,例如,实现特定目的的函数或表示常用数据类型的数据部件。代码模板用于代码的常用模式,每次使用时都必须完成它或定制它。
- 当需要定制片段时,“插入项”窗口为您提供有关必须如何定制片段的更详细的信息。
- 可通过在输入时使用内容辅助来插入代码模板。而片段必须从“片段”视图插入。
- 片段被组织为“片段”视图中的可定制抽屉。而代码模板是通过使用标准的内容辅助或非标准的内容辅助过滤的。
显示“片段”视图
一般情况下,“片段”视图并不显示在 EGL 透视图中。遵循下列步骤来显示“片段”视图:
- 从菜单栏中,单击窗口 > 显示视图 > 其它。将打开“显示视图”窗口。
- 在“显示视图”窗口中,单击基本 > 片段。
- 单击确定。将打开“片段”视图。此视图具有几个抽屉,这些抽屉包含可用的片段。在此练习的余下部分中,您将学习如何使用这些片段。
将 EGL 片段添加至代码
- 打开 EditorExamples.egl 文件。
- 在 EditorExamples.egl 文件中,将光标放在 function main() 这一行前面的那行上。
- 在“片段”视图中通过单击 EGL 抽屉展开它。
- 在 EGL 抽屉中,双击 databaseUpdate。将打开“插入模板”窗口。
此窗口提示您定制片段,与您在前一个练习中定制代码模板非常相似。此片段是一个函数,它更新数据库表中的记录。此片段有两个变量,在使用片段之前必须指定这两个变量:数据库表主键列的名称和数据库表的名称。
- 在“插入模板”窗口的值列中,单击 Table_Key_column_ID。
- 在 Table_Key_column_ID 的位置中输入以下文本:
myTableKeyColumn
- 在值列中,单击 EGL_RecordName。
- 在 EGL_recordname 的位置中输入以下文本:
myTable
“插入模板”窗口看起来应如下所示:

- 单击插入。这就会将片段添加至代码。此片段在此样本文件中不执行任何操作;这些步骤只用于测试“片段”视图。如果您想在实际应用程序中使用此片段,则需要对变量插入实际值,并使用变量的描述字段作为指导。
在“片段”视图中创建新抽屉
- 右键单击“片段”视图,然后从弹出菜单中单击定制。将打开“定制选用板”窗口。
- 在“定制选用板”窗口中,单击新建 > 新建类别。
- 在名称字段中,输入以下文本作为新抽屉的名称:
My EGL Snippets
- 在描述字段中,输入以下文本作为新抽屉的描述:
These snippets are samples from the EGL tutorial.
“定制选用板”窗口看起来应如下所示:

“定制选用板”窗口还有几个选项列示在描述字段下面。这些选项决定何时打开或关闭抽屉。可以定制这些选项以便在打开工作台时打开您的首选抽屉。
- 单击确定。这就将新抽屉添加至“片段”视图。
添加和使用新的 EGL 片段
创建新片段最简单的方法是先写代码,然后将它粘贴到“片段”视图。
- 选择并复制以下代码:
if ((a > b) && (a > c))
//insert code here
end
- 右键单击“片段”视图的 My EGL Snippets 抽屉,然后从弹出菜单中单击粘贴。将打开“定制选用板”窗口,显示的是在模板模式窗口中复制的语句的文本。
- 在“定制选用板”窗口中,在名称字段中输入以下文本:
Nested If Snippet
- 在描述字段中,输入以下文本:
//This is a nested if statement
- 在变量下面,单击新建按钮以将新变量添加至此片段。一个名为 name_1 的变量就会列示在变量列表中。
- 在名称列中,单击 name_1 并将它替换为以下文本:
Variable a
- 在 Variable a 旁边的描述列中,输入以下文本:
Enter the value of variable a
- 在 Variable a 旁边的缺省值列中,输入以下文本:
myVariableA
- 通过再次单击新建然后输入 Variable b 作为名称、Enter the value of variable b 作为描述以及 myVariableB 作为缺省值创建第二个变量。
- 通过再次单击新建然后输入 Variable c 作为名称、Enter the value of variable c 作为描述以及 myVariableC 作为缺省值创建第三个变量。
“定制选用板”窗口看起来应如下所示:

既然您创建了变量,就可以将它们添加至代码以便“片段”视图在您将片段添加至代码时提示您输入它们。
- 在模板模式字段中,删除 ((a > b) && (a > c)) 这一行中的第一个 a。
- 让光标留在原位,单击插入变量位置标志符。一个窗口将打开,显示的是您在前面的步骤中创建的变量列表。
- 从该变量列表中,双击 Variable a。这就会将该变量添加至代码中除去 a 的位置。现在,该行代码看起来应如下所示:
if ((${Variable a} > b) && (a > c))
- 将此行中余下的三个字母替换为相应的变量。现在,代码行看起来应如下所示:
if ((${Variable a} > ${Variable b}) && (${Variable a} > ${Variable c}))
现在,“定制选用板”窗口看起来应如下所示:

- 单击确定。这就会将新片段添加至“片段”视图中的 My EGL Snippets 抽屉。
- 在 EditorExamples.egl 文件中,在 function main() 这一行后面添加一个空白行。
- 在“片段”视图中,双击嵌套的 if 语句。将打开“插入模板”窗口。
- 在值列中,将 myVariableA 替换为字母 a。源代码字段中的代码就会将 myVariableA 替换为 a。
- 用同样的方法将 myVariableB 替换为 b,将 myVariableC 替换为 c。
“插入模板”窗口看起来应如下所示:

- 单击插入。这就会将片段添加至代码。
现在,您就已经知道如何使用片段以及片段与代码模板的不同之处。有关片段与“片段”视图的更多信息,请参阅帮助中的编辑片段 - 概述。
现在,您可以开始进行练习 2.3:调试了。