PDWORD类型的变量如何转换为整型(50分)

  • 主题发起人 主题发起人 zhanghl
  • 开始时间 开始时间
Z

zhanghl

Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用Win32 API的WaveOutGetVolume函数时,它的第二个参数
被声明为PDWORD类型,请问如何获得这种类型变量的高字和低字,
并将其转换为整型变量。谢谢。
 
兄弟,是不是这样?

PDWORD是pointer of Double word

procedure TForm1.Button1Click(Sender: TObject);
var
II : PDWORD;
HH,LL : integer;
begin
New(II);
II^ := 1012;
HH := Hi(II^);
LL := Lo(II^);
MessageDlg(IntToStr(HH)+','+IntToStr(LL),mtinformation,[mbYes],0);
Dispose(II);
end;
 
code as below:

var
ptrWord:PDWORD;
highInt,lowInt:Integer;


highInt:=HiWord(ptrWord^);
lowInt:=LoWord(ptrWord^);

 
一个DWORD是四字节的变量,而一个INTEGER也是四字节变量。可以这样用:
dw: DWORD;
pdw: PDWORD;
dw:=3;
pdw:=@dw;
WaveOutGetVolume(var1,pdw,var2...);
 
Var
aa:PDWORD;
bb:INTEGER;

BEGIN
...
bb=@aa;
...
END
 

Similar threads

回复
0
查看
987
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
911
SUNSTONE的Delphi笔记
S
后退
顶部