上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
DELPHI语法编程基础(6)
作者:未知 申领版权
2010年12月12日 共有 1463 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    Case语句 
    如果你的if语句变得非常复杂,有时可以用case语句代替它。case语句包括用来选值的表达式、可能值序列或一个取值范围。这些值应该是常量,并且它们必须唯一,而且应属于有序类型。Case语句最后可以带一个else 语句,当没有一个标签与选择器的值一致时,执行else语句。下面是两个简单的例子:
    case Number of
    1: Text := 'One';
    2: Text := 'Two';
    3: Text := 'Three';
    end;
    
    case MyChar of
    ' ' : Text := 'Plus sign';
    '-' : Text := 'Minus sign';
    '*', '/': Text := 'Multiplication or division';
    '0'..'9': Text := 'Number';
    'a'..'z': Text := 'Lowercase character';
    'A'..'Z': Text := 'Uppercase character';
    else
    Text := 'Unknown character';
    end;
    Pascal语言中的循环 
    其它编程语言中使用的循环语句,Pascal语言中都有,它们包括 for、 while 和 repeat 语句。如果你用过其他编程语言,你会发现Pascal中的循环语句没什么特别的,因此这里只作简要的说明。
    For循环 
    Pascal 中的for循环严格地建立在计数器基础上,循环每执行一次,计数器不是增加一个值就是减小一个值。下面是一个for语句的简例,用来将前十个数加起来:
    var
    K, I: Integer;
    begin
    K := 0;
    for I := 1 to 10 do
    K := K   I;
    同样的for语句可以用正好相反的计数器来写:
    var
    K, I: Integer;
    begin
    K := 0;
    for I := 10 downto 1 do
    K := K   I;
    Pascal 中的for循环语句其灵活性比其他语言小(它不能指定1之外的步长),不过简单也容易理解。如果需判断的条件比较复杂,或想自定义计数器,你可以用while语句或 repeat 语句,而不是for循环语句。
    注意:for循环计数器不必非是数字,它可以是任何有序类型的值,例如一个字符或一个枚举类型值。
    while语句和repeat语句 
    while-do 循环语句和 repeat-until 语句的不同点在于repeat 循环语句的代码至少要执行一次。从下面的简例很容易理解这一点:
    while (I <= 100) and (J <= 100) do
    begin
    // use I and J to compute something...
    I := I   1;
    J := J   1;
    end;
    
    repeat
    // use I and J to compute something...
    I := I   1;
    J := J   1;
    until (I > 100) or (J > 100);
    从上可见即使 I 或 J 的初始值大于100,repeat-until循环中的代码也仍会执行一次。
    注意:两种循环另一个关键的不同点是,repeat-until 循环的条件是反向的条件,只要不满足这个条件,循环就执行;当条件满足时,循环终止。这正好与while-do 循环相反,while-do 循环当条件是真值时才执行。
    一个循环语句例子 
    为了探究循环的细节,让我们看一个Delphi 简例,这个循环例子表现了固定计数器循环和随机计数器循环之间的差别。建一个新的工程,在主窗体上放一个listbox和两个button,通过设置Object Inspector中的name属性分别命名button为BtnFor 和BtnWhile。你还可以把Caption 属性中的Btn 去掉,或甚至加上 & ,让跟在 & 后面的字母成为快捷键。下面是该窗体文本描述:
    object Form1: TForm1
    Caption = 'Loops'
    object ListBox1: TListBox ...
    object BtnFor: TButton
    Caption = '&For'
    OnClick = BtnForClick
    end
    object BtnWhile: TButton
    Caption = '&While'
    OnClick = BtnWhileClick
    end
    end
    图 5.2: 单击For按钮后显示的结果 
    
    现在,我们分别给两个button 添加OnClick 事件代码。第一个button用一个简单的for循环来显示一列数字,结果如图5.2。这个循环向listbox中的Items 属性添加一系列字符串。在执行循环之前,需要清除listbox 中的内容。程序如下:
    procedure TForm1.BtnForClick(Sender: TObject);
    var
    I: Integer;
    begin
    ListBox1.Items.Clear;
    for I := 1 to 20 do
    Listbox1.Items.Add ('String '   IntToStr (I));
    end;
    第二个button的事件代码稍微复杂点。本例中让while 循环基于一个随机增长的计数器。为实现它,我调用了Randomize 过程, 用它来重置随机数发生器,还调用了Random 函数, 其取值范围为100, 即函数返回0至99之间的随机数,随机数序列控制while 循环的执行次数。
    procedure TForm1.BtnWhileClick(Sender: TObject);
    var
    I: Integer;
    begin
    ListBox1.Items.Clear;
    Randomize;
    I := 0;
    while I < 1000 do
    begin
    I := I   Random (100);
    Listbox1.Items.Add ('Random Number: '   IntToStr (I));
    end;
    end;
    每次点击While按钮,出现的数字都不同,因为这些数字取决于随机数发生器。图5.3显示了两次点击的结果,可看到不仅每次产生的数字不同,而且数据项数也不同。也就是说,这个while循环执行的次数是随机的。 
    图 5.3: 按While按钮后显示的结果 
    
    注意:用 Break 和 Continue 系统过程可以改变循环执行的标准流程。Break 中断循环;Continue直接跳至循环测试句,或使计数器增加一个步长,然后继续循环(除非条件为空或计数器达到最大值)。还有两个系统过程 Exit 和 Halt,让你立即从函数或过程中返回,或者终止程序。

    

 

相关新闻

每一个程序员要遵守的一些优秀编程风格
代词it, that, one, the one 的辨析
《VB程序设计基础》选择题
Is Family Life Changing
设计模式之Iterator
设计模式之Visitor
设计模式之Interpreter(解释器)
设计模式之Mediator(中介者)
设计模式之Strategy(策略)
设计模式之State

您可能对这些感兴趣  

第7讲 综合分析BIM在运用与推广中的障碍问题
考核学生质量的困难
日本福岛核电站事故初步分析
论科技异化与科技人化
中国科技计划项目管理现状与对策
财政科技资金的审计重点和内容
软科学研究机构在政府决策中的功效、困境及对策研究
打造超级DOS系统(下)
DOS命令基础应用(6)
打造超级DOS系统(上)

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》