哪位大师能教我一下怎样调用API函数,如:midiOutGetDevCaps...

cmlzycm 2000-03-13 12:58:00
这个函数在:\borland\Borland Shared\MSHelp\mmedia.hlp 中.
...全文
152 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
929 2000-03-13
  • 打赏
  • 举报
回复
首先应把MMSYSTEM单元加入,然后进行调用。先用midiOutGetNumDevs获得系统所带设备数,再用midiOutGetDevCapS获得设备说明。我写了个程序试验了一下。
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,mmsystem;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
num:uint;
i:Cardinal ;
midi:MIDIOUTCAPS;
mhr:MMRESULT ;
begin
num:=midioutGetNumDevs;
if (num=0) then
begin
showmessage('no device');
exit;
end;
for i:=0 to num-1 do
begin
mhr:=midiOutGetDevCaps(i,@midi,sizeof(midi));
case mhr of
MMSYSERR_BADDEVICEID:
showmessage('bad');
MMSYSERR_INVALPARAM:
showmessage('invalid');
MMSYSERR_NODRIVER:
showmessage('nodriver');
MMSYSERR_NOMEM:
showmessage('nomem');
MMSYSERR_NOERROR:
begin
showmessage('The Driver version is'+midi.szPname );
end;

end;
end;
end;
end.
shuke 2000-03-13
  • 打赏
  • 举报
回复
难道直接写不行吗?
cmlzycm 2000-03-13
  • 打赏
  • 举报
回复
感谢你的回答,就是还有个请求,请你尽量详细的加一点注解行吗?因为我是个初...学者!(分我已经付了)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧