跳轉到內容

Delphi 程式設計/變數和常量

來自華夏公益教科書,開放的書本,開放的世界

變數在程式設計中必不可少。沒有變數,程式將無法執行很多操作。

變數將名稱連結到值。您不能將變數的名稱與其值混淆。變數不是常量。它在應用程式執行期間可能會改變。

變數和程式

[編輯 | 編輯原始碼]

程式中的變數宣告

[編輯 | 編輯原始碼]

要在程式中宣告變數,您需要編寫

  • var
  • 變數名稱(例如,var1
  • :
  • 其型別(例如,integer
  • ;

示例

function foo()
var
    var1: integer;
    var2: integer;

begin
// Some instructions
end;

您也可以編寫

function foo()
var
    var1, var2: integer;

begin
// Some instructions
end;

變數名的正確語法

[編輯 | 編輯原始碼]
錯誤的識別符號 違反規則 正確的識別符號
1name 不能以數字開頭 name1
name.2 不允許使用點 name_2
-name-3 不允許使用連字元 _name_3
變數名 不允許使用空格 Variable_name
déjà_vu 不允許使用帶重音的字元 deja_vu

您無需擔心大小寫,因為 Delphi 不區分大小寫。

顯示變數

[編輯 | 編輯原始碼]

在應用程式中顯示變數很容易。在控制檯應用程式中,您使用命令

 WriteLn(variableToDisplay);

.

以下是整個應用程式的結果

program Display_a_variable;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  var1:integer;

begin
  var1:= 12
  WriteLn (var1);
  ReadLn;
end.

因此,此程式碼將顯示 12。

備註:如果您不希望顯示新行,請使用 Write 函式而不是 WriteLn 。
備註:您可以使用 ReadLn 函式來避免控制檯過快關閉,但此函式的實際功能將在下面介紹。
備註:在 GUI 應用程式中,您在可視元件中顯示變數。

檢索變數

[編輯 | 編輯原始碼]

這也很容易。您需要呼叫 ReadLn(variable); 函式。

您需要首先宣告要使用的變數。以下是一段完整的程式碼

program Retrieve_a_Variable;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  var1:integer;

begin
  ReadLn (var1);
end.

在接下來的頁面中,我們將看到如何進行變數加法,如何在迴圈和條件語句中使用變數,等等…

備註:如果您不想在輸入後跳過一行,請使用 Read 函式而不是 ReadLn 。

您可以隨時在程式中為變數設定值,例如從另一個變數設定。

program Assignment;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  sourceVariable:integer;
  targetVariable:integer;

begin
  ReadLn (sourceVariable);
  targetVariable := sourceVariable;
end.

要更改的變數在左側,複製其值的變數在右側。不要混淆。

常量類似於變數,但有一點不同:它們在執行期間不能更改其值。

系統常量

[編輯 | 編輯原始碼]

這些常量指定了在標頭檔案中定義的所有本機值。

示例

stdout 指向螢幕緩衝區
stdin 指向鍵盤緩衝區

符號常量

[編輯 | 編輯原始碼]

符號常量由開發人員定義。它們像變數一樣工作,但宣告不同。

要宣告常量,您需要在保留關鍵字const 之後宣告它,而不是var

program Declare_constant;

{$APPTYPE CONSOLE}

uses
  SysUtils;
const
  const1 = 12;
var
  var1:integer;

begin
  // Instructions
end.


測試您的知識

編寫一個應用程式,該應用程式詢問使用者其年齡,然後顯示它。

答案
program Ask_your_age;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  age:integer;

begin
  WriteLn ('How old are you?');
  ReadLn (age);
  Write ('You are ');
  Write (age);
  WriteLn (' year(s) old.');
end.
華夏公益教科書