volcanol的工控博客
Email : lilinly225@126.com 索要资料加QQ 点击进入 或 点击左侧的资料分享专用帖

volcanol ---- View OF Linux Can Appreciate Nature OF Linux

天行健,君子以自强不息

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  这一节描述基本语法中的流程语句: 条件语句 IF语句、 选择语句 Case语句、循环语句  while/repeat/for、以及continue、break语句,还有终止程序

运行流程Exit、Halt方法。

  废话不多说,直接贴代码。

{       Delphi语句
1、if语句
2、case语句
3、循环语句
4、用于循环的 continue  和 break 语句
5、程序终止或中止功能 Exit、Halt、Terminate方法
}

program Statement;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  StrUtils, //引用字符串操作函数
  Windows;  //引用系统函数

type
    charSet = set of ansichar;

var
    //注意Delphi2010里面String变量相当于WideString
    dirPath:string;
    dirAnsiPath:ansistring;

    //定义一个整型变量
    strVar:string;
    nVar:integer;

    //定义一个ansichar变量
    chVar:ansichar;
    charSetVar:charSet;

procedure showExit();
begin
    WriteLn('Go into procedure showExit');
    Exit();
    //由于调用Exit()方法,因此会退出当前函数的执行,下面的语句不会被执行
    WriteLn('Go out procedure showExit()');
end;

procedure showHalt();
begin
    {
    1、Halt可以返回一个错误码,如果不带参数则不能有 ( ) 函数调用符
    2、如果用 ( ) 函数调用符,则必须带参数
    }
    Halt(2);
end;

procedure showTerminate();
begin
    //Terminate() 方法用于终止 GUI程序的执行,这里就不说明啦
end;


begin
    //通过系统API函数获取系统路径
    GetWindowsDirectory(PWideChar(dirPath),256);
    dirAnsiPath := dirPath;
    dirAnsiPath := 'Window have install in' + dirAnsiPath;
    WriteLn(dirAnsiPath);

    {       IF语句
    1、IF语句的第一种形式
    2、如果有else分支,则then后面的 begin/end 语句块 end后面不能有分号
    3、如果有else分支,则then后面的语句必须为语句块 begin/end
    }
    if dirPath = 'C:\windows' then
    begin
        WriteLn('Windows have install in default partion.');
    end
    else
    begin
        WriteLn('Windows have install in default partion.');
    end;

    {   IF语句
    1、不带esle子句的if语句
    }
    if True then
        WriteLn('This is simple if statement');


    {
    if .... then
        ...
    else if ...  then
        ...
    esle if ...  then
        ...
    else
        ...
    }
    //通过函数 Read 读取数字
    Read(nVar);
    if nVar = 1 then
    begin
          WriteLn('status 1');
    end
    else if nVar = 2 then
    begin
        WriteLn('status 2');
    end
    else if nVar = 3 then
    begin
        WriteLn('status 3');
    end
    else
    begin
        WriteLn('other status');
    end;


    {   case 语句

    }
    case nVar of
        1:
            WriteLn('*');
        2:
            WriteLn('**');
        3:
            WriteLn('***');
        4:
            WriteLn('****');
    else
        WriteLn('Input is not 1..4');
    end;

    {       循环语句
    1、while循环
    2、repeat循环
    3、for循环
    }
    nVar := 0;

    {
    1、while循环语句
    }
    while not ( nVar = 10 )  do  //注意 not的优先级比 关闭比较符的优先级要高
    begin
        Inc(nVar);
        WriteLn(nVar);
    end;

    {       Repet
    1、repeat循环语句,类似于C语言中的 Do...while,就是循环体至少会执行一次
    }
    repeat
        WriteLn(nVar);
        Dec(nVar);
    until nVar = 0;

    {       for循环语句
    1、for有两种形式,
    2、语法格式1, 计数器向上增加
            for 计数器 := 初始值 to 终值  do
                循环体
    3、语法格式2, 计数器向下减小
            for 计数器 := 初始值 downto 终值 do
                循环体
    }
    for nVar := 3 to 10 do
    begin
        WriteLn(nVar);
    end;

    for nVar := 10 downto 5 do
    begin
        WriteLn('This is downto for loop.');
        WriteLn(nVar);
    end;

    {   基于集合的for循环语句
    1、针对集合中的元素进行循环
    2、for I in set do 循环,中的set必须是已经初始化的集合变量
       不能使集合类型,或者是未初始化的集合变量
    3、这个格式的for循环还可以变量数组、记录、字符串、类和接口
    }
    //初始化集合变量
    charSetVar := ['a'..'z'];
    for chVar in charSetVar do
    begin
        WriteLn(chVar);
    end;

    {       continue语句
    1、continue语句的用法和 C语言中的用法一样,用于中止本次循环
    }
    for nVar := 0 to 100 do
    begin
        if nVar <= 90 then
            begin
                Continue;
            end
        else
            begin
                WriteLn(nVar);
            end;
    end;

    {       break语句
    1、break语句与 C 语言中个的用法一样
    }
    while nVar > 70 do
    begin
        Dec(nVar);
        if nVar < 76  then
        begin
            break;
        end
        else
            WriteLn(nVar);
    end;


    {       Exit 方法
    1、Exit用于退出当前正在执行的程序块,但是不会退出整个程序的执行
    2、当Exit用于主程序的程序块的时候就是退出程序
    3、在try....finally...调用 Exit 会被当做异常处理
    }
    showExit();
    WriteLn('In Main block.');


    {       Halt 方法
    1、Halt用于退出当前正在执行的程序
    }
    ShowHalt();
    WriteLn('This statement can never be excuted.');


    readln;
    readln;
end.

 

  欢迎转载本系列文章,转载请注明来源。

 

posted on 2016-03-27 21:46  volcanol  阅读(448)  评论(0编辑  收藏  举报
volcanol ----View OF Linux Can Appreciate Nature OF Linux。