本文整理自网络,侵删。
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开始的。
相关阅读 >>
incyear:将一个tdatetime变量加减一定数量的年数
[译]rad studio 10.4 新变化:面向控件的 vcl 样式管理
更多相关阅读请进入《Delphi》频道 >>