我有一个数组,我希望将数组的一部分的值赋给一个字符串,但是,我收到一个错误:
左侧无法分配到
当我这样做时:
(s):=(Array[1]);
有谁知道如何解决这个问题?
答案 0 :(得分:3)
这是我测试的所有32/64位Delphi版本的功能(或错误?)。即使是最小的完整程序,如
program test;
var
s: string;
begin
(s) := 'a';
writeln(s);
end.
如果没有此错误,将无法编译。 Turbo / Borland,Virtual或Free Pascal没有问题(即使在Delphi模式下)。我假设Delphis将(s)
视为一个表达式,它可以具有值,但您不能为其分配值。
当然,如果你写s := 'a';
Delphi按预期工作。
顺便说一句:我认为这是一个坏习惯,你在变量和表达式周围放置了多余的()
。
答案 1 :(得分:1)
很抱歉在这里碰到一个旧线程,但我相信你应该先声明你的阵列。
如果变量Array
被视为字符串,那么Array[1]
的输出将是该字符串的第一个字符。
答案 2 :(得分:0)
试试这个代码......
Var
myVar : Integer;
myArray : Array[1..5] of Integer;
Begin
myArray[2] := 25;
myVar := myArray[2];
End.