{{include unfinished_page}} ,{t},{BSIZE:1 0|SIZE:100%} ,{BSIZE:0}←[[20章 ダイアログマネージャ]] ,{BSIZE:0|RIGHT}[[22章 オーバーレイの使い方]] →  この章では、今まで解説した以外のマネージャの各ファンクションについて説明します。その他のマネージャとしては、以下のものがあります。 * システムマネージャ * キーマップマネージャ * サウンドマネージャ * メモリマネージャ * プリントマネージャ !!21.1 ファンクション一覧  その他のマネージャには、以下のファンクションがあります。 !!21.2 ファンクションの説明  以下では、その他のマネージャの各ファンクションについて説明します。 !21.2.1 表記法  ファンクションの説明では、次のように表記します。 !21.2.2 システムマネージャ  システムマネージャは、どのマネージャにもあてはまらないルーチン群です。 !21.2.3 キーマップマネージャ  キーマップマネージャは、キーマップを管理するマネージャです。 !21.2.4 サウンドマネージャ  サウンドマネージャは、PCMの録音・再生を管理するマネージャです。 !21.2.5 メモリマネージャ  メモリマネージャは、メモリを管理するマネージャです。 !21.2.6 プリントマネージャ  プリントマネージャは、プリンタ出力を管理するマネージャです。プリンタマネージャは、指定されたデータをプリンタドライバに私、プリンタドライバが、本体に接続されているプリンタに応じたプリンタ制御コマンドをプリンタに送ります。 !21.2.7 プリンタドライバ  プリンタドライバとは、プリンタとアプリケーションの間に入り、どのようなプリンタが接続されているかを、アプリケーションが意識しなくても印刷できるようにするためのオーバーレイプログラムです。  プリンタドライバはプリンタごとに用意され、ユーザーが「プリンタ.DA」を使用して、接続されたプリンタ用のドライバを設定します。  アプリケーションが_pd()を実行すると、現在設定されているプリンタドライバが呼び出されるので、どのプリンタが接続されているか(どのプリンタドライバが設定されているか)をアプリケーションは意識しないで印刷することができます。 !21.2.8 プリンタドライバの変更  _chpd()により、アプリケーションプログラムから、どのプリンタドライバを使用するかを設定できます。しかし、通常は「プリンタ.DA」によってユーザーが設定するので、むやみに変更してはいけません。 !21.2.9 プリンタドライバの呼び出し  プリンタドライバを呼び出すには_pd()を使います。_pd()には機能番号を渡して、どのような処理をするかを指定します。機能番号とその内容は以下のとおりです。 '''表3.35 プリンタドライバの機能番号''' ,{t},{BSIZE:2 0} ,{c},{BSIZE:1 0},{BSIZE:1 0},{BSIZE:1 0} ,機能番号,名前,処理内容 ,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0} ,0,PD.INIT,プリンタドライバの初期化 ,1,PD.OPEN,プリンタの印刷開始宣言 ,2,PD.CLOSE,プリンタの印刷終了宣言 ,3,PD.PRINT,印刷の実行 ,4,PD.MENU,用紙の設定 ,5,PD.START,開始ページ、終了ページ、印刷枚数の設定 ,6,PD.PAGE,印刷開始メッセージの表示  アプリケーションは以下の手順で印刷します。 +PD.INITでプリンタドライバを初期化します。 +PD.MENUで用紙を設定します。PD.MENUでは、プリンタドライバがダイアログを表示し、ユーザーの設定を記憶します。用紙の設定は、アプリケーションのメニューで印刷の前に行なってもかまいません。 +PD.STARTで開始ページ、終了ページ、印刷枚数を設定します。PD.MENUでは、プリンタドライバがダイアログを表示し、ユーザーの設定を記憶します。 +PD.PAGEで用紙セットのメッセージを表示します。 +PD.OPENで印刷の開始を宣言します。 +PD.PRINTでで印刷を実行します。印刷開始ページや終了ページ、印刷枚数などはアプリケーションが_printinfo()を呼び出してPRINT構造体へのポインタを取得し、構造体内部のstartp、endp、copyを調べて決定します。構造体内部のoptの最下位ビットが1のときは、カットしの設定になっているので、アプリケーションは1ページ印刷するごとに、PD.PAGEを呼び出して用紙のセットの表示をしなくてはなりません。 +PD.CLOSEで印刷の終了を宣言します。  プリンタドライバの各機能について、以下で説明します。 '''表3.36 プリンタドライバの機能''' ,{t},{BSIZE:2 0} ,{c},{BSIZE:1 0},{BSIZE:1 0} ,名前,機能 ,{c},{BSIZE:0},{BSIZE:0} ,PD.INIT,プリンタドライバを初期化します。MSXViewカーネル内部にあるプリンタ用のワークエリアを、プリンタドライバが持っている値で初期化します。_pd()は正しく初期化できた場合OKを、初期化できなかった場合OK以外を返します。 ,PD.OPEN,印刷の開始を宣言します。プリンタをリセットし、印刷ができる状態にします。_pd()は印刷が可能になったらOKを返します。プリンタ接続されていなかったり、プリンタがオンラインでなかったり、用紙がなかったりしたら、OK以外を返します。 ,PD.CLOSE,印刷の終了を宣言します。_pd()は正しく終了できた場合にOKを、終了できなかった場合OK以外を返します。 ,PD.PRINT,印刷を行ないます。PRINT構造体のbuffで示されるバッファの内容を解釈し、プリンタの制御コードに変換してプリンタに送ります。buffは、通常はMAILを示しています。MAILは080H〜0FFH番地までの128バイトしかないので、アプリケーションがもっと多くのデータを一度にいんさつしたいときは変更することができます。変更するときは、buffの示す番地がプリンタドライバと重ならないように十分大きくなければなりません。変更したときは、印刷が終了したらbuffがMAILを示すように戻してください。データの終わりは00Hをおきます。印刷中にGRAPH+STOPが推されると、印刷を中断してアプリケーションに戻ります。_pd()は、印刷が正常に終了したらOKを、途中で中断されたらOK以外を返します。 ,PD.MENU,用紙の設定をユーザーが行ないます。プリンタドライバがダイアログを表示し、ユーザーの設定を_printinfo()が返す構造体へのポインタで示される領域に記憶します。設定される値(PRINT構造体内部)は以下のとおりです。用紙の設定は、アプリケーションのメニューなどで印刷の前に行ってもかまいません。_pd()は、設定されたら0を、中止されたら1を返します。 ,PD.START,開始ページ、終了ページ、印刷枚数を設定します。プリンタドライバがダイアログを表示し、ユーザーの設定を_printinfo()が返す構造体へのポインタで示される領域に記憶します。設定される値(PRINT構造体内部)は以下のとおりです。_pd()は、設定されたら0を、中止されたら1を返します。 ,PD.PAGE,用紙セットのメッセージを表示します。プリンタドライバは、「用紙をセットしてRETキーを押して下さい」と表示してリターンキーが押されるのを待ちます。_pd()はRETキーが押されたら0を、ESCキーが押されたら0以外を返します。 ,{t},{BSIZE:1 0|SIZE:100%} ,{BSIZE:0}←[[20章 ダイアログマネージャ]] ,{BSIZE:0|RIGHT}[[22章 オーバーレイの使い方]] →