33
A
回答
42
试试这个
Const
Elements =3;
MyArray : array [1..Elements] of string = ('element 1','element 2','element 3');
14
您可以使用动态数组,并尝试这个办法:
var
FMyArray: TArray<string>;
function MyArray: TArray<string>;
begin
if Length(FMyArray) = 0 then
FMyArray := TArray<string>.Create('One', 'Two', 'Three');
Result := FMyArray;
end;
虽然这并做一个动态数组的运行时初始化堆上,它还显示Delphi支持动态数组上的“伪构造函数”,允许就地初始化。 (注意:上面的代码不是线程安全的)。
现在您只需要使用Length()标准函数或查找允许的索引范围,就可以使用Low()和High()标准函数来查找数组长度。
如果您使用德尔福的旧版本,用自己的动态数组string类型取代在tarray如:
type
TStringArray = array of string;
32
在XE7你可以声明动态数组常量是这样的:
const
MyArray: TArray<String> = ['First','Second','Third'];
+5
这是一个漂亮的功能。几乎让我想升级! – 2014-11-11 15:56:00
+0
这节省了我的一天。谢谢。 – Eduardo 2017-07-26 21:54:05
0
您可以间接的方式做到这一点。创建这样一个功能:
procedure assignStringArray(var rasVelden: ArrayOfString; const asVeldenIn: Array Of String);
var
iLengte, iT1: Integer;
begin
iLengte := Length(asVeldenIn);
SetLength(rasVelden, iLengte);
for iT1 := iLengte-1 downto 0 do
rasVelden[iT1] := asVeldenIn[iT1];
end;
,并调用这个函数,如:
assignStringArray(asVelden, ['String1', 'String2', 'String3']);
其中:
asVelden: ArrayOfString;
相关问题
- 1. 如何从字符串常量创建一个char数组?
- 2. 从字符串创建一个数组
- 3. 试图从字符串数组中创建一个字符串
- 4. 如何创建一个'字符常量
- 5. 从多个整数数组创建一个字符串数组
- 6. 如何创建一个字符串数组增量?
- 7. 如何在Java中创建一个字符串向量数组?
- 8. 创建字符串数组
- 9. 用变量创建一个字符串
- 10. 创建一个字符串矢量:C++
- 11. 创建一个字符串的所有子串的数组
- 12. 创建一个从字符串命名变量或创建一个字符串从一个变量命名
- 13. 从字符串数组创建一个二维数组
- 14. Logstash从字符串创建一个数组数组
- 15. 从字符串中创建一个数组,然后在字符串中逐个创建一个
- 16. 从字符串数组中创建一个字符串。最快的方法?
- 17. 基于现有的字符串数组创建一个新的数组数组
- 18. 从字符串创建子串数组
- 19. PHP的问题 - 如何创建一个字符串的数组?
- 20. 计算字符串中的字符数并使用相同数量的字符创建另一个字符串
- 21. 从加入两个数组创建一个字符串
- 22. 创建指定数量的字符串
- 23. 用zeep创建一个字符串数组参数?
- 24. 如何从PHP创建一个JSON字符串数组数据
- 25. 创建一个字符数组malloc
- 26. 八度:如何创建一个由2个字符串和一个变量组成的字符串?
- 27. 如何创建一个没有值的字符串数组
- 28. 创建一个数组的字符串版本
- 29. 如何用C中的char数组创建一个字符串?
- 30. C++创建一个字符串::大小的数组
感谢,thow我是跳频避免使用元素,让德尔福计算数组的大小。 – none 2010-11-01 15:54:26
您可以避免元素不变,但您必须声明数组的大小。您可以使用“short form”数组[x],其中x是一个枚举类型,从该类型的第一个元素到最后一个元素创建一个数组。编译器不支持array [] =(1,2,3)计算数组大小并自动设置0..2边界。 – 2010-11-02 11:10:55
辉煌,所有这一次,我认为这是不可能的:D – 2015-02-05 03:18:20