zoukankan      html  css  js  c++  java
  • Delphi APP 開發入門(六)Object Pascal 語法初探

    Delphi APP 開發入門(六)Object Pascal 語法初探

    Delphi APP 開發入門(五)GPS 定位功能 << 前情

    經過前面五週幾乎每週可以寫出一個簡單App後,大家都可以感受到Delphi強大的開發威力!這個禮拜要很快速的教大家Delphi的核心語言「Object Pascal」,當然因為這系列的文章是「Delphi APP 開發入門」,所以不會著墨太多語法的部份(一方面是怕大家很快就嚇跑了),筆者還是希望能擺在對入門有興趣為重心。接下來就教導大家最常見的變數、常數宣告、資料型態的種類、結構型態的宣告以及流程控制等基本語法,其他的部份就留待實戰時再一一解說了。

    程式註解

    單行註解使用的是雙反斜線 //,多行註解使用的是 { }

    // 這是單行註解
    {1
     2
     3
     這是多行註解
     4
     5          }

    常數、變數

    Object Pascal宣告變數的關鍵字是使用var,例如建立一個 i1的變數,型態是Integer整數的話。

    var
      i1 : Integer ;

    如果同時宣告i1,i2都是整數時,可以用,隔開

    var
      i1,i2 : Integer;

    而常數的關鍵字則是Const,我們建立一個 pi的變數,型態是Double,值為3.14159

    Const
      pi : Double = 3.14159 ;

    型態種類

    Object Pascal的型態種類繁多,甚至因為支援多種平台還有支援各平台的型態。我們僅先列出最常用的資料型態給大家參考,如果對完整的資料型態有興趣,可以參考Embarcadero Variant Type這一章節
    基本的資料型態如下:

    var
      i: Integer; // 整數
      s: String;  // 字串
      c: Char;    // 字元
      d: Double;  // 浮點數
      b: Boolean; // 布林

    結構型態宣告

    結構型態的宣告是由程式設計師自訂之資料型態。例如宣告一個員工記錄

    type
      TEmployee = Record
        Name     : String ; // 員工姓名
        Addr     : String ; // 員工地址
        Hour     : Double ; // 上班時數
        Employed : Boolean; // 在職與否
      end;

    或是宣告一個1到100的整數陣列

    Type
      TMyArray = array [1..100] of integer;

    流程控制

    if流程

    if流程控制大概是所有程式語言中最常用的判斷語法,在Delphi中的用法如下

      // 用法1(單一判斷)
      if Z > B then
        s := 'Z大於B';
      // 用法2(多重判斷)
      if Z > B then
        s := 'Z大於B'  // 注意這邊不用 ;
      else if Z  B then begin
        s := 'Z大於B';  // 注意這邊要用 ;
      end else if Z < B then begin
        s := 'Z小於B';  // 注意這邊要用 ;
      end else begin
        s := "Z等於B";  
      end;
    

    For迴圈

    for是一個明確執行次數的迴圈,可以升冪或降冪執行

      // 由1執行到10
      for i:= 1 to 10 do begin
        sum:= sum + i;
      end;
      // 由10執行到1
      for i:= 10 downto 1 do begin
        sum:= sum + i;
      end;

    While迴圈

    for與while最大的不同在於for有明確執行次數,但while則是依照條件判斷是否要執行,以剛才的1加到10為例。

      While i<=10 do begin
        sum := sum + i;
        i := i +1;
      end;

    repeat迴圈

    while與repeat都是條件式迴圈,而二者不同是while是先判斷再執行,repeat是先執行再判斷。

      repeat
        sum:=sum+i;
        i:=i+1;
      until i>10;

    Case多選一

    如果你的判斷是要多選一的話,可以使用case of的語法

      case iMonth of
        2,3,4: 
          Showmessage('春季');
        5..7:
          Showmessage('夏季');
        8..10:
          Showmessage('秋季');
        11..12,1:
          Showmessage('冬季');
      else
        Showmessage('月份有誤');
      end;

    程序與函數

    程序(procedure)與函數(function)的不同在於有無傳回值。

      var 
        name : String;
      procedure TForm1.hello1(s: String);
      begin
        name := 'hello ' + s;   // 如果需要傳遞值需在外部宣告變數
      end;
    
      function TForm1.hello2(s: String): String;
      begin
        result := 'hello ' + s; // 回傳字串型態變數
      end;
    
      procedure TForm1.Button1Click(Sender: TObject);
      var 
        s:String;
      begin
        s:= '';
        hello1('codedata');     // 直接呼叫procedure
        showmessage(name);
        s:= hello2('codedata'); // 需要建立變數接回傳值
        showmessage(s);
      end;

    本週是用最簡單的方式告訴讀者們Delphi的基本語法,如果大家對於Delphi語法有興趣深入的話,可以參考免費Embarcadero的官方文件。當然筆者在後續的教學中,如果有使用未提過的語法或使用,也會在文中做說明。

    後續 >> Delphi APP 開發入門(七)通知與雲端推播

  • 相关阅读:
    Vue中事件委托的使用
    java提取每个汉字的首字母
    想把大脑存进电脑,我为什么要写博客
    CF 1606 D题题解
    js前端 音频波形图像展示
    js前端 仪表盘实现
    js前端 bootstrap select的使用
    UOS系统维护命令
    linux 打印机管理常用命令
    linux 调用shell命令
  • 原文地址:https://www.cnblogs.com/honeynm/p/4194809.html
Copyright © 2011-2022 走看看