Delphi面向对象的编程方法(二)(转)

本文通过应用程序编制,介绍Delphi过程和函数的调用方法。包括调用Memo部件的CutToClipboard等方法实现文本编辑功能,调用含参过程LoadFromFile读取文件,以及使用函数如IntToStr进行类型转换,还展示了返回布尔值函数的判断用法。
Delphi面向对象的编程方法(二):

2.1.3.1 一个调用Delphi方法的简单例程 

下文将通过对一个Memo部件的文本进行剪切、拷贝、粘贴、清除等编辑的应用程序编制,介绍使用Delphi过程和函数的调用方法。

Memo(备注)部件有一个CutToClipboard方法,实现将用户在memo中选择的文本移到剪贴板上去。由于这个功能已经被建立在此方法中了,所以您只需知道这个方法做什么以及如何使用它即可。

下面的语句表明如何调用一个名为Memo1的memo部件的CutToClipboard方法: 

Memo1.CutToClipboard; 

通过指定Memo1的名称,说明调用哪一个部件的CutToClipboard方法。如果不指明对象名称,Delphi会显示Unknown identifier错误。当该事件处理过程被触发,程序会执行CutToclipboard中的语句,将Memo1中的文本剪贴到剪贴板上去。

下文的例程展示了如何调用Delphi的方法,实现将备注部件的文本信息剪切、拷贝到剪贴板上;将剪贴板上的标记文本粘贴到备注中,清除备注部件中的全部文本等四个功能。

打开一个新的空窗体,加入一个memo部件和四个按钮,并排列整齐。改变按钮部件的Name属性,分别命名为Cut,Copy,Paste,Clear。您会发现,当Name属性发生改变时,Caption属性将发生相应的变化。在Caption属性前加标“&”号设立加速键

memo部件的ScrollBars属性设为ScVertical,以便加上滚行条。将WordWrap属性设置为True,这样当用户输入文本到达Memo部件的右边缘时会自动回行。将Line属性第一行的Memo1文本删除,使得memo部件在初始显示时为空的。

为每一个按钮建立如下的事件处理过程: 

procedure TForm1.CutClick(Sender: TObject)

begin

Memo1.CutToClipboard;

end; 

procedure TForm1.CopyClick(Sender: TObject);

begin

Memo1.CopyToClipboard;

end; 

procedure TForm1.PasteClick(Sender: TObject);

begin

Memo1.PasteFromClipboard;

end; 

procedure TForm1.ClearClick(Sender: TObject);

begin

Memo1.clear;

end; 

执行此程序。您可以在备注部件中输入文本,在进行了文本的标记后,可以任意地进行剪切、拷贝、粘贴和清除。当按钮被按动时,就调用相应的过程进行处理。用户可以通过查阅在线帮助进行Memo部件的Topic Search,在MemoComponent项中查阅Method,会得到以上过程的详细说明。 

2.1.3.2 调用Delphi的含参过程 

有些过程要求用户指明参数。被调用的过程会在执行时使用传入的参数值,这些值在过程中被认为是已经被说明的变量。例如,LoadFromFile方法在TString对象中被说明为: 

Procedure LoadFromFile(const FileName: String); 

在调用这一过程时,应指明FileName参数是要装入的文件名称。下面的程序将先打开Open对话框,当您选择了一个文件后,Delphi将把该文件读入一个Memo部件: 

begin

OpenDialog.Execute;

Memo1.lines.LoadFromFile(OpenDialog.FileName);

end; 

2.1.3.3 使用Delphi函数 

与过程一样,函数的程序代码也执行特定的工作。它和过程的差别为:函数执行时会返回一个值,而过程则没有返回值。函数可以用来赋给一个属性或变量;也可以使用返回值来决定程序的流程。

前文中我们实际上已经接触过了函数。在讲述变量时,曾用到过下面的程序段:Edit1.Text := IntToStr(X + Y);其中,IntToStr(Value)把一个LongInt类型的数值转化为字符串的值,Value是IntToStr唯一的参数,它可以是一个整形的值、变量、属性或产生整形值的表达式。调用函数,必须把返回值赋给和此返回值类型兼容的变量或属性。

有些函数返回一个True或False的布尔量,用户的程序可以根据返回值来决定跳转。下文的例程讲述了函数返回值为Boolean的判断用法:

在窗体中加入一个ColorDialog对象和一个Name属性为ChangeColor的按钮。为按钮的OnClick事件建立事件处理过程如下: 

procedure TForm1.ChangeColorClick(Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.Color := ColorDialog1.Color

else

Form1.Color := clRed;

end; 

此事件处理过程使用一个返回Boolean值的Execute方法。按动按钮,并在颜色对话框中选择一个颜色。如果按动OK按钮,ColorDialog.Execute方法将返回True,则Form1.Color将被赋值为ColorDialog1.Color,窗体显现您选用的颜色;如果按动颜色对话框的Cancel按钮,方法将返回False值,窗体将变为红色。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-123279/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-123279/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值