procedure TForm1.Button1Click(Sender: TObject);
var
pI : pinteger;
arrB:array[0..7]of integer;
begin
arrB[0]:=888;
arrB[1]:=777;
arrB[2]:=444;
arrB[3]:=333;
arrB[4]:=222;
pI := @arrB[0]; ShowMessage(IntToStr(Pi^)); // 888
ShowMessage(IntToHex(Integer(Pi), 8)); //0012F528 ShowMessage(IntToStr( Pinteger(Integer(Pi)+4)^ )); // 777
ShowMessage(IntToStr( Pinteger(Integer(Pi)+4*sizeof(Integer))^ )); // 222 Inc(pI,4); ShowMessage(IntToStr(Pi^)); // 222
ShowMessage(IntToHex(Integer(Pi), 8)); //0012F538
end;
解决方案 »
- 寻找一个符合要求的远程桌面工具(解决方案)
- delphi有没有 向java的Hibernate、c#的Castle这样的持久化数据库表的三方冬冬?
- 急招Delphi程序员。
- 如何让敲击回车来替代鼠标单击(意思是:我想直接按回车就让光标焦点跳到下一控件上)
- text数据字段显示问题?
- 如何让鼠标移到edit上时,edit里面的里面被选种?
- XP下关机问题
- web app debugger 类型的服务程序怎么发布?
- 关于DELPHI7的问题!
- VB中做报表经常用第三方控件,Delphi是不是就用自己带的最好呢?
- delphi 的 directx demo 在xp下面有错误,请大家帮忙看看
- delphi的Dockpanel停靠代码实现不了?
integer(i) 就是他的地址
edit1.Text:=inttostr((i+4)^); //这样为什么不行?delphi对指针类型要求比较严格, 如果是无类型指针便宜, 则必须强制转换指针类型
Inc(pinteger(i), 4) <==> pinteger(integer(i) + 4 * sizeof(integer));
intPtr: ^integer;
begin
Inc(IntPtr);//使 IntPtr 指向下一个Integer,4个字节之后
Inc(intPtr,3);//将 IntPtr 增加了 3 * sizeof(integer)) = 12 字节
end;