名前 題名 ▼ takiさん > ▼ Mr.XRAYさん > > > (昔は,この手の質問がいっぱいあったんですよね --- 遠い目) > > マスター もう少しお付き合いください。 > > プリンタ関係のサンプルプログラムの記事を読み直してみて、分かったことも > 多くあるのですが、色々と混乱して分からなくなってしまいました。 > > 具体的な例にしての質問です。 > > パソコンに2台のプリンタが接続されています。 > インクジェットと連続帳票専用プリンタです。 > > 「通常使うプリンタ」(デフォルトのプリンタ) は、OSに登録(定義)されている > プリンタで、色々なアプリ(メモ帳、Word、Execl等)で印刷する時に自動で > 選択されているプリンタですね。 > インクジェットプリンタでプリンタ番号を2としてください。 > プロパティはA4用紙・縦です。 > > 連続帳票印刷アプリは連続帳票専用のプリンタを使います。 > 専用プリンタのプリンタ番号を3としてください。プロパティは連続用紙(かな?) > 連続帳票印刷アプリを起動直後は、OSの「通常使うプリンタ」のままではダメ > (無駄紙大量発生)なので、帳票印刷する前に使用するプリンタの変更が > 必要になります。 > > そのプリンタの変更を人間ができる場合は、「PrinterSetupDialog」でプリンタを > 連続帳票専用プリンタに変更すれば、プロパティも連続用紙に変わってくれる? > (多分)ので、後は印刷すれば良い事になります。 > > でも、通常は「無駄紙大量発生」を防ぐため、使用するプリンタの変更をアプリの > コードで行いますよね。 > > そのコードが > > Printer.PrinterIndex := 3; > // または > //Printer.PrinterIndex := Printer.Printers.indexof('OKI XXXX'); > // OKI XXXX は帳票プリンタの名前(仮称) > > Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode); > Printer.SetPrinter(ADevice, ADriver, APort, 0); > Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode); > // これで連続帳票専用プリンタ(仮称 OKI XXXX)に変更できたのでしょうか? > この時に、プロパティも連続用紙に変わっているのでしょうか? > > 無事に連続帳票の印刷が済んでアプリを終了したら、「通常使うプリンタ」は > インクジェットに戻っているのでしょうか?(上記コードはアプリ内だけ有効?) > > 自分で試せばいいのですが、プリンタが1台しかないもので…。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link