真正的难题:指针! var i: integer; p: PChar;和C一样方便!procedure Test;begin i:=1; (PChar(@i) + 1)^ := #1; // 现在的 i = 257 { $0101 }end; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请看一看《Delphi 2 程序设计大全》(Charlie calvert著)这本书的前几章,定会有收获。 var i:integer; p:pointer; pint:^integer;begin p:=AllocMem(255); pint:=p; pint^:=5; //给第一个integer单元赋值 pint:=pointer(integer(p)+4);//移到第二个integer单元 pint^:=6;//给第二个integer单元赋值 pint:=p; caption:= inttostr(pint^);//显示第一个单元的内容 Freemem(p);end; 把指针当数组用是一个很不好的习惯,很容易在运行期间越界。在C++里面也应该尽量避免。如果一定要用,Delphi里面可以这样:type TCardinals = array [0..MaxListSize-1] of Cardinal; // 这个数组尺寸不能超过2G Byte PCardinals = ^TCardinals;var pSomeValue: PCardinals;procedure SomeFun;begin GetMem(pSomeValue, SizeOf(Cardinal) * 256); pSomeValue[0] := 256; pSomeValue[255] := 0;end; Delphi 遍历文件夹后无法删除问题。 如何给flash文件加密? 初學者怎麽去理解多線程技術!又該怎麽去學習使用多線程!希望高手用通俗的語言描述一下!! delphi的前景? 请问大家,这个报表该如何写? 有关ehlib调试 动态创建组件问题 重新画dbgrid 菜鸟问题,如果一个字符串超过string的最大长度,用什么对象存储? 如何模拟键盘响应pageup和pagedown事件? 是英雄就来....... icq的用户列表
i:integer;
p:pointer;
pint:^integer;
begin
p:=AllocMem(255);
pint:=p;
pint^:=5; //给第一个integer单元赋值
pint:=pointer(integer(p)+4);//移到第二个integer单元
pint^:=6;//给第二个integer单元赋值
pint:=p;
caption:= inttostr(pint^);//显示第一个单元的内容
Freemem(p);
end;
TCardinals = array [0..MaxListSize-1] of Cardinal; // 这个数组尺寸不能超过2G Byte
PCardinals = ^TCardinals;var
pSomeValue: PCardinals;procedure SomeFun;
begin
GetMem(pSomeValue, SizeOf(Cardinal) * 256);
pSomeValue[0] := 256;
pSomeValue[255] := 0;
end;