DELPHI基础教程
第二章 Delphi面向对象的编程方法(一)
Delphi
本章中,我们将讨论 Object Pascal
2.1 编写 Object Pascal
在前边的章节中,我们通过例程,已经编写了几行简单的代码。在本章中,我们将从熟悉 Pascal
在编写自己的 Object Pascal
2.1.1 编写赋值语句
在事件处理过程中,最常用到的工作就是把一个新值赋给一个属性或变量。在设计用户界面时,可以使用 Object Inspector(Object
Inspector) 来改变其属性;但有时需要在程序执行时改变属性的值,而且有些属性只能在执行时改变,这些属性在 Delphi
下文的赋值语句表征一个 OnClick
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Color := clRed; end;
当按动按钮后赋值语句被执行,编辑框变成红色。
在语句中,部件的名称在属性前,中间用“ .
当将一个属性值、变量、常量或文本数据赋给属性或变量时,所赋值的类型和接受此值的属性或变量的类型应相同或兼容。一个属性或变量的类型定义了此属性或变量的可能值集合,也定义了程序代码可以执行的运算。在前边的例程中,编辑框部件的 Color
Property Color : TColor;
有些属性是只读 (Read Only)
2.1.2 标识符的说明与使用
标识符是 Delphi
2.1.2.1 变量
变量是程序代码中代表一个内存地址的标识符,而此地址的内存内容在程序代码执行时可以被改变。在使用变量前必须对它进行说明,即对它进行命名,并说明它的类型。在所有变量说明以前加上保留字 var
var Value ,Sum : Integer; Line : String;
在窗体中加入一个名称为 Edit1
procedure TForm1.addClick(Sender: TObject); var X , Y: Integer; begin X := 100; Y := 20; Edit1.Text := IntToStr(X + Y); end;
在本例中,当按动 ADD
2.1.2.2 预定义类型 Object Pascal
整形: Integer
实型: Single
布尔型: Boolean
字符型: Char
指针型: Pointer
字符串型: PChar
除了预定义类型外, Delphi
整型类别和实型类别都各有五种类型,同一类别中,所有的类型与其他同类别的都相容,您可以将一种类型的值赋给相同类别中不同类型的变量或属性,而只需要这个值的范围在被赋值的变量或属性的可能值范围内。例如,对于一个 Shortint
在一些情况下,您可以进行不同类型的变量或属性的赋值。一般来说,可以将一个较小范围的值赋给一个较大范围的值。例如,您可以将整型值 10
2.1.2.3 常量 常量在说明时就被赋予了一个值,在程序执行过程中是不可改变的。下面的例子说明了三个常量: const Pi = 3.14159; Answer = 342; ProductName = "Delphi";
象变量一样,常量也有类型。不同的是,常量假设其类型就是常量说明中其所代表的值的类型。上文的三个常量的类型分别是 real
2.1.3 过程与函数
过程与函数是程序中执行特定工作的模块化部分。 Delphi
2.1.3.1 一个调用 Delphi
下文将通过对一个 Memo
Memo( 备注 )
下面的语句表明如何调用一个名为 Memo1
Memo1.CutToClipboard; 通过指定 Memo1
下文的例程展示了如何调用 Delphi
打开一个新的空窗体,加入一个 memo
将 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
2.1.3.2 调用 Delphi
有些过程要求用户指明参数。被调用的过程会在执行时使用传入的参数值,这些值在过程中被认为是已经被说明的变量。例如, LoadFromFile
Procedure LoadFromFile(const FileName: String) ;
在调用这一过程时,应指明 FileName
begin OpenDialog.Execute; Memo1.lines.LoadFromFile(OpenDialog.FileName); end; 2.1.3.3 使用 Delphi
与过程一样,函数的程序代码也执行特定的工作。它和过程的差别为:函数执行时会返回一个值,而过程则没有返回值。函数可以用来赋给一个属性或变量;也可以使用返回值来决定程序的流程。
前文中我们实际上已经接触过了函数。在讲述变量时,曾用到过下面的程序段: Edit1.Text := IntToStr(X +
Y) ;其中, IntToStr(Value)
有些函数返回一个 True
在窗体中加入一个 ColorDialog
procedure TForm1.ChangeColorClick(Sender: TObject); begin if ColorDialog1.Execute then Form1.Color := ColorDialog1.Color else Form1.Color := clRed; end; |