FreeBASIC マニュアルのトップに戻る

FreeBASIC OpenLpt

目次→実行時ライブラリー参考→ファイル入出力関連OPEN LPT←オリジナル・サイト

OPEN LPT 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

印刷装置を開き、ファイル操作のように使います。

構文:
Open Lpt ["[LPT[x]:][Printer_Name][,TITLE=Doc_Title][,EMU=TTY]"] [For Input|Output] as #filenumber

用法:
Open Lpt "LPT..." as [#]filenumber
または
result = Open Lpt( "LPT..."[,] as [#]filenumber )

パラメタ:
x
ポート番号を指定します。 省略すると、システム印刷スプーラに出力を送ります。
Printer_Name
開ける印刷機の名前。 このパラメタは DOS で無視されます。
TITLE=Doc_Title
印刷スプーラが見る、印刷仕事のタイトル。
このパラメタは DOS で無視されます。
EMU=TTY
ドライバー・テキスト・イメージを使った、ウィンドウ GDI(graphics device interface) 印刷機上での、TTY(Tele-TYpewriter:印刷電信機:コンピューターからの出力を印字する装置)出力のエミュレーション。
このパラメタは、DOS とリナックスでは、無視されます。
For Input|Output
この文節は、互換性のために許容されていますが、無視されます。
filenumber
装置に割り当てる、未使用のファイル番号。

戻り値:
32 bit Long を返します
Open Lpt が首尾よく完了したら、ゼロ 0 を返します。さもなければ、失敗を示す非ゼロ値を返します。

記述:
Open Lpt は、印刷装置に接続を開きます。
接続は、ファイルのように扱われます。データは、PrintPut # 命令を使ってプリンタに書かれます。

システムに取り付けられた全てのプリンタは、Open Lpt で開けられます。

Open Lpt "LPT:"... で、Windows とリナックスのデフォルト・プリンタを開けます。DOS では、"LPT1:" を使います。

Lprint は、Windows とリナックスで自動的にデフォルト・プリンタを開けようとします。DOS では、"LPT1:" を使います。

Open Lpt が返すエラーコードは、次の行の Err を使ってチェックできます。 関数バージョンの Open Lpt は、エラー・コードを直接 32 bit Long で返します。

プラットホーム特定の注意:
Windows
引数 EMU=TTY は、印刷可能な ASCII か Unicode テキストを仮定します。そして、入力に、プリンタ・ドライバ・テキスト・イメージングを適用します。
また、EMU=TTY は、CR、LF、BS、TAB、FFなどの、仮想の印字ヘッド運動のための用法を許容します…
印刷機が GDI プリンターで、したがってこれらの特殊文字をそれ自身で理解しない時も同様です。
",EMU=TTY" を省略すると、プリンタの言語(ESC/P、HPGL、PostScriptなど)でデータを送らなければなりません。
他の有用なエミュレーション・モードは、まだサポートされていません。

Linux
名前、あるいはデフォルト・プリンタによって、プリンタにアクセスするために、lp によって利用可能なプリンタ・スプーラをインストールしなければなりません。
スプーラ・アクセスは、CUPS(the Common Unix Printing System) でのみテストされました。しかし、lpによって起動される他のスプーラでも働くかもしれません。
ポートは、Linux では、0 ベースです。 "LPT1:" は、"/dev/lp0" に対応しています。

データは、プリンタの言語(ESC/P、HPGL、PostScriptなど)で送らなければなりません。 エミュレーション・モードは、まだサポートされていません。

DOS
FreeBASIC は、DOSでプリント・スプーラをサポートしません。
プリンタは、"LPTx:" を通して、アクセスします。

データは、プリンタの言語(ESC/P、HPGL、PostScriptなど)で送らなければなりません。
エミュレーション・モードはまだサポートされていません。

例:
' LPT1: 上のWindowsプリンタに、文字列を送ります。ドライバー・テキスト・イメージを使います。
Open Lpt "LPT1:EMU=TTY" For Output  As #1
Print #1, "Testing!"
Close


'"ReceiptPrinter"という名前の Windows プリンタに、テキスト・ファイル test.txt の内容を送ります
'渡辺の場合は、"Brother MFC-410CN USB Printer" で印刷できました。
Dim RptInput As String
Dim PrintFileNum As Long, RptFileFileNum As Long

RptFileFileNum = FreeFile
Open "test.txt" For Input As #RptFileFileNum

PrintFileNum = FreeFile
'Open Lpt "LPT:Brother MFC-410CN USB Printer,TITLE=ReceiptWinTitle,EMU=TTY" As _
Open Lpt "LPT:ReceiptPrinter,TITLE=ReceiptWinTitle,EMU=TTY" As _
    #PrintFilenum

While (EOF(RptFileFileNum) = 0)
        Line Input #RptFileFileNum, RptInput
        Print #PrintFileNum, RptInput
Wend

Close #PrintFileNum  ' 面白いことに、CHR(12)を必要としません。
      ' しかし、ページ付けしたい場合は、CHR(12)がその方法です。

Close #RptFileFileNum

Print "何かキー入力して下さい。プログラムを終了します。"
GetKey

End



'この簡単なプログラムは、ポストスクリプト互換プリンタに、ポストスクリプト・ファイルを印刷します。
Dim As Long FFI, PPO
Dim As String temp

FFI = FreeFile ()
Open "sample.ps" For Input Access Read As #FFI
PPO = FreeFile ()
Open Lpt "LPT1:" For Output As #PPO
While (EOF(FFI) = 0)
Line Input #FFI, temp
Print #PPO, temp
Wend

Close #FFI
Close #PPO

Print "Printing Completed!"



方言差:

参照:

ファイル入出力関連に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2023-06-24 13:55:51
日本語翻訳:WATANABE Makoto、原文著作者:AntoniGual

ホームページのトップに戻る

表示-非営利-継承