来自:joe_michael, 时间:2001-7-10 0:32:00, ID:585079
var
aStr:AnsiString;
PaStr
Char;
begin
aStr:='Hello';
PaStr:=Pchar(aStr);
Application.MessageBox(PaStr,'Hello',0);
end;
来自:杜宝, 时间:2001-7-10 0:50:00, ID:585085
?
String不就是Char数组吗?
var
s:String;
c:Char;
begin
s:='China'
c:=s[1]//c的值不就是'C'吗?
Label1.Caption:=format('%s',[c]);//试试吧!!!
end;
来自:panyongze, 时间:2001-7-10 7:18:00, ID:585107
杜宝说的对!
来自:枫, 时间:2001-7-10 10:12:00, ID:585167
你们只说了从char 转成string,如果我要把string 转成char的话,怎么办呢??
只能是这样?
var
s:string;//不大于65个字符
c:array[0.64] of char;
begin
for i:=0 to length(s) do
c
:=s[i+1];
end
to 杜宝
“String不就是Char数组吗?”
我的认为是,理解可以这样,但实际编程中它们是不一样的,你说呢?
to joe_michael
我需要的是char类型而不是PChar类型
来自:Jedei, 时间:2001-7-10 12:25:00, ID:585231
to 枫:
要把string 转成char的话,怎么办呢??
Easy !!!
CopyMemory(@C,@S[1],Length(S));
注意 S为AnsiString,如果是WideString请先转换成AnsiString
来自:枫, 时间:2001-7-10 12:39:00, ID:585237
to Jedei
你用的函数我在DELPHI里查不到,是否是API函数??
是否有此函数的说明,谢谢!!!
来自:Jedei, 时间:2001-7-10 13:01:00, ID:585255
该函数是Win Api,在Windows.Pas里
procedure CopyMemory(Destination: Pointer
Source: Pointer
Length: DWORD);
不过Borland用他自己的方法实现的。
the CopyMemory function copies a block of memory from one location to another.
VOID CopyMemory (
PVOID Destination, // address of copy destination
CONST VOID *Source, // address of block to copy
DWORD Length // size, in bytes, of block to copy
);
Return Values
This function has no return value.