向各位高手请教

wsf 2000-05-10 03:21:00
delphi中的move的例子如下:
var

A: array[1..4] of Char;
B: Integer;
begin
Move(A, B, SizeOf(B)); { SizeOf = safety! }
end;
以下是我写的例子:

function strLen(const str: string): integer;
var
len, mlen : integer;
begin
len := Length(str);

Move(str[5], mlen, sizeof(integer));

Result := mlen + 8;
end;

procedure TForm1.Button1Click(Sender: TObject);
var s: string;
i: integer;
begin
s:='123456789';
i:= msglen(s);
showmessage(inttostr(i));

end;
显示的结果让人看不懂,希望高手给予指点,此函数的含义和作用。谢了!!!

...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
DelphiX 2000-05-14
  • 打赏
  • 举报
回复
>a := #0#0#0#0;
如果a:array[1..100000] of char,那不是真个程序都是#0#0....

fillchar(a,4,#0);

Ardus 2000-05-11
  • 打赏
  • 举报
回复
这不自己跟自己较劲吗?Move(A,B,Len)是从地址A处拷贝Len个字节的东西到地址B处。
你的函数应该将'5678'字符串,Copy到一个整数空间中,
procedure TForm1.Button1Click(Sender: TObject);
var a : array[1..4] of char;
b : Integer;
begin
a := #0#0#0#0;
Move(a,b,4);
ShowMessage(IntTostr(b));
end;
将#0分别用'5','6','7','8'的Ascii码替换就明白了。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧