知识大全 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面向对象的编程方法(二)

Delphi面向对象的编程方法(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Delphi面向对象的编程方法(三)

Delphi面向对象的编程方法(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  跳转语句  

知识大全 Delphi面向对象的编程方法(八)

Delphi面向对象的编程方法(八)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  重载一个方法

知识大全 Delphi面向对象的编程方法(五)

Delphi面向对象的编程方法(五)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  过程和函数的

知识大全 Delphi面向对象的编程方法(七)

Delphi面向对象的编程方法(七)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序库单元的

知识大全 Delphi面向对象的编程方法(六)

Delphi面向对象的编程方法(六)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  字符串类型 

知识大全 Delphi面向对象编程的20条规则

Delphi面向对象编程的20条规则  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前言  大多

知识大全 PHP面向对象编程快速入门

PHP面向对象编程快速入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  面向对象编程(OOP)

知识大全 Delphi中使用纯正的面向对象方法

Delphi中使用纯正的面向对象方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Delphi的V

知识大全 PHP中实现面向对象编程的研究

PHP中实现面向对象编程的研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  面向对象编程的概念