# USB バーコードリーダーに接続

USB バーコードリーダーを表示器に接続し読み取ったデータを変数やオブジェクトに入力することができます。

このセクションでは、USB バーコードリーダーの設定手順と使用方法について説明します。

Hide Show

1. 使用できる USB バーコードリーダー
2. データ入力先
3. データ入力先がオブジェクトの場合
4. データ入力先が変数の場合
5. 対応文字
6. USB バーコードリーダー使用の注意点

## 使用できる USB バーコードリーダー

HID クラスの USB バーコードリーダーを使用できます。

USB バーコードリーダーは 1 台のみ接続できます。

英語キーボード 101 と日本語キーボード 106 に対応しています。

## データ入力先

USB バーコードリーダーで読み取ったデータの保存先を選択します。

USB バーコードリーダーの [保存先] プロパティで保存先を選択します。

設定先 | コメント
オブジェクト | USB バーコードリーダーを使用しデータを以下のオブジェクトに入力することができます。 キーパッドを表示できるオブジェクト ウェブブラウザー部品
変数 | 内部の STRING 変数にデータを入力できます。

## データ入力先がオブジェクトの場合

### 設定

1. プロジェクトエクスプローラーウィンドウの [システム設定] に移動し、[アクセサリ] をクリックします。
2. ツールバーの [USB バーコードリーダー]をクリックします。
3. プロパティウィンドウで [保存先] プロパティから [オブジェクト] を選択します。
4. [キーコード] プロパティでキーボードレイアウトを選択します。

MEMO: オブジェクトの [キーパッドを使用する] プロパティを無効にすると入力中にキーパッドを表示しないようにできます。[キーパッドを使用する] プロパティを参照することで、操作中にキーパッドを表示したり非表示にする機能を設定することができます。

### USB バーコードリーダーでデータを入力

1. USB バーコードリーダーでデータを読み取る前に、オブジェクトにタッチして入力状態に変更するとデータの入力先として動作します。
   入力状態になる前にデータが読み取られると、データはどこにも入力されません。
2. USB バーコードリーダーでデータを読み取ります。
   データの読み出しは制御文字 ('CR' または 'CR'+'LF') が読み取られるまで完了しません。読み取られたデータは直ちにオブジェクトに入力されます。

   MEMO:

   - 入力できない文字がある場合、その文字はスキップされます。

   - オブジェクトの入力範囲を超えるデータが読み取られた場合、なにも入力されません。その場合、ブザーが鳴りオブジェクトの色が変わります。

   - キーパッドで文字を入力した後に USB バーコードリーダーでデータを読み取った場合は、キーパッドに表示されている文字に続いてデータが入力されます。

3. データ入力が完了すると、オブジェクトの入力状態が解除されます。キーパッドが表示されている状態でデータ入力が完了すると、キーパッドは自動的に閉じます。

## データ入力先が変数の場合

### 設定

1. プロジェクトエクスプローラーウィンドウの [システム設定] に移動し、[アクセサリ] をクリックします。
2. ツールバーの [USB バーコードリーダー]をクリックします。
3. プロパティウィンドウの [保存先] プロパティで [変数] を選択します。
4. [読み取り文字列] プロパティに入力データの保存先として内部の STRING 変数を設定します。

   MEMO: [読み取り文字列] プロパティに外部変数は設定できません。

5. 文字数をカウントしたい場合は、内部の整数変数を [読み取り文字列 (バイト数)] に設定します。

   MEMO: [読み取り文字列 (バイト数)] プロパティに外部変数は設定できません。

6. [キーコード] プロパティでキーボードレイアウトを選択します。

### USB バーコードリーダーでデータを入力

1. USB バーコードリーダーでデータを読み取ります。
   データの読み出しは制御文字 ('CR' または 'CR'+'LF') が読み取られるまで完了しません。
2. 読み取ったデータは [読み取り文字列] プロパティに設定された STRING 変数に入力されます。また、読み取ったデータの文字数は [読み取り文字列 (バイト数)] に設定された整数変数に格納されます。
3. データ入力が完了すると、次のソースプロパティの値がオンになります。
   (表示器名).Preferences.InputCompletedFromUSBBarcodeReader’
   ソースプロパティの値がオンになった後、次の入力完了を確認できるようにオフに切り替えてください。このプロパティの値は自動でオフに切り替わりません。

MEMO: 読み取ったデータの文字数が [読み取り文字列] に設定された STRING 変数に格納できる文字数を超えた場合、格納しきれない文字は切り捨てられます。

読み取りデータ | STRING 変数に入力できる文字数 | [読み取り文字列 (バイト数)] 整数変数の値*1 | STRING 変数に入力された文字列 | コメント
ABC | 5 | 3 | ABC |
ABCDEFG | 5 | 7 | ABCDE | 最大文字数を超える部分は入力されません。
AB(0x00)CDEF | 6 | 6 | ABCDEF | 'NULL(0x00)' は入力されません。'NULL(0x00)' はサポートされていません。

*1 バーコードリーダーの設定時に、読み取りバイト数は変数で指定します。

## 対応文字

USB バーコードリーダーでデータを読み取る場合、以下の文字に対応しています。

対応していない文字が読み取られたデータに存在する場合、入力されません。

- 英数字

- A-Z
- a-z
- 0-9

- スペース (空白)
- 特殊文字

  特殊文字
  ! | ) | ; | ]
  " | * | < | ^
  # | + | = | _
  $ | , | > | ` (アクサングラーブ)
  % | - | ? | {
  & | . | @ | |
  ‘ (アポストロフィ) | / | [ | }
  ( | : | \ | ~

- 制御文字

- 'CR'

  MEMO: 'CR’ 制御文字はデータ入力完了を示します。

## USB バーコードリーダー使用の注意点

### SP5000 シリーズオープンボックス (Windows 10 IoT Enterprise モデル)、IPC シリーズ、または PC/AT を使用する場合

- データ入力先が変数に設定されている場合、USB バーコードリーダーでデータを読み取る前に、システムキーボードの IME を無効に設定してください。IME が有効の場合、データ入力が完了できません。
- データ入力先がオブジェクトに設定されている場合、USB バーコードリーダーでタブ制御文字を読み取らないでください。タブ制御文字を読み取ると、データ入力を完了できません。タブ制御文字を誤って読み取ってしまった場合は、オブジェクトをタッチしてください。データが入力される前の状態に戻ります。
- USB バーコードリーダーが設定されていなくても、オブジェクトが入力状態にあるときに USB バーコードリーダーでデータが読み取られると、そのデータはオブジェクトに入力されます。