procedure TForm1.Button1Click(Sender: TObject); function Test: pchar; begin result := pchar('aaaaaaaaaaa'); end; begin ShowMessage(Test); end;
与别的类型一样 别的怎么使 pchar就怎么使
function StrToPChar(Value: string): PChar; var i, l: integer; r: PChar; begin l := Length(Value); GetMem(r, l + 1); try for i := 0 to l - 1 do begin r[i] := Value[i + 1]; end; r[l] := #0; Result := r; finally FreeMem(r, l + 1); end; end;
var pc : PChar; ... GetMem(pc, strLen(Value) + 1); StrCopy(pc, PChar(Value)); ... FreeMem(pc) ;
Pchar 就相当于C++中的字符串数组。
同意楼上:) Pchar 与 Array of Char 同,只是 Pchar 地址可以改变,而 Array of Char 地址不能改变
function Test: pchar;
begin
result := pchar('aaaaaaaaaaa');
end;
begin
ShowMessage(Test);
end;
别的怎么使 pchar就怎么使
var
i, l: integer;
r: PChar;
begin
l := Length(Value);
GetMem(r, l + 1);
try
for i := 0 to l - 1 do
begin
r[i] := Value[i + 1];
end;
r[l] := #0;
Result := r;
finally
FreeMem(r, l + 1);
end;
end;
pc : PChar;
...
GetMem(pc, strLen(Value) + 1);
StrCopy(pc, PChar(Value));
...
FreeMem(pc) ;