一致文字列は、デコードされたデータとの一致を試みます。 (フォーマットされた出力データとの照合は試行されません。)
注:マッチコードは、単発読み取り、開始/終了、カスタムの各モードでのみ使用できます。プレゼンテーションモードや連続読み取りモードでは使用できません。
比較文字列エディタを開くには、セットアップビューに進み、下に示すように、マッチコードをオンにします。
次に、モードリンク(下の例では標準として表示されている)をクリックし、比較文字列エディタを開きます。
比較文字列エディタで、比較オプションのモードリンクをクリックし、比較文字列モード – 標準、ワイルドカード、またはシーケンシャルを選択します。
標準モードを使用すると、比較文字列データベースで文字列を定義して、バーコードの全体または一部を検索することができます。
ワイルドカードモードを使用すると、ワイルドカードとプレースホルダーを使用して、カスタムマッチを作成することができます。
ワイルドカードは1文字で、0文字またはそれ以上の文字を表わします。プレースホルダーは1文字で、1文字のみを表わします。
シーケンシャルモードは、シンボルまたはシンボルの一部を順番に読むようにリーダに指示します。
標準モード設定で全部一致を選択します。
比較文字列データベースに、バーコードをスキャンしたときに表示されるデコードデータを正確に入力します。「全部一致」では、バーコードの長さと文字の順番が、比較文字列データベースに入力された文字と一致した場合に正しく動作します。
次に、標準モード設定で部分一致を選択します。スキャンしているバーコードに基づいて、開始位置と長さを選択します。
「部分一致」では、比較文字列データベースの開始フィールドと長さフィールドによって定義した文字列と、テキストの文字列が正確に一致するかが検索されます。
たとえば、デコードされたシンボルが1234567、開始=1、長さ=2、比較文字列データベースの入力が12である場合、文字12は開始フィールドと長さフィールドで定義したバーコードデータの一部であるので、一致したことになります。
開始フィールドと長さフィールドを変更させて、ご使用のバーコードデータの一部で、部分一致が行えるか試してみてください。
全部一致と部分一致の両方で、一致が成功または失敗すると、カスタムテキストを出力することができます。一致した時や不一致の時をクリックすると、このフィールドを起動したり編集することができます。
比較文字列データベースにいくつか文字列を入力すると、アプリケーションはそれら全部について一致を試みます。一致が1回成功すると、それ以外の失敗がすべて無視され、一致が成功したと見なされます。
ワイルドカードモードでは、ワイルドカードとプレースホルダーを使用して一致を検索することができます。デフォルトのワイルドカードは*で、プレースホルダーは?です。
比較文字列データベースにテキストを入力する際に、ワイルドカードとプレースホルダーの定義を使用することができます。
1個のワイルドカードは、あらゆるタイプの0文字以上の文字を表わします。たとえば、*TEST*では、バーコードデータ内で、その前後の文字数に関係なく、テキスト「TEST」が検索されます。
*TESTでは、バーコードデータ内で、「TEST」の前の文字数にかかわらず、「TEST」で終わるテキストが検索されます。
TEST*では、バーコードデータ内で、「TEST」の後の文字数にかかわらず、「TEST」で始まるテキストが検索されます。
データ1234567を含むバーコードで、123*によってデータ全体を検索すると、一致したと見なされます。
同じバーコードデータを*123で検索すると、123はバーコードの先頭に現れ、このデータ文字列はバーコードの末尾にある123を持つコードと一致するため、失敗します。ワイルドカード文字*は、常に0文字以上の不明な文字を表わすことに注意してください。
では、*YOURTEXT*を使用して、スキャン中のバーコードの部分を一致させてみましょう。バーコードの中間にテキスト「YOURTEXT」が現れると、一致すると見なされます。
1個のプレースホルダーは、あらゆる種類の文字1字を表わします。たとえば、???TESTでは、「TEST」の文字の前に、種類に関係なく3文字があるバーコードが検索されます。???TE?Tでは、「S」のあった場所に任意の文字があるバーコードが検索されます。
比較文字列データベースの入力フィールドで、プレースホルダーとワイルドカードを一緒に使用することができます。その場合も、前述通り、ワイルドカードは0文字以上の不明な文字を表わし、プレースホルダーは1文字の不明な文字を表わします。
下に、ワイルドカードを使用した複雑な一致の例を示します。デフォルトでは、ワイルドカードとプレースホルダーはそれぞれ*と?ですが、再定義することもできます。
上の例で一致させようとしているバーコードデータはEN-1234_AreYouReadingThis en_US 1234でした。
この一致のロジックは下のように図示できます。
[任意の文字数][Are][任意の文字数][This][任意の文字数][US][5文字]
* = 任意の文字数(この場合EN-1234_)
Are
* = 任意の文字数(この場合YouReading)
This
* = 任意の文字数(この場合en_ )
US
?????= 5 文字(この場合 1234)
シーケンシャルモードは、リーダに対して、検索のたびに、シンボルまたはシンボルの一部を、一続きの番号と比較するよう指示します。
シーケンシャルモードが加算に設定されている場合: 読み取りが成功するたびに、リーダは次のシンボルに対して、探している数値を1ずつ加算します(これは、詳細設定 > マッチコード > マッチコードタイプ > シーケンスステップの間隔 で調整できます)。
シーケンシャルモードが減算に設定されている場合:読み取りが成功するたびに、リーダは次のシンボルに対して、探している数値を1ずつ減算します (これは 詳細設定 > マッチコード > マッチコードタイプ > シーケンスステップ間隔 で調整できます)。
読み取りなし時にシーケンスが有効な場合、リーダがシンボルをデコードできない場合でも、リーダは加算または減算を行います。
ミスマッチ時にシーケンスが有効な場合、リーダがシンボルをデコードしても、探していた現在の数値と一致しない場合でも、リーダは加算または減算を行います。
注:マッチコードタイプがシーケンシャルに設定されている場合、リーダは、ユーザー定義の設定に関係なく、読み取りシンボル数があたかも1に設定されるような挙動をします。
比較文字列データベースには、最大30個の異なる文字列を保持できます。