Delphi面向对象的编程方法(三)

 我来答
大沈他次苹0B
2022-11-06 · TA获得超过7323个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:177万
展开全部

   跳转语句 

  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)  

lishixinzhi/Article/program/Delphi/201311/8504

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式