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];


以上是delphi7中需要的对象或类类型的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>