数组的内存读取方式

jowers 2010-02-25 09:38:39
var p:array of pbyte;
i:integer;
begin
p:=pointer($400000);
for i := 1 to 10 do
begin
(p)^(i); //这里编译不过去
//pbyte(p)^[i]; //这里也编译不过去
end;
//smemo1.Lines.Add(pbyte(p)^[i]);
end;


我想要的是从$400000开始 读出15个字节,显示到memo 上面。不知道怎么写。请教下。

...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2010-02-25
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
p:pbyte;
i:integer;
c:byte;
begin
p:=pbyte($400000);
for i := 1 to 10 do
begin
c:=p^;
inc(p);
Memo1.Lines.Add(inttohex(c,2));
end;

end;
yinjingxin3000 2010-02-25
  • 打赏
  • 举报
回复
var
p:array of pbyte;
i:integer;
p2:Pbyte;
p3 : array[0..9] of byte;
s:string;
begin
s := 'dkddkfjkdfjsklfjksajfksajfskdjfdsf';
fillchar(p3,10,0);
p2 := pointer(pchar(s));
for i := 0 to 9 do
begin
p3[i] := p2^;
inc(p2);
end;
//smemo1.Lines.Add(pbyte(p)^[i]);

end;
jowers 2010-02-25
  • 打赏
  • 举报
回复
怎么没有人回答啊。晕倒。

5,388

社区成员

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

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