程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi_06_Delphi_Object_Pascal_基本語法_04,delphiobjectpascal

Delphi_06_Delphi_Object_Pascal_基本語法_04,delphiobjectpascal

編輯:Delphi

Delphi_06_Delphi_Object_Pascal_基本語法_04,delphiobjectpascal


  這一節描述基本語法中的流程語句: 條件語句 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.

 

  歡迎轉載本系列文章,轉載請注明來源。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved