在Delphi中怎样将string转换成char?(50分)

  • 主题发起人 主题发起人 plf22
  • 开始时间 开始时间
P

plf22

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中怎样将string转换成char?
 
前几天刚有人问过,你检索一下
 
来自:joe_michael, 时间:2001-7-10 0:32:00, ID:585079
var
aStr:AnsiString;
PaStr:PChar;
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.



 
杜宝说的对!谢谢
 
后退
顶部