知识大全 Delphi面向对象的编程方法(三)
Posted 语句
篇首语:不操千曲而后晓声,观千剑而后识器。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi面向对象的编程方法(三)相关的知识,希望对你有一定的参考价值。
Delphi面向对象的编程方法(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
跳转语句
Object Pascal的跳转语句有if和case两个 语句
if语句会计算一个表达式 并根据计算结果决定程序流程 在上文的例程中 根据ColorDialog Execute的返回值 决定窗体的背景颜色 if保留字后跟随一个生成Boolean值True或False的表达式 一般用 = 作为关系运算符 比较产生一个布尔型值 当表达式为True时 执行then后的语句 否则执行else后的代码 if语句也可以不含else部分 表达式为False时自动跳到下一行程序
if语句可以嵌套 当使用复合语句表达时 复合语句前后需加上begin…end else保留字前不能加 而且 编译器会将else语句视为属于最靠近的if语句 必要时 须使用begin…end保留字来强迫else部分属于某一级的if语句
case语句
case语句适用于被判断的变量或属性是整形 字符型 枚举型或子界型时(LongInt除外) 用case语句进行逻辑跳转比编写复杂的if语句容易阅读 而且程序代码整形较快
下面的例程显示一个使用case语句的窗体
建立如下的事件处理过程
procedure TForm Button Click(Sender: TObject); var Number : Integer; begin Number := StrToInt(Edit Text); case Number of : Label Caption := 奇数 ; : Label Caption := 偶数 ; : begin Label Caption := 在 到 之间 ; Form Color := clBlue; end; else Label Caption := 大于 或为负数 ; end; end;
执行程序 当Edit 部件接受到一个值 并按动 OK 按钮触发程序后 Number便被赋值为用户输入的数值 case语句根据Number的值判断该执行哪一条语句 象if语句一样 case语句也有可选择的else部分 case语句以end结尾 循环语句
Object Pascal的循环语句有三种 repeat while和for语句
repeat语句
repeat语句会重复执行一行或一段语句直到某一状态为真 语句以repeat开始 以until结束 其后跟随被判断的布尔表达式 参阅以下的例程
i := ; repeat i := i+ ; Writen(i); until i= ;
当此语句被执行时 窗体的下方会出现 到 的数字 布尔表达式 i= (注意 与其他语言不同的是 = 是关系运算符 而不能进行赋值操作)直到repeat until程序段的结尾才会被计算 这意味着repeat语句至少会被执行一次
while语句
while语句和repeat语句的不同之处是 它的布尔表达式在循环的开头进行判断 while保留字后面必须跟一个布尔表达式 如果该表达式的结果为真 循环被执行 否则会退出循环 执行while语句后面的程序
下面的例程达到和上面的repeat例程达到同样的效果
i := ; while i< do begin i := i+ ; writeln(i); end;
for语句
for语句的程序代码会执行一定的次数 它需要一个循环变量来控制循环次数 您需要说明一个变量 它的类型可以是整形 布尔型 字符型 枚举型或子界型
下面的程序段会显示 到 的数字 i为控制变量
var i : integer; for i := to do writeln(i);
以上介绍了三种循环语句 如果您知道循环要执行多少次的话 可以使用for语句 for循环执行速度快 效率比较高 如果您不知道循环要执行多少次 但至少会执行一次的话 选用repeat until语句比较合适 当您认为程序可能一次都不执行的话 最好选用while do语句 程序模块
程序模块在Object Pascal中是很重要的概念 它们提供了应用程序的结构 决定了变量 属性值的范围及程序执行的过程 它由两个部分组成 可选择的说明部分和语句部分 如果有说明部分 则必在语句部分之前 说明部分包括变量说明 常量说明 类型说明 标号说明 程序 函数 方法的说明等 语句部分叙述了可执行的逻辑行动
在Delphi中 最常见的程序模块便是事件处理过程中的程序模块 下面的事件处理过程是含有变量说明部分的程序模块
procedure TForm Button Click(Sender Tobject); var 程序模块的说明部分 Name : string; begin 程序模块的语句部分 Name := Edit Text; Edit Text := Wele to Delphi +Name; end; 程序模块结束
库单元也是程序模块 库单元的interface部分含有库函数 类型 私有 公有域的说明 也可以含有常量 变量的说明 这一部分可以作为程序模块的说明部分 在库单元的implementation部分中通常含有各种事件处理过程 它们可以视为模块的语句部分 是事件处理模块 库单元模块结束于库单元结束的end 处
程序模块中可以包含其他的程序模块 上文库单元模块中含有事件处理模块 而库单元模块实际是在工程程序模块中
所有的Delphi应用程序都有相同的基本结构 当程序逐渐复杂时 在程序中加入模块即可 例如在库单元模块中加入事件处理模块 向工程中加入库单元模块等 模块化编程使得程序结构良好 并且对数据具有保护作用
关于作用范围
标识符的作用范围
一个变量 常量 方法 类型或其他标识符的范围定义了这个标识符的活动区域 对于说明这个标识符的最小程序模块而言 此标识符是局部的 当您的应用程序在说明一个标识符的程序模块外执行时 该标识符就不在此范围内 这意味着此时执行的程序无法访问这个标识符 只有当程序再度进入说明这个标识符的程序模块时 才可以访问它
下面的示意图表示一个含有两个库单元的工程 每个库单元中又各有三个过程或事件处理过程
访问其他程序模块中的说明
您可以在当前的程序模块中访问其他程序模块中的说明 例如您在库单元中编写一个事件处理过程来计算利率 则其他的库单元可以访问这个事件处理过程 要访问不在当前库单元中的说明 应在这个说明之前加上其他应用程序的名称和一个点号( ) 例如 在库单元Unit 中有事件处理过程CalculateInterest过程 现在您想在库单元Unit 中调用这一过程 则可以在Unit 的uses子句中加入Unit 并使用下面的说明
Unit CalculateInterest(PrincipalInterestRate : Double)
cha138/Article/program/Delphi/201311/8504相关参考
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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 面向对象编程的概念