Delphi 将string 转为 Array of AnsiChar的简单方法如下:
procedure TMainForm.BitBtn7Click(Sender: TObject);
var
Str:string;
SN: Array [0..7] of AnsiChar;
PC:PChar;
I:Integer;
begin
Str := '66778899';
PC :=PChar(Str);
for I := 0 to Length(Str) - 1 do
begin
SN[I] := AnsiChar(PC[I]);
end;
end;
即先将string转为PChar,再通过循环将PChar转为Array of AnsiChar。
或者如下:
procedure TMainForm.BitBtn7Click(Sender: TObject);
var
Str:string;
SN: Array [0..7] of AnsiChar;
I:Integer;
begin
Str := '66778899';
for I := 0 to Length(Str) - 1 do
begin
SN[I] := AnsiChar(Str[I+1]);
end;
end;
因为string是从下标1开始的。