var
aa:array[0..9] of AnsiChar;
bb:PAnsiChar;
bb2:AnsiString;
dd:AnsiString;
begin
aa[0]:='a';
aa[1]:='B';
aa[2]:=#0;
aa[3]:=#188;
aa[4]:='A';
aa[5]:='a';
aa[6]:='b';
aa[7]:='c';
aa[8]:=#0;
aa[9]:=#0;
bb:= getmemory(length(aa));
moveMemory(bb,@aa,length(aa));
bb2:=StrPas(bb);
ShowMessage(bb2);
freeMemory(bb);
bb:=AnsiStrAlloc(10+1); //结尾有#0标记
CopyMemory(bb,@aa[0],10);
ShowMessage(bb);
StrDispose(bb);
New(bb);
CopyMemory(bb,@aa[0],10);
bb2:= StrPas(bb);
ShowMessage(bb2);
Dispose(bb);
SetLength(dd,10);
CopyMemory(@dd[1],@aa[0],10);
ShowMessage(widestring(dd));
//PAnsiChar以0判断是否结束 所以显示的是aB