type
T =record
str1:string[10];
str2:string[5];
end;procedure TForm1.Button1Click(Sender: TObject);
var
tmpStr :string;
tmp:T;
tmpP1,tmpP2:PChar;
begin
tmpStr := 'zzzzz';
FillChar(tmp,sizeof(T),#0);
tmpP1 := @tmpStr[1];
tmpP2 := @(tmp.Str1[1]);
Move(tmpP1,tmpP2,5);
ShowMessage(tmp.str1);
end;tmp.str1中却没有任何数据,为什么MOVE没把数据复制过去?
T =record
str1:string[10];
str2:string[5];
end;procedure TForm1.Button1Click(Sender: TObject);
var
tmpStr :string;
tmp:T;
tmpP1,tmpP2:PChar;
begin
tmpStr := 'zzzzz';
FillChar(tmp,sizeof(T),#0);
tmpP1 := @tmpStr[1];
tmpP2 := @(tmp.Str1[1]);
Move(tmpP1,tmpP2,5);
ShowMessage(tmp.str1);
end;tmp.str1中却没有任何数据,为什么MOVE没把数据复制过去?
解决方案 »
- 想在messagebox上显示1,2,全部,取消四个按钮,能实现吗?
- 儿子出世,替他征个干妈 条件如下:
- 为什么我的信誉分在我每次结帖之后都会变少?why?
- thread里面用synchronize访问调用此thread的unit中的vcl组件的属性有时候取不到,是什么原因?
- 何解?????????????经验问题 经验问题 经验问题 ----当场给分
- 送分啦!!!!
- 怎么样在程序中用flash控件播放的动画全屏啊!(up有分)
- DEPHI 如何打开网页。
- 怎么得到一个目录下子目录的名字(但不包含子目录的子目录),并将子目录的名字放入listview中?
- DATABASE,代码值显示
- 如何关闭一个进程?
- 动态显示窗体
tmpStr :string;
tmp:T;
tmpP1,tmpP2:PChar;
begin
tmpStr := 'zzzzz';
FillChar(tmp, sizeof(T), #0);
tmpP1 := @tmpStr[1];
tmpP2 := @(tmp.Str1[0]);
Move(tmpP1^,tmpP2^,5);
tmp.str1 := TrimRight(tmp.str1);
ShowMessage(tmp.str1);
end;
iLen: Integer;
tmpStr :string;
tmp:T;
tmpP1,tmpP2:PChar;
begin
tmpStr := 'zzzzz';
FillChar(tmp, sizeof(T), #0);
tmpP1 := @tmpStr[1];
tmpP2 := @(tmp.Str1[1]);
iLen := Length(tmpStr);
tmp.Str1[0] := Chr(iLen);
Move(tmpP1^,tmpP2^, iLen);
tmp.str1 := TrimRight(tmp.str1);
ShowMessage(tmp.str1);
end;
是指针还是值?