AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Delphi

第二章 Delphi面向对象的编程方法(一)

51自学网 http://www.wanshiok.com

 

2.1.2.3 常量 

       常量在说明时就被赋予了一个值,在程序执行过程中是不可改变的。下面的例子说明了三个常量: 

const

Pi = 3.14159;

Answer = 342;

ProductName = "Delphi"; 

        象变量一样,常量也有类型。不同的是,常量假设其类型就是常量说明中其所代表的值的类型。上文的三个常量的类型分别是real型、整形、字符串型。常量用“= " 表示两边的值是相等的。 

2.1.3 过程与函数 

        过程与函数是程序中执行特定工作的模块化部分。Delphi的运行库包含许多过程与函数以供您的应用程序调用。您不必了解过程与函数的逻辑,但要知道过程与函数的用途。在对象中说明的过程和函数称为方法(Method)。所有的事件处理过程都是过程,以保留字procedure开头。每一个事件处理过程只包含了当这一事件发生时需要执行的程序代码。在事件处理过程中使用Delphi已经存在的过程与函数,只需在程序代码中调用它们即可。 

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

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

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

       下面的语句表明如何调用一个名为Memo1memo部件的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,在Memo Component项中查阅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类型的数值转化为字符串的值,ValueIntToStr唯一的参数,它可以是一个整形的值、变量、属性或产生整形值的表达式。调用函数,必须把返回值赋给和此返回值类型兼容的变量或属性。

        有些函数返回一个TrueFalse的布尔量,用户的程序可以根据返回值来决定跳转。下文的例程讲述了函数返回值为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值,窗体将变为红色。

 
 

上一篇:Delphi快速入门教程(五)  下一篇:Delphi快速入门教程(四)