ホームページ  >  記事  >  バックエンド開発  >  Delphi 列挙デバイスの使用法コード_PHP チュートリアル

Delphi 列挙デバイスの使用法コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:54:121062ブラウズ

delphi 列挙デバイスの使用コード

delphi (2010、xe) には、directx 関連のユニット (...sourcertlwin) が既に付属しています。 -------------------------------------------------- ----------------------------------

//列挙関数

関数 directsoundenumerate(
lpdsenumcallback: tdsenumcallback; //コールバック関数
lpcontext: pointer //ユーザーポインター
): hresult; // エラーコードを返し、成功した場合は s_ok(0)
を返します。

//directsoundenumerate にはコールバック関数のプロトタイプが必要です:

tdsenumcallback = 関数(
lpguid: pguid; // デバイスの guid; lpcstrdescription: pchar; //デバイスの説明
lpcstrmodule: pchar; //モジュール識別
lpcontext: pointer //directsoundenumerate によって提供されるユーザー ポインター
): bool; // 列挙を続ける場合は true を返し、検索を続行しない場合は false を返します

------------------------------------------------- ----------------------------------

これは共通コードです:

-------------------------------------------------- ----------------------------------


ユニットユニット1;

インターフェース

用途

ウィンドウ、メッセージ、sysutils、バリアント、クラス、グラフィックス、コントロール、フォーム、

ダイアログ、stdctrls;

タイプ

tform1 = クラス(tform)

Listbox1: tlistbox; // フォーム上にリストボックスを 1 つだけ配置します
プロシージャ formcreate(sender: tobject);
終わり;

変数

フォーム1: tform1;


実装

{$r *.dfm}

ダイレクトサウンドを使用します。 //!

関数 enumcallback(lpguid: pguid; lpcstrdescription, lpcstrmodule: pchar;

lpcontext: ポインタ): stdcall;

; 始まります
form1.listbox1.items.add(lpcstrdescription);
結果 := true;
終わり;

プロシージャ tform1.formcreate(送信者: tobject);

始まります

directsoundenumerate(enumcallback, nil);
終わり;

終わり

------------------------------------------------- ----------------------------------

コールバック関数内でフォームコントロールを直接使用するのは良くありません:

-------------------------------------------------- ----------------------------------


ダイレクトサウンドを使用します;

関数 enumcallback(lpguid: pguid; lpcstrdescription, lpcstrmodule: pchar;

lpcontext: ポインタ): stdcall;

; 始まります
tstrings(lpcontext).add(lpcstrdescription);
結果 := true;
終わり;

プロシージャ tform1.formcreate(送信者: tobject);

始まります

directsoundenumerate(enumcallback, listbox1.items);
終わり;

------------------------------------------------- ----------------------------------

詳細情報を入手:

-------------------------------------------------- ----------------------------------


ダイレクトサウンドを使用します;

関数 enumcallback(lpguid: pguid; lpcstrdescription, lpcstrmodule: pchar;

lpcontext: ポインタ): stdcall;

; 始まります
if lpguid <> then tstrings(lpcontext).add(guidtostring(lpguid^));
tstrings(lpcontext).add(lpcstrdescription);
if lpcstrmodule <> then tstrings(lpcontext).add(lpcstrmodule);
tstrings(lpcontext).add(emptystr);
結果 := true;
終わり;

プロシージャ tform1.formcreate(送信者: tobject);

始まります

directsoundenumerate(enumcallback, listbox1.items);
終わり;

http://www.bkjia.com/PHPjc/632336.html

本当http://www.bkjia.com/PHPjc/632336.html技術記事 Delphi 列挙デバイスの使用コード 現在の Delphi (2010, xe) には、独自の directx 関連ユニット (...sourcertlwin) があります。 -- --------------------------------------...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。