看流星社区

 找回密码
 注册账号
查看: 2753|回复: 2

[Delphi] 请懂的朋友帮看看这个函数的返回值为什么只能取第一个字

[复制链接]

该用户从未签到

发表于 2011-4-2 10:07:56 | 显示全部楼层 |阅读模式
Function Tform1.GW():WideChar;
var
  XID,a,b:PDWORD;                  // XID为当前选定怪物的ID
  GWName:PWideChar;           //这个定义的是怪物的名字
begin
  a:=Pointer(GameBase);
  a:=Pointer(a^+$1C);
  XID:=Pointer(a^+$24);
  XID:=Pointer(XID^+$974);
    begin
      b:=Pointer(a^+$8);
      b:=Pointer(b^+$20);
      b:=Pointer(b^+$18);
      b:=Pointer(b^+4*(XID^ mod $301));
      b:=Pointer(b^+$4);
      b:=Pointer(b^+$274);
      GWName:=Pointer(b^);
      Result:=GWName^;
end;

procedure TForm1.Button22Click(Sender: TObject);
begin
  Edit1.Text:=GW();                     //编辑框里只显示了怪物名字的第一个字
end;


请朋友们帮我看看怎么取到完整的怪物名??

该用户从未签到

发表于 2011-4-2 10:08:06 | 显示全部楼层
返回值是WideChar(宽字符型) 字节数2个.正好一个汉字.
估计这个要修改返回值类型.

该用户从未签到

发表于 2011-4-2 10:08:14 | 显示全部楼层
这里改一下试试:
GWName:array[0..16]of widechar;//怪物名字
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-20 03:38

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表