delphi7中需要的对象或类类型
我尝试将字符串值转换为字符数组。我写下面的代码但得到错误
[错误] Unit1.pas(35):需要记录、对象或类类型
在这一行部分 a := s.ToCharArray;
procedure TForm1.Button1Click(Sender: TObject);
var
a: array of char;
s: String;
begin
s:= Edit1.Text;
a := s.ToCharArray;
end;
什么是问题?
回答
在 Delphi 7 中没有字符串助手,因此您会遇到编译错误。改用这个
SetLength(a, Length(s));
Move(Pointer(s)^, Pointer(a)^, Length(s) * SizeOf(s[1]));
现在,SizeOf(s[1])是1在Delphi 7这样的乘法不是严格必要的,但它确实意味着,如果有的话,你移动到一个Unicode德尔福您的代码将正常工作。
或者,如果Move您不喜欢使用 ,请使用循环来复制字符
SetLength(a, Length(s));
for i := 1 to Length(s) do
a[i - 1] := s[i];