Crystal Reports Designer  

區域變數 (Crystal 語法)

區域範圍中的變數是使用 Local 關鍵字,後面接著型別名稱 (字尾為 Var) 和變數名稱來進行宣告。

區域變數只能用於單一公式,以及該公式的單一驗算中。這表示您不可以從別的公式中存取該公式內的區域變數。

範例

//Formula A 
Local NumberVar x;
x := 10;
//Formula B
EvaluateAfter ({@Formula A})
Local NumberVar x;
x := x + 1;

函式呼叫 EvaluateAfter ({@Formula A}) 可確保公式 B 會在公式 A 之後進行驗算。公式 A 會傳回值 10,而公式 B 則傳回值 1。公式 B 無法存取公式 A 中的 x,因此無法使用 10 這個值加上 1。換言之,它使用公式 B 中未初始化過的區域變數 x 的預設值 0 加上 1,因而得到結果 1。

您也可以在不同公式中,使用名稱相同但型別不同的變數,建立區域變數,例如,公式 A 和 B 中的型別宣告和下面的範例並不衝突:

//Formula C
Local StringVar x := "hello";

區域變數是三種範圍中最有效率的一種。此外,區域變數也不會與不同公式中的其他區域變數互相干擾。因此,儘可能將變數宣告成區域變數。

請參閱

變數範圍 | 全域變數 | 共用變數