一个调用Delphi方法的简单例程
下文将通过对一个Memo部件的文本进行剪切拷贝粘贴清除等编辑的应用程序编制介绍使用Delphi过程和函数的调用方法
Memo(备注)部件有一个CutToClipboard方法实现将用户在memo中选择的文本移到剪贴板上去由于这个功能已经被建立在此方法中了所以您只需知道这个方法做什么以及如何使用它即可
下面的语句表明如何调用一个名为Memo的memo部件的CutToClipboard方法
MemoCutToClipboard;
通过指定Memo的名称说明调用哪一个部件的CutToClipboard方法如果不指明对象名称Delphi会显示Unknown identifier错误当该事件处理过程被触发程序会执行CutToclipboard中的语句将Memo中的文本剪贴到剪贴板上去
下文的例程展示了如何调用Delphi的方法实现将备注部件的文本信息剪切拷贝到剪贴板上将剪贴板上的标记文本粘贴到备注中清除备注部件中的全部文本等四个功能
打开一个新的空窗体加入一个memo部件和四个按钮并排列整齐改变按钮部件的Name属性分别命名为CutCopyPasteClear您会发现当Name属性发生改变时Caption属性将发生相应的变化在Caption属性前加标&号设立加速键
将memo部件的ScrollBars属性设为ScVertical以便加上滚行条将WordWrap属性设置为True这样当用户输入文本到达Memo部件的右边缘时会自动回行将Line属性第一行的Memo文本删除使得memo部件在初始显示时为空的
为每一个按钮建立如下的事件处理过程
procedure TFormCutClick(Sender: TObject)
begin
MemoCutToClipboard;
end;
procedure TFormCopyClick(Sender: TObject);
begin
MemoCopyToClipboard;
end;
procedure TFormPasteClick(Sender: TObject);
begin
MemoPasteFromClipboard;
end;
procedure TFormClearClick(Sender: TObject);
begin
Memoclear;
end;
执行此程序您可以在备注部件中输入文本在进行了文本的标记后可以任意地进行剪切拷贝粘贴和清除当按钮被按动时就调用相应的过程进行处理用户可以通过查阅在线帮助进行Memo部件的Topic Search在Memo Component项中查阅Method会得到以上过程的详细说明
调用Delphi的含参过程
有些过程要求用户指明参数被调用的过程会在执行时使用传入的参数值这些值在过程中被认为是已经被说明的变量例如LoadFromFile方法在TString对象中被说明为
Procedure LoadFromFile(const FileName: String)
在调用这一过程时应指明FileName参数是要装入的文件名称下面的程序将先打开Open对话框当您选择了一个文件后Delphi将把该文件读入一个Memo部件
begin
OpenDialogExecute;
MemolinesLoadFromFile(OpenDialogFileName);
end;
使用Delphi函数
与过程一样函数的程序代码也执行特定的工作它和过程的差别为函数执行时会返回一个值而过程则没有返回值函数可以用来赋给一个属性或变量也可以使用返回值来决定程序的流程
前文中我们实际上已经接触过了函数在讲述变量时曾用到过下面的程序段 EditText := IntToStr(X + Y)其中IntToStr(Value)把一个LongInt类型的数值转化为字符串的值Value是IntToStr唯一的参数它可以是一个整形的值变量属性或产生整形值的表达式调用函数必须把返回值赋给和此返回值类型兼容的变量或属性
有些函数返回一个True或False的布尔量用户的程序可以根据返回值来决定跳转下文的例程讲述了函数返回值为Boolean的判断用法
在窗体中加入一个ColorDialog对象和一个Name属性为ChangeColor的按钮为按钮的OnClick事件建立事件处理过程如下
procedure TFormChangeColorClick(Sender: TObject);
begin
if ColorDialogExecute then
FormColor := ColorDialogColor
else
FormColor := clRed;
end;
&nbs;
此事件处理过程使用一个返回Boo
ean值的Execute方法按动按钮并在颜色对话框中选择一个颜色如果按动OK按钮ColorDialogExecute方法将返回True则FormColor将被赋值为ColorDialogColor窗体显现您选用的颜色如果按动颜色对话框的Cancel按钮方法将返回False值窗体将变为红色