Hi, 關於 pointer, 在 c/c++ 是很常見的用法, 但在 delphi 是確實比較少用, 不過 delphi 中也是可以用的, 而且也很方便, 只要注意一下 ^ 及 @ 的意義即可. 在 delphi中要用 pointer 得先宣告原型, 如 Integer 的 pointer 定義為 ^Integer, 我們先定義 ^Integer 為 PInteger, 接下來, 便可以宣告變數 pInt 為 PInteger 型態, 以下為例子,
type
PInteger = ^Integer;
...
var
pInt : PInteger;
i: Integer;
begin
i := 5;
pInt := @i;
pInt^ := 10;
ShowMessage(IntToStr(i));
end;
上面 pInt 為一個指向 Integer 的指針(指標, pointer), 我們先將其設為 i 的位址, 所以會用到 @ 符號, 將 i 的位址傳給 pInt, 如此一來便能用 pInt^ 來代表 i 囉, 如後面的程序所示, 將 pInt^ 設為 10 後, 再 show 出 i 就變為 10 囉!