- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安网站维护基地 来源:黑客防线网安网站维护基地 浏览次数:0本篇关键词:Delphi
|
begin
OpenDialog.Execute;
Memo1.lines.LoadFromFile(OpenDialog.FileName);
end;
2.1.3.3 使用Delphi函数
与过程一样,函数的程序代码也执行特定的工作。它和过程的差别为:函数执行时会返回一个值,而过程则没有返回值。函数可以用来赋给一个属性或变量;也可以使用返回值来决定程序的流程。
前文中我们实际上已经接触过了函数。在讲述变量时,曾用到过下面的程序段: Edit1.Text := IntToStr(X + Y);其中,IntToStr(Value)把一个LongInt类型的数值转化为字符串的值,Value是IntToStr唯一的参数,它可以是一个整形的值、变量、属性或产生整形值的表达式。调用函数,必须把返回值赋给和此返回值类型兼容的变量或属性。
有些函数返回一个True或False的布尔量,用户的程序可以根据返回值来决定跳转。下文的例程讲述了函数返回值为Boolean的判断用法:
在窗体中加入一个ColorDialog对象和一个Name属性为ChangeColor的按钮。为按钮的OnClick事件建立事件处理过程如下:
procedure TForm1.ChangeColorClick(Sender: TObject);
begin
if ColorDialog1.Execute then
Form1.Color := ColorDialog1.Color
else
Form1.Color := clRed;
end;
此事件处理过程使用一个返回Boolean值的Execute方法。按动按钮,并在颜色对话框中选择一个颜色。如果按动OK按钮,ColorDialog.Execute方法将返回True,则Form1.Color将被赋值为ColorDialog1.Color,窗体显现您选用的颜色;如果按动颜色对话框的Cancel按钮,方法将返回False值,窗体将变为红色。
2.1.4 跳转语句
Object Pascal的跳转语句有if和case两个。
2.1.4.1 if语句
if语句会计算一个表达式,并根据计算结果决定程序流程。在上文的例程中,根据ColorDialog.Execute的返回值,决定窗体的背景颜色。if保留字后跟随一个生成Boolean值True或False的表达式。一般用“=”作为关系运算符,比较产生一个布尔型值。当表达式为True时,执行then后的语句。否则执行else后的代码,if语句也可以不含else部分,表达式为False时自动跳到下一行程序。
if语句可以嵌套,当使用复合语句表达时,复合语句前后需加上begin…end。else保留字前不能加“;”,而且,编译器会将else语句视为属于最靠近的if语句。必要时,须使用begin…end保留字来强迫else部分属于某一级的if语句。
2.1.4.2 case语句
case语句适用于被判断的变量或属性是整形、字符型、枚举型或子界型时(LongInt除外)。用case语句进行逻辑跳转比编写复杂的if语句容易阅读,而且程序代码整形较快。
下面的例程显示一个使用case语句的窗体:
建立如下的事件处理过程:
procedure TForm1.Button1Click(Sender: TObject);
var
Number : Integer;
begin
Number := StrToInt(Edit1.Text);
case Number of
1,3,5,7,9: Label2.Caption := '奇数';
0,2,4,6,8: Label2.Caption := '偶数';
10..100:
begin
Label2.Caption := '在10到100之间';
Form1.Color := clBlue;
end;
else
Label2.Caption := '大于100或为负数';
end;
end;
执行程序,当Edit1部件接受到一个值,并按动“OK”按钮触发程序后,Number便被赋值为用户输入的数值。case语句根据Number的值判断该执行哪一条语句。象if语句一样。case语句也有可选择的else部分。case语句以end结尾。
2.1.5 循环语句
Object Pascal的循环语句有三种:repeat、while和for语句。
2.1.5.1 repeat语句
repeat语句会重复执行一行或一段语句直到某一状态为真。语句以repeat开始,以until结束,其后跟随被判断的布尔表达式。参阅以下的例程:
i := 0;
repeat
i := i+1;
Writen(i);
until i=10;
当此语句被执行时,窗体的下方会出现1到10的数字。布尔表达式 i=10 (注意,与其他语言不同的是,“=”是关系运算符,而不能进行赋值操作)直到repeat..until程序段的结尾才会被计算,这意味着repeat语句至少会被执行一次。
2.1.5.2 while语句
while语句和repeat语句的不同之处是,它的布尔表达式在循环的开头进行判断。while保留字后面必须跟一个布尔表达式。如果该表达式的结果为真,循环被执行,否则会退出循环,执行while语句后面的程序。
下面的例程达到和上面的repeat例程达到同样的效果:
i := 0;
while i<10 do
begin
i := i+1;
writeln(i);
end;
2.1.5.3 for语句
for语句的程序代码会执行一定的次数。它需要一个循环变量来控制循环次数。您需要说明一个变量,它的类型可以是整形、布尔型、字符型、枚举型或子界型。
下面的程序段会显示1到5的数字,i为控制变量:
var
i : integer;
for i := 1 to 5 do
writeln(i);
以上介绍了三种循环语句。如果您知道循环要执行多少次的话,可以使用for语句。for循环执行速度快,效率比较高。如果您不知道循环要执行多少次,但至少会执行一次的话,选用repeat..until语句比较合适;当您认为程序可能一次都不执行的话,最好选用while..do语句。
2.1.6 程序模块
程序模块在Object Pascal中是很重要的概念。它们提供了应用程序的结构,决定了变量、属性值的范围及程序执行的过程。它由两个部分组成:可选择的说明部分和语句部分。如果有说明部分,则必在语句部分之前。说明部分包括变量说明、常量说明、类型说明、标号说明、程序,函数,方法的说明等。语句部分叙述了可执行的逻辑行动。
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |