看板 Programming 關於我們 聯絡資訊
pa, pb: pointer; i,j: integer; begin i:=2; pa := @i; // 取 i 位址給 pa pb := pa; // 把 pa 給 pb pb := @j; // pb 設成 j 位址 j := integer(pa^); // i 放入 j integer(pa^) := 20; // 20 放入 i integer(pb^) := integer(pa^); // i 放入 j 問題來了,如果 pa 今天指向 #$402000 的位址, 那我要以 pa 當 base address 要移動 20 個 bytes 要怎麼移 j := integer( pointer(pa)+Pointer(20) ); ------------ ex: 要寫下面的種東西, 在 c 裡面我會用,但在 delphi 裡面,還不知怎麼弄 XD {CopyMemory(Pointer(@Buffer),Pointer(LongInt(FMemory)+FUseableStartPos+FPosit\ ion),Result);} Move(pView^, ImgDosHeader, sizeof(IMAGE_DOS_HEADER)); Move(pView^ + Pointer(ImgDosHeader._lfanew)^, ImgNtHeaders, sizeof(IMAGE_NT_HEADERS)); -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.108.188
zha0:XD 自問自答 Move(Pointer(Longint 124.8.108.188 02/15 01:22