⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 007.htm

📁 Delphi基础知识讲座
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基础教程-->第二章 Delphi面向对象的编程方法(二)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基础教程 第二章 Delphi面向对象的编程方法(二)">
<META NAME="description" CONTENT=" - DELPHI基础教程 - 第二章 Delphi面向对象的编程方法(二)">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 background="bg.gif" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">

<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  background="bg.gif"><strong><A HREF="008.htm" ><FONT style="FONT-SIZE: 9pt">后一页</font></A><BR>
<A HREF="006.htm" ><FONT style="FONT-SIZE: 9pt">前一页</font></A><BR>

<A HREF="index.html" ><FONT style="FONT-SIZE: 9pt">回目录</font></A><BR>
<A HREF="../../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首页</font></A><BR>
</strong>
</TD>
<TD class="tt2" background="bg.gif" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">第二章 Delphi面向对象的编程方法(二)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p>2.1.4 <font face="宋体" lang="ZH-CN">跳转语句 </p>
</font><p>Object Pascal<font face="宋体" lang="ZH-CN">的跳转语句有</font>if<font
face="宋体" lang="ZH-CN">和</font>case<font face="宋体" lang="ZH-CN">两个。 </p>
</font><p>2.1.4.1 if<font face="宋体" lang="ZH-CN">语句 </p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if<font face="宋体" lang="ZH-CN">语句会计算一个表达式,并根据计算结果决定程序流程。在上文的例程中,根据</font>ColorDialog.Execute<font
face="宋体" lang="ZH-CN">的返回值,决定窗体的背景颜色。</font>if<font
face="宋体" lang="ZH-CN">保留字后跟随一个生成</font>Boolean<font face="宋体"
lang="ZH-CN">值</font>True<font face="宋体" lang="ZH-CN">或</font>False<font
face="宋体" lang="ZH-CN">的表达式。一般用“</font>=<font face="宋体"
lang="ZH-CN">”作为关系运算符,比较产生一个布尔型值。当表达式为</font>True<font
face="宋体" lang="ZH-CN">时,执行</font>then<font face="宋体" lang="ZH-CN">后的语句。否则执行</font>else<font
face="宋体" lang="ZH-CN">后的代码,</font>if<font face="宋体" lang="ZH-CN">语句也可以不含</font>else<font
face="宋体" lang="ZH-CN">部分,表达式为</font>False<font face="宋体"
lang="ZH-CN">时自动跳到下一行程序。</font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if<font face="宋体" lang="ZH-CN">语句可以嵌套,当使用复合语句表达时,复合语句前后需加上</font>begin<font
face="宋体" lang="ZH-CN">…</font>end<font face="宋体" lang="ZH-CN">。</font>else<font
face="宋体" lang="ZH-CN">保留字前不能加“;”,而且,编译器会将</font>else<font
face="宋体" lang="ZH-CN">语句视为属于最靠近的</font>if<font face="宋体"
lang="ZH-CN">语句。必要时,须使用</font>begin<font face="宋体" lang="ZH-CN">…</font>end<font
face="宋体" lang="ZH-CN">保留字来强迫</font>else<font face="宋体" lang="ZH-CN">部分属于某一级的</font>if<font
face="宋体" lang="ZH-CN">语句。 </p>
</font><p>2.1.4.2 case<font face="宋体" lang="ZH-CN">语句 </p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case<font face="宋体"
lang="ZH-CN">语句适用于被判断的变量或属性是整形、字符型、枚举型或子界型时</font>(LongInt<font
face="宋体" lang="ZH-CN">除外</font>)<font face="宋体" lang="ZH-CN">。用</font>case<font
face="宋体" lang="ZH-CN">语句进行逻辑跳转比编写复杂的</font>if<font
face="宋体" lang="ZH-CN">语句容易阅读,而且程序代码整形较快。</font></p>
<p><font face="宋体" lang="ZH-CN">下面的例程显示一个使用</font>case<font
face="宋体" lang="ZH-CN">语句的窗体:</font></p>
<p><font face="宋体" lang="ZH-CN">建立如下的事件处理过程: </p>
</font><p>procedure TForm1.Button1Click(Sender: TObject);</p>
<p>var</p>
<p>Number : Integer;</p>
<p>begin</p>
<p>Number := StrToInt(Edit1.Text);</p>
<p>case Number of</p>
<p>1,3,5,7,9: Label2.Caption := '<font face="宋体" lang="ZH-CN">奇数</font>';</p>
<p>0,2,4,6,8: Label2.Caption := '<font face="宋体" lang="ZH-CN">偶数</font>';</p>
<p>10..100: </p>
<p>begin </p>
<p>Label2.Caption := '<font face="宋体" lang="ZH-CN">在</font>10<font face="宋体"
lang="ZH-CN">到</font>100<font face="宋体" lang="ZH-CN">之间</font>';</p>
<p>Form1.Color := clBlue;</p>
<p>end;</p>
<p>else</p>
<p>Label2.Caption := '<font face="宋体" lang="ZH-CN">大于</font>100<font face="宋体"
lang="ZH-CN">或为负数</font>';</p>
<p>end; </p>
<p>end; </p>
<p><font face="宋体" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 执行程序,当</font>Edit1<font
face="宋体" lang="ZH-CN">部件接受到一个值,并按动“</font>OK<font
face="宋体" lang="ZH-CN">”按钮触发程序后,</font>Number<font face="宋体"
lang="ZH-CN">便被赋值为用户输入的数值。</font>case<font face="宋体"
lang="ZH-CN">语句根据</font>Number<font face="宋体" lang="ZH-CN">的值判断该执行哪一条语句。象</font>if<font
face="宋体" lang="ZH-CN">语句一样。</font>case<font face="宋体" lang="ZH-CN">语句也有可选择的</font>else<font
face="宋体" lang="ZH-CN">部分。</font>case<font face="宋体" lang="ZH-CN">语句以</font>end<font
face="宋体" lang="ZH-CN">结尾。 </p>
</font><p>2.1.5 <font face="宋体" lang="ZH-CN">循环语句 </p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object Pascal<font face="宋体"
lang="ZH-CN">的循环语句有三种:</font>repeat<font face="宋体" lang="ZH-CN">、</font>while<font
face="宋体" lang="ZH-CN">和</font>for<font face="宋体" lang="ZH-CN">语句。 </p>
</font><p>2.1.5.1 repeat<font face="宋体" lang="ZH-CN">语句 </p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; repeat<font face="宋体"
lang="ZH-CN">语句会重复执行一行或一段语句直到某一状态为真。语句以</font>repeat<font
face="宋体" lang="ZH-CN">开始,以</font>until<font face="宋体" lang="ZH-CN">结束,其后跟随被判断的布尔表达式。参阅以下的例程: </p>
</font><p>i := 0;</p>
<p>repeat</p>
<p>i := i+1;</p>
<p>Writen(i);</p>
<p>until i=10; </p>
<p><font face="宋体" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当此语句被执行时,窗体的下方会出现</font>1<font
face="宋体" lang="ZH-CN">到</font>10<font face="宋体" lang="ZH-CN">的数字。布尔表达式</font>
i=10 (<font face="宋体" lang="ZH-CN">注意,与其他语言不同的是,“</font>=<font
face="宋体" lang="ZH-CN">”是关系运算符,而不能进行赋值操作</font>)<font
face="宋体" lang="ZH-CN">直到</font>repeat..until<font face="宋体" lang="ZH-CN">程序段的结尾才会被计算,这意味着</font>repeat<font
face="宋体" lang="ZH-CN">语句至少会被执行一次。 </p>
</font><p>2.1.5.2 while<font face="宋体" lang="ZH-CN">语句 </p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while<font face="宋体"
lang="ZH-CN">语句和</font>repeat<font face="宋体" lang="ZH-CN">语句的不同之处是,它的布尔表达式在循环的开头进行判断。</font>while<font
face="宋体" lang="ZH-CN">保留字后面必须跟一个布尔表达式。如果该表达式的结果为真,循环被执行,否则会退出循环,执行</font>while<font
face="宋体" lang="ZH-CN">语句后面的程序。</font></p>
<p><font face="宋体" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面的例程达到和上面的</font>repeat<font
face="宋体" lang="ZH-CN">例程达到同样的效果: </p>
</font><p>i := 0; </p>
<p>while i&lt;10 do</p>
<p>begin</p>
<p>i := i+1;</p>
<p>writeln(i);</p>
<p>end;  </p>
<p>2.1.5.3 for<font face="宋体" lang="ZH-CN">语句 </p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for<font face="宋体"
lang="ZH-CN">语句的程序代码会执行一定的次数。它需要一个循环变量来控制循环次数。您需要说明一个变量,它的类型可以是整形、布尔型、字符型、枚举型或子界型。</font></p>
<p><font face="宋体" lang="ZH-CN">下面的程序段会显示</font>1<font face="宋体"
lang="ZH-CN">到</font>5<font face="宋体" lang="ZH-CN">的数字,</font>i<font
face="宋体" lang="ZH-CN">为控制变量: </p>
</font><p>var </p>
<p>i : integer;</p>
<p>for i := 1 to 5 do</p>
<p>writeln(i); </p>
<p><font face="宋体" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以上介绍了三种循环语句。如果您知道循环要执行多少次的话,可以使用</font>for<font
face="宋体" lang="ZH-CN">语句。</font>for<font face="宋体" lang="ZH-CN">循环执行速度快,效率比较高。如果您不知道循环要执行多少次,但至少会执行一次的话,选用</font>repeat..until<font
face="宋体" lang="ZH-CN">语句比较合适;当您认为程序可能一次都不执行的话,最好选用</font>while..do<font
face="宋体" lang="ZH-CN">语句。 </p>
</font><p>2.1.6 <font face="宋体" lang="ZH-CN">程序模块</font></p>
<p><font face="宋体" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 程序模块在</font>Object Pascal<font
face="宋体" lang="ZH-CN">中是很重要的概念。它们提供了应用程序的结构,决定了变量、属性值的范围及程序执行的过程。它由两个部分组成:可选择的说明部分和语句部分。如果有说明部分,则必在语句部分之前。说明部分包括变量说明、常量说明、类型说明、标号说明、程序,函数,方法的说明等。语句部分叙述了可执行的逻辑行动。</font></p>
<p><font face="宋体" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在</font>Delphi<font
face="宋体" lang="ZH-CN">中,最常见的程序模块便是事件处理过程中的程序模块。下面的事件处理过程是含有变量说明部分的程序模块: </p>
</font><p>procedure TForm.Button1Click(Sender Tobject);</p>
<p>var {<font face="宋体" lang="ZH-CN">程序模块的说明部分}</font></p>
<p>Name : string;</p>
<p>begin {<font face="宋体" lang="ZH-CN">程序模块的语句部分}</font></p>
<p>Name := Edit1.Text;</p>
<p>Edit2.Text := 'Welcome to Delphi'+Name;</p>
<p>end; {<font face="宋体" lang="ZH-CN">程序模块结束} </p>
</font><p><font face="宋体" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 库单元也是程序模块。库单元的</font>interface<font
face="宋体" lang="ZH-CN">部分含有库函数、类型、私有,公有域的说明,也可以含有常量、变量的说明。这一部分可以作为程序模块的说明部分。在库单元的</font>implementation<font
face="宋体" lang="ZH-CN">部分中通常含有各种事件处理过程,它们可以视为模块的语句部分,是事件处理模块。库单元模块结束于库单元结束的</font>end.<font

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -