4.4. IDisplayCommandBuilder
added in version 1.3.0
カスタマーディスプレイ制御用コマンドを生成する機能を提供するインターフェイスです。
本インターフェイスは、カスタマーディスプレイに対応しているモデル専用です。 対応しているモデルは 対応外部機器 を参照ください。
列挙体
名称
説明
国際文字指定定数
コードページ指定定数
カーソルモード指定定数
コントラストモード指定定数
プロパティ
名称
説明
生成、追加されたコマンド列の先頭にプリンタへのパススルーコマンドが追加されたコマンド列です。
メソッド
名称
説明
データ(テキストやコマンド)をコマンドバッファに追加します。
バックスペースコマンドを生成し、コマンドバッファに追加します。
水平タブコマンドを生成し、コマンドバッファに追加します。
ラインフィードコマンドを生成し、コマンドバッファに追加します。
キャリッジリターンコマンドを生成し、コマンドバッファに追加します。
グラフィック表示コマンドを生成し、コマンドバッファに追加します。
国際文字指定コマンドを生成し、コマンドバッファに追加します。
コードページ指定コマンドを生成し、コマンドバッファに追加します。
画面を行末までクリアするコマンドを生成し、コマンドバッファに追加します。
画面をクリアするコマンドを生成し、コマンドバッファに追加します。
カーソルをホームポジションに移動するコマンドを生成し、コマンドバッファに追加します。
バックライトをオン・オフするコマンドを生成し、コマンドバッファに追加します。
カーソルを指定された位置に移動するコマンドを生成し、コマンドバッファに追加します。
カーソルモード変更コマンドを生成し、コマンドバッファに追加します。
コントラストモード変更コマンドを生成し、コマンドバッファに追加します。
ユーザー定義文字(SBCS)登録コマンドを生成し、コマンドバッファに追加します。
ユーザー定義文字(DBCS)登録コマンドを生成し、コマンドバッファに追加します。
コマンドバッファ(生成したコマンド)を取得します。
4.4.1. DisplayInternationalType
added in version 1.3.0
国際文字指定定数です。
宣言
public enum DisplayInternationalType { USA, France, Germany, UK, Denmark, Sweden, Italy, Spain, Japan, Norway, Denmark2, Spain2, LatinAmerica, Korea }
定数
名称
説明
USA
アメリカ
France
フランス
Germany
ドイツ
UK
イギリス
Denmark
デンマーク
Sweden
スウェーデン
Italy
イタリア
Spain
スペイン
Japan
日本
Norway
ノルウェー
Denmark2
デンマークII
Spain2
スペインII
LatinAmerica
ラテンアメリカ
Korea
韓国
4.4.2. DisplayCodePageType
added in version 1.3.0
コードページ指定定数です。
宣言
public enum DisplayCodePageType { CP437, Katakana, CP850, CP860, CP863, CP865, CP1252, CP866, CP852, CP858, Japanese, SimplifiedChinese, TraditionalChinese, Hangul }
定数
名称
説明
CP437
CodePage437 (USA, Std. Europe)
Katakana
Katakana
CP850
PC850 (Multilingual)
CP860
PC860 (Portuguese)
CP863
PC863 (Canadian-French)
CP865
PC865 (Norwegian)
CP1252
WPC1252
CP866
PC866 [Cyrillic #2]
CP852
PC852 [Latin 2]
CP858
Page 19 [PC858]
Japanese
Japanese font (shift JIS)
SimplifiedChinese
Simplified Chinese (GB2312)
TraditionalChinese
Traditional Chinese (Big5)
Hangul
Hangul (KSC5601)
4.4.3. DisplayCursorMode
added in version 1.3.0
カーソルモード指定定数です。
宣言
public enum DisplayCursorMode { Off, Blink, On }
定数
名称
説明
Off
カーソル消灯
Blink
カーソル点滅
On
カーソル点灯
4.4.4. DisplayContrastMode
added in version 1.3.0
コントラストモード指定定数です。
宣言
public enum DisplayContrastMode { Minus3, Minus2, Minus1, Default, Plus1, Plus2, Plus3 }
定数
名称
説明
Minus3
コントラスト マイナス3
Minus2
コントラスト マイナス2
Minus1
コントラスト マイナス1
Default
デフォルト
Plus1
コントラスト プラス1
Plus2
コントラスト プラス2
Plus3
コントラスト プラス3
4.4.5. PassThroughCommands
added in version 1.3.0
コマンドバッファ(生成したコマンド)の先頭にプリンタへのパススルーコマンドが追加されたコマンド列を取得します。
宣言
public IBuffer PassThroughCommands { get; }
引数
なし
戻り値
説明
型
コマンドバッファ(生成したコマンド)
IBuffer
実装例
public static void AppendTextPattern(IDisplayCommandBuilder builder, int number) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); byte[] pattern1 = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47 }; builder.AppendBytes(pattern1); builder.PassThroughCommands; }
DisplayFunction.cs/ DisplaySamplePage.xaml.cs/ DisplayExtSamplePage.xaml.cs を参照ください
4.4.6. AppendData
added in version 1.3.0
データ(テキストやコマンド)をコマンドバッファに追加します。
宣言
void AppendData(IBuffer otherData) void AppendByte(byte data) void AppendBytes(byte[] bytes)
引数
名称
説明
型
otherDatadatabytesデータ(テキストやコマンド)
IBufferbytebyte[]戻り値
なし
実装例
public static void AppendTextPattern(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); byte[] pattern1 = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47 }; builder.AppendBytes(pattern1); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.7. AppendBackSpace
added in version 1.3.0
バックスペースコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendBackSpace();
引数
なし
戻り値
なし
4.4.8. AppendHorizontalTab
added in version 1.3.0
水平タブコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendHorizontalTab();
引数
なし
戻り値
なし
4.4.9. AppendLineFeed
added in version 1.3.0
ラインフィードコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendLineFeed();
引数
なし
戻り値
なし
4.4.10. AppendCarriageReturn
added in version 1.3.0
キャリッジリターンコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendCarriageReturn();
引数
なし
戻り値
なし
4.4.11. AppendBitmapAsync
added in version 1.3.0
グラフィック表示コマンドを生成し、コマンドバッファに追加します。
宣言
IAsyncAction AppendBitmapAsync(Windows.Graphics.Imaging.BitmapDecoder bitmapDecoder)
引数
名称
説明
型
bitmap
表示したいイメージ横 160dot、縦 40dotのモノクロBitmapクラスのインスタンスを指定してください。異なるサイズのBitmapが指定された場合、横 160dot、縦 40dotにリサイズされます。Bitmapの各ピクセルの色は自動でモノクロ2値に変換されます。Windows.Graphics.Imaging.BitmapDecoder
戻り値
なし
実装例
public static async Task AppendGraphicPattern(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); BitmapDecoder bitmapDecoder = null; bitmapDecoder = await CreateDisplayImageAsync("DisplayImage1.png"); await builder.AppendBitmapAsync(bitmapDecoder, true); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.12. AppendInternational
added in version 1.3.0
国際文字指定コマンドを生成し、コマンドバッファに追加します。
宣言
void AppendInternational(DisplayInternationalType internationalType);
引数
名称
説明
型
internationalType
国際文字指定定数
戻り値
なし
実装例
public static void AppendCharacterSet(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); builder.AppendInternational(DisplayInternationalType.USA); builder.AppendCodePage(DisplayCodePageType.Japanese); byte[] pattern1 = { 0x2d, 0x20, 0x20, 0x20, 0x23, 0x24, 0x40, 0x5b, 0x5c, 0x5d, 0x5e, 0x60, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x20, 0x20, 0x2d, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3 }; builder.AppendBytes(pattern1); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.13. AppendCodePage
added in version 1.3.0
コードページ指定コマンドを生成し、コマンドバッファに追加します。
宣言
void AppendCodePage(DisplayCodePageType codePageType);
引数
名称
説明
型
codePageType
コードページ指定定数
戻り値
なし
実装例
public static void AppendCharacterSet(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); builder.AppendInternational(DisplayInternationalType.USA); builder.AppendCodePage(DisplayCodePageType.Japanese); byte[] pattern1 = { 0x2d, 0x20, 0x20, 0x20, 0x23, 0x24, 0x40, 0x5b, 0x5c, 0x5d, 0x5e, 0x60, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x20, 0x20, 0x2d, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3 }; builder.AppendBytes(pattern1); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.14. AppendDeleteToEndOfLine
added in version 1.3.0
画面を行末までクリアするコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendDeleteToEndOfLine();
引数
なし
戻り値
なし
4.4.15. AppendClearScreen
added in version 1.3.0
画面をクリアするコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendClearScreen();
引数
なし
戻り値
なし
実装例
public static void AppendClearScreen(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.16. AppendHomePosition
added in version 1.3.0
カーソルをホームポジションに移動するコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendHomePosition();
引数
なし
戻り値
なし
実装例
public static void AppendHomePosition(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); IBuffer otherData1 = System.Text.Encoding.UTF8.GetBytes("Star Micronics ").AsBuffer(); IBuffer otherData2 = System.Text.Encoding.UTF8.GetBytes("Total :12345").AsBuffer(); builder.AppendData(otherData1); builder.AppendData(otherData2); builder.AppendSpecifiedPosition(20, 2); builder.AppendCursorMode(DisplayCursorMode.On); builder.AppendHomePosition(); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.17. AppendTurnOn
added in version 1.3.0
バックライトをオン・オフするコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendTurnOn(bool turnOn);
引数
名称
説明
型
turnOn
バックライトのオン・オフ
bool
戻り値
なし
実装例
public static void AppendHomePosition(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); IBuffer otherData1 = System.Text.Encoding.UTF8.GetBytes("Star Micronics ").AsBuffer(); IBuffer otherData2 = System.Text.Encoding.UTF8.GetBytes("Total :12345").AsBuffer(); builder.AppendData(otherData1); builder.AppendData(otherData2); builder.AppendTurnOn(true); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.18. AppendSpecifiedPosition
added in version 1.3.0
カーソルを指定された位置に移動するコマンドを生成し、コマンドバッファに追加します。
宣言
void AppendSpecifiedPosition(int x, int y);
引数
名称
説明
型
x
桁位置(一番左の桁が1)
int
y
行位置(一番上の行が1)
int
戻り値
なし
実装例
public static void AppendHomePosition(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); IBuffer otherData1 = System.Text.Encoding.UTF8.GetBytes("Star Micronics ").AsBuffer(); IBuffer otherData2 = System.Text.Encoding.UTF8.GetBytes("Total :12345").AsBuffer(); builder.AppendData(otherData1); builder.AppendData(otherData2); builder.AppendSpecifiedPosition(20, 2); builder.AppendCursorMode(DisplayCursorMode.On); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.19. AppendCursorMode
added in version 1.3.0
カーソルモード変更コマンドを生成し、コマンドバッファに追加します。
宣言
void AppendCursorMode(DisplayCursorMode cursorMode);
引数
名称
説明
型
cursorMode
カーソルモード指定定数
戻り値
なし
実装例
public static void AppendHomePosition(IDisplayCommandBuilder builder) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); IBuffer otherData1 = System.Text.Encoding.UTF8.GetBytes("Star Micronics ").AsBuffer(); IBuffer otherData2 = System.Text.Encoding.UTF8.GetBytes("Total :12345").AsBuffer(); builder.AppendData(otherData1); builder.AppendData(otherData2); builder.AppendSpecifiedPosition(20, 2); builder.AppendCursorMode(DisplayCursorMode.On); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.20. AppendContrastMode
added in version 1.3.0
コントラストモード変更コマンドを生成し、コマンドバッファに追加します。
宣言
void AppendContrastMode(DisplayContrastMode contrastMode);
引数
名称
説明
型
contrastMode
コントラストモード指定定数
戻り値
なし
実装例
public static void AppendHomePosition(IDisplayCommandBuilder builder, DisplayContrastMode contrastMode) { builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); IBuffer otherData1 = System.Text.Encoding.UTF8.GetBytes("Star Micronics ").AsBuffer(); IBuffer otherData2 = System.Text.Encoding.UTF8.GetBytes("Total :12345").AsBuffer(); builder.AppendData(otherData1); builder.AppendData(otherData2); builder.AppendSpecifiedPosition(20, 2); builder.AppendContrastMode(contrastMode); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.21. AppendUserDefinedCharacter
added in version 1.3.0
ユーザー定義文字(SBCS)登録コマンドを生成し、コマンドバッファに追加します。
宣言
void AppendUserDefinedCharacter(int index, int code, byte[] font);
引数
名称
説明
型
index
フォント番号00h ≦ index ≦ 1Fhint
code
ユーザー定義文字の文字コード20h ≦ code ≦ 7FhAppendCodePage メソッドで Japanese を指定した場合、以下の範囲も使用可能です。A0h ≦ code ≦ DFhint
font
16byteのフォントデータユーザー定義文字のフォントデータのフォーマットを参照してください。null を指定すると、指定したフォント番号のユーザー定義文字を解除します。byte[]
戻り値
なし
ユーザー定義文字のフォントデータのフォーマット
実装例
public static void AppendUserDefinedCharacter(IDisplayCommandBuilder builder, bool set) { //builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); builder.AppendInternational(DisplayInternationalType.USA); builder.AppendCodePage(DisplayCodePageType.Japanese); if (set) { builder.AppendUserDefinedCharacter(0, 0x20, new byte[] { 0x00, 0x00, 0x32, 0x00, 0x49, 0x00, 0x49, 0x7f, 0x26, 0x48, 0x00, 0x48, 0x00, 0x30, 0x00, 0x00 }); builder.AppendUserDefinedDbcsCharacter(0, 0x8140, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x04, 0x90, 0x04, 0x90, 0x02, 0x60, 0x00, 0x00, 0x07, 0xf0, 0x04, 0x80, 0x04, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }); } else { builder.AppendUserDefinedDbcsCharacter(0, 0x00, null); builder.AppendUserDefinedCharacter(0, 0x00, null); } byte[] pattern = { 0x5b, 0x20, 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x73, 0x20, 0x20, 0x5d, 0x5b, 0x81, 0x40, 0x81, 0x40, 0x83, 0x58, 0x83, 0x5e, 0x81, 0x5b, 0x90, 0xb8, 0x96, 0xa7, 0x81, 0x40, 0x81, 0x40, 0x5d }; builder.AppendBytes(pattern); builder.PassThroughCommands; }
DisplayFunction.cs を参照ください
4.4.22. AppendUserDefinedDbcsCharacter
added in version 1.3.0
ユーザー定義文字(DBCS)登録コマンドを生成し、コマンドバッファに追加します。
宣言
void AppendUserDefinedDbcsCharacter(int index, int code, byte[] font);
引数
名称
説明
型
index
フォント番号00h ≦ index ≦ 0Fhint
code
ユーザー定義文字の文字コード20h ≦ code ≦ 7FhAppendCodePage メソッドで Japanese を指定した場合、以下の範囲も使用可能です。80 00h ≦ code ≦ FF FFhint
font
32byteのフォントデータユーザー定義文字のフォントデータのフォーマットを参照してください。null を指定すると、指定したフォント番号のユーザー定義文字を解除します。byte[]
戻り値
なし
ユーザー定義文字のフォントデータのフォーマット
実装例
public static void AppendUserDefinedCharacter(IDisplayCommandBuilder builder, bool set) { //builder.AppendClearScreen(); builder.AppendCursorMode(DisplayCursorMode.Off); builder.AppendSpecifiedPosition(1, 1); builder.AppendInternational(DisplayInternationalType.USA); builder.AppendCodePage(DisplayCodePageType.Japanese); if (set) { builder.AppendUserDefinedCharacter(0, 0x20, new byte[] { 0x00, 0x00, 0x32, 0x00, 0x49, 0x00, 0x49, 0x7f, 0x26, 0x48, 0x00, 0x48, 0x00, 0x30, 0x00, 0x00 }); builder.AppendUserDefinedDbcsCharacter(0, 0x8140, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x04, 0x90, 0x04, 0x90, 0x02, 0x60, 0x00, 0x00, 0x07, 0xf0, 0x04, 0x80, 0x04, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }); } else { builder.AppendUserDefinedCharacter(0, 0x00, null); builder.AppendUserDefinedDbcsCharacter(0, 0x00, null); } byte[] pattern = { 0x5b, 0x20, 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x73, 0x20, 0x20, 0x5d, 0x5b, 0x81, 0x40, 0x81, 0x40, 0x83, 0x58, 0x83, 0x5e, 0x81, 0x5b, 0x90, 0xb8, 0x96, 0xa7, 0x81, 0x40, 0x81, 0x40, 0x5d }; builder.AppendBytes(pattern); builder.PassThrouhCommands; }
DisplayFunction.cs を参照ください
4.4.23. GetCommands
added in version 1.3.0
コマンドバッファ(生成したコマンド)を取得します。
宣言
IBuffer GetCommands()
引数
なし
値
説明
型
コマンドバッファ(生成したコマンド)
IBuffer