我有一個枚舉'a'..'z'
的全局數組變量。如果我想在變量聲明初始化一些項目,我平時做到以下幾點:如何在聲明中初始化delphi靜態數組的特定條目?
var
Example: Array['a'..'z'] of String = ('Example one', 'two', 'three');
有沒有一種方法來初始化只是,說,「G」,「P」,「O」,和'y',在變量聲明中,還是必須通過執行部分中的某個函數/過程來做到這一點?
可能還有更聰明的方法來實現我想要的嗎?
我有一個枚舉'a'..'z'
的全局數組變量。如果我想在變量聲明初始化一些項目,我平時做到以下幾點:如何在聲明中初始化delphi靜態數組的特定條目?
var
Example: Array['a'..'z'] of String = ('Example one', 'two', 'three');
有沒有一種方法來初始化只是,說,「G」,「P」,「O」,和'y',在變量聲明中,還是必須通過執行部分中的某個函數/過程來做到這一點?
可能還有更聰明的方法來實現我想要的嗎?
您不能僅初始化某些元素。這樣做的正確方法是在initialization
部分,寫在implementation
之後:
implementation
...
initialization
Example['g'] := 'something';
end.
根本沒有辦法指定你只需要特定元素初始化。全局數組變量的初始化器只是一個元素列表。元素按順序指定。任何未指定的元素都設置爲默認值,您的情況爲''
。由於列表按順序處理,因此未指定的元素必須是數組末尾的那些元素。
爲了做到這一點,您必須在代碼中編寫這些初始化。
var
Example: Array['a'..'z'] of String; // global variable
....
// and later in code
Example['a'] := ...;
Example['b'] := ...;
... etc.
當然,你可以在代碼中選擇你喜歡的任何元素。
如果您希望將初始化作爲程序啓動時間執行,那麼您必須調用initialization section的初始化代碼。
啊,好的。我認爲,自從'var'='','v','n','f'的數組[0..3]有效,可能有辦法挑出某些元素來初始化。 @Dejan也在下面提出了一個建議,我將嘗試。謝謝回覆! –
啊!我懂了。這是一個全局變量!我會稍微更新一下。出於某種原因,我在考慮局部變量。 –
這正是我需要的!我正在使用的愚蠢書沒有提及該部分......謝謝。 –