MC9090 と MC9190 の 2 つのバーコード スキャナーがあります。最初に MC9090 の下で、バーコードを読み取り、SQL データベースで動作するアプリケーションが作成されました。コードを使用してデフォルト値 (それぞれ 14 と 10) を変更します (MC9090 上):
myReader.Decoders.I2OF5.MinimumLength = 6;
myReader.Decoders.I2OF5.MaximumLength = 8;
MC9190 では、デフォルト パラメータ (それぞれ 14 と 10) で I2OF5 バーコードを読み取ることができますが、最小 = 6、最大 = 8 の長さの I2OF5 バーコードを読み取ることはできません。
次のようなパラメーターの完全なリストを送信しようとしました (既に MC9190 で):
myReader.Parameters.CodeIdType = CodeIdTypes.None;
myReader.Parameters.ScanType = ScanTypes.Foreground;
myReader.Decoders.I2OF5.MinimumLength = 6;
myReader.Decoders.I2OF5.MaximumLength = 8;
myReader.Decoders.I2OF5.Redundancy = true;
myReader.Decoders.I2OF5.CheckDigitScheme = I2OF5.CheckDigitSchemes.None;
myReader.Decoders.I2OF5.ConvertToEAN13 = false;
myReader.Decoders.I2OF5.ReportCheckDigit = false;
myReader.Actions.SetParameters();
これらのパラメーターを使用すると、Motorola の優れたデモ アプリケーションではバーコードが読み取られますが、私のアプリでは読み取られません。
私はこのようにチェックします:
if (_scnAPI.Reader.Decoders.I2OF5.Enabled == true)
{
if (_scnAPI.Reader.Decoders.I2OF5.MinimumLength == 6)
{
MessageBox.Show("6");
}
if (_scnAPI.Reader.Decoders.I2OF5.MaximumLength == 8)
{
MessageBox.Show("8");
}
if (_scnAPI.Reader.Decoders.I2OF5.Redundancy == true)
{
MessageBox.Show("Redundancy");
}
if (_scnAPI.Reader.Parameters.CodeIdType == Symbol.Barcode.CodeIdTypes.None)
{
MessageBox.Show("CodeType");
}
if (_scnAPI.Reader.Decoders.I2OF5.CheckDigitScheme == Symbol.Barcode.I2OF5.CheckDigitSchemes.None)
{
MessageBox.Show("CheckDigit");
}
if (_scnAPI.Reader.Parameters.ScanType == Symbol.Barcode.ScanTypes.Foreground)
{
MessageBox.Show("foreground");
}
}
else
{
MessageBox.Show("App Exit!");
Application.Exit();
}
すべてのチェックに合格しましたが、適切な長さの I2OF5 バーコードを読み取れない理由が明確ではありません。問題が何であるかを理解するのを手伝ってください。
PSライブラリSymbol.Barcode、Motorola EMDK 2.4 for .NETを使用しています。EMDK 2.4 バージョンの仕様は 9100- シリーズと互換性があるように見えました。