知识大全 Delphi面向对象的编程方法(四)
Posted 函数
篇首语:亦余心之所善兮,虽九死其犹未悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi面向对象的编程方法(四)相关的知识,希望对你有一定的参考价值。
Delphi面向对象的编程方法(四) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
按照作用范围说明标识符
您可以在应用程序的不同地方说明一个标识符 而只需保证它们的有效范围不同即可 编译器会自动访问最靠近当前范围的标识符
库单元的全局变量一般可以说明在保留字implementation后面 例如 下面的例程实现将两个编辑框中的整数相加 显示在第三个编辑框中 用到了一个整形的全局变量Count
implememntation var Count : Integer; procedure TForm AddClick(Sender:TObject); var FirstNumber SecondNumber:Integer; begin Count := Count + ; Counter Text := IntToStr(Count); FirstNumber := StrToInt(Edit Text); SecondNumber := StrToInt(Edit Text); Edit Text := IntToStr(FirstNumber+SecondNumber); end; 为了实现每按动一次按钮Count增加一次 必须对全程变量Count进行初始化处理 在程序库单元的结尾处 最后一个end 保留字之前 加入保留字initialization和初始化Count的代码 initialization Count := ;
这样当事件处理过程AddClick被触发时 Count就会被增加一次 以表征计算次数 如果用面向对象编程 则Count可以说明成窗体的一个域 这在下一节中将有讲述
编写一个过程或函数
在您开发Delphi应用程序时 所需的大部分代码都编写在事件处理过程中 但有时仍然需要编写不是事件处理过程的函数或过程 例如 您可以把在多个事件处理过程中用得到语句编写成过程 然后任何事件处理过程 过程 函数都可以象调用已经存在的过程或函数一样直接调用它 好处是您只需编写一次代码 而且程序代码会比较清楚
一个自行编写的函数例程
在上文两个数相加的程序中 如果编辑框中无值 则会使得程序出错中断 为避免这种情况 编写下面的函数 检查编辑框中是否有值 如无值 则提醒用户输入
function NoValue(AnEditBox:TEdit):Boolean; begin if AnEditBox Text= then begin AnEditBox Color := clRed; AnEditBox Text := 请输入整数值 ; Result := True; end else begin AnEditBox Color := clWindow; Result := False; end; end;
NoValue函数会检查编辑框是否为空 如果是 编辑框颜色变红 并提醒用户输入一个整数 然后函数返回真值 Result保留字在Delphi中用来专指函数返回值 在上文的例程中加入NoValue函数 procedure TForm AddClick(Sender: TObject); var FirstNumber SecondNumber : Integer; begin if NoValue(Edit )or NoValue(Edit ) then exit; Count := Count + ; Counter Text := IntToStr(Count); FirstNumber := StrToInt(Edit Text); SecondNumber := StrToInt(Edit Text); Edit Text := IntToStr(FirstNumber+SecondNumber); end;
如果其中的任何一个返回真值 则表示有编辑框空 会执行exit过程 使得当前的程序模块停止执行 并使得编辑框出现输值提示 当新值被输入后 再执行程序时 红色提示被隐去 恢复正常的计算状态
过程和函数的标题
每一个过程或函数都以标题开始 其中包括过程或函数的名称和它使用的参数 过程以保留字procedure开始 函数以保留字function开始 参数位于括号里面 每一个参数以分号分隔 例如
procedure validateDate(Day : Integer; month : Integer; Year : Integer);
您也可以将相同类型的参数组合在一起 则上述过程头写作
procedure ValidateDate(Day Month Year : Integer);
函数在标题中还多了一项 返回值的类型 下面是一个返回值为Double型的函数标题
function CalculateInterest(principal InterestRate:Double):Double;
函数和过程中的类型说明
一个过程或函数程序模块也含有说明部分和语句部分 说明部分可以包括类型说明 变量说明 常量说明等 除了Object Pascal语言中已经定义的类型之外 Delphi的应用程序还可以建立新的数据类型 类型说明部分有保留字type开始 下面是一些类型的说明
type Tcount = Integer; TPrimaryColor = (Red Yellow Blue); TTestIndex = ; TTextValue = ; TTestList = array [TTestIndex] of TTestValue; TCharVal = Ord( A ) Ord( Z ) ; Today = (Monday Tuesday Wednesday Thursday Friday Saturday Sunday) ;
在类型标识符后面 用 = 号定义了新的类型 类型界定了变量的取值范围 例如 TCount类型的变量必须是整形值 一个TPrimaryColor类型的变量只能是red yellow或blue等等 每一个类型的名称都是由字母T开始 这并非必须的 但它是Delphi的惯例 在区别类型名和标识符时非常有用 类型说明可以是局部的 也可以是全局的 如果您把它放在implementation后面 则表明对于库单元来讲 它是全局的 所有的事件处理过程和其他的过程 函数都可以调用它 如果类型是在过程中被说明的 则是局部的 离开这一过程 该类型将失效
一般来讲 在过程和函数中 任何类型说明都在变量说明之前 而任何变量说明都在常量之前 但是 只要
cha138/Article/program/Delphi/201311/8500相关参考
Delphi面向对象的编程方法(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Delphi面向对象的编程方法(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 跳转语句
Delphi面向对象的编程方法(八) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 重载一个方法
Delphi面向对象的编程方法(五) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 过程和函数的
Delphi面向对象的编程方法(七) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 程序库单元的
Delphi面向对象的编程方法(六) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 字符串类型
Delphi面向对象编程的20条规则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言 大多
PHP面向对象编程快速入门 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 面向对象编程(OOP)
Delphi中使用纯正的面向对象方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Delphi的V
PHP中实现面向对象编程的研究 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 面向对象编程的概念