Motorola MC2180 EMDK - 获取扫描数据
Motorola MC2180 EMDK - Getting scanned data
我一直在尝试从摩托罗拉 MC2180 获取扫描数据。我知道这是基本的,但我是初学者,以前从未接触过 PDA。我可以扫描它,但结果数据仍然为空。我使用以下代码:
{
public Symbol.Barcode.Reader SymbolReader = null;
public Symbol.Barcode.ReaderData SymbolReaderData = null;
public static System.EventHandler SymbolEventHandler = null;
/// <summary>
/// MyReaderData property provides access to the ReaderData
/// </summary>
public Symbol.Barcode.ReaderData MyReaderData
{
get { return SymbolReader.GetNextReaderData(); }
}
public static System.EventHandler MyEventHandler
{
get { return SymbolEventHandler; }
set { SymbolEventHandler = value; }
}
public bool InitScanner()
{
try
{
SymbolReader = new Symbol.Barcode.Reader();
SymbolReaderData = new Symbol.Barcode.ReaderData(Symbol.Barcode.ReaderDataTypes.Text, Symbol.Barcode.ReaderDataLengths.MaximumLabel);
SymbolReader.Actions.Enable();
SymbolReader.Parameters.Feedback.Success.BeepTime = 0;
SymbolReader.Parameters.Feedback.Success.WaveFile = "\windows\alarm3.wav";
}
catch(Exception ex)
{
ex.ToString();
}
return true;
}
public void TermReader()
{
try
{
if (SymbolReader != null)
{
SymbolReader.Actions.Disable();
SymbolReader.Actions.Dispose();
SymbolReader = null;
}
}
catch (Exception ex)
{
ex.ToString();
}
}
private bool ReadData()
{
{
try
{
// Submit a read
SymbolReader.ReadNotify += SymbolEventHandler;
// Prevent duplicate reads
if (!SymbolReaderData.IsPending)
{
SymbolReader.Actions.Read(SymbolReaderData);
return true;
}
else
return false;
}
catch (Exception ex)
{
ex.ToString();
return false;
}
}
}
public string StopRead()
{
if (SymbolReader != null)
{
try
{
// Flush (Cancel all pending reads)
SymbolReader.ReadNotify -= SymbolEventHandler;
SymbolReader.Actions.Flush();
return "Closed";
}
catch (Exception ex)
{
return ex.ToString();
}
}
else
return "Already Closed";
}
public string ToggleTrigger()
{
this.InitScanner();
SymbolReader.Actions.ToggleSoftTrigger();
this.ReadData();
return SymbolReaderData.Text;
}
}
我尝试使用 EMDK 支持站点,但它一直将我锁定在维护中。
我的主要问题是:
1. 扫描后获取数据——我不确定它是如何解码条形码数据的
2. 如何让扫描仪触发更长时间?因为我可以 Barcode2.Config.TriggerMode 允许我扫描比 Barcode.Reader.ToggleSoftTrigger();
更长的时间
我可能需要解释,因为我无法访问 EMDK 指南或文档没有帮助:(
提前致谢! :)
尝试http://support.symbol.com。您需要从那里下载当前的 EMDK 并安装它。有了它,您将获得大量样本,您可以在其中尝试不同的东西。还包含已安装的 EMDK 中的帮助文件。
请注意,Zebra Technologies 于 2014 年 10 月收购了 Motorola Solutions 企业业务。这就是我在这里谈论 Zebra 的原因,即使是设备也可能带有品牌 摩托罗拉 或Symbol。
您最好的选择是从 Zebra Technologies 的 EMDK for .NET 中包含的示例应用程序开始,最新的一个是 v2.9,可在 Zebra 支持站点上获得。 Here's a direct link to that page.
EMDK 和独立指南是 public 软件,您无需登录即可下载它们。
请记住,要使用EMDK 为MC2180 编写应用程序,您需要VisualStudio 2005 + SP1 或VisualStudio 2008。这是支持Windows CE 6.0 的Microsoft 开发工具中仅有的两个版本。较新版本的 Microsoft VisualStudio 不支持此操作系统。
我一直在尝试从摩托罗拉 MC2180 获取扫描数据。我知道这是基本的,但我是初学者,以前从未接触过 PDA。我可以扫描它,但结果数据仍然为空。我使用以下代码:
{
public Symbol.Barcode.Reader SymbolReader = null;
public Symbol.Barcode.ReaderData SymbolReaderData = null;
public static System.EventHandler SymbolEventHandler = null;
/// <summary>
/// MyReaderData property provides access to the ReaderData
/// </summary>
public Symbol.Barcode.ReaderData MyReaderData
{
get { return SymbolReader.GetNextReaderData(); }
}
public static System.EventHandler MyEventHandler
{
get { return SymbolEventHandler; }
set { SymbolEventHandler = value; }
}
public bool InitScanner()
{
try
{
SymbolReader = new Symbol.Barcode.Reader();
SymbolReaderData = new Symbol.Barcode.ReaderData(Symbol.Barcode.ReaderDataTypes.Text, Symbol.Barcode.ReaderDataLengths.MaximumLabel);
SymbolReader.Actions.Enable();
SymbolReader.Parameters.Feedback.Success.BeepTime = 0;
SymbolReader.Parameters.Feedback.Success.WaveFile = "\windows\alarm3.wav";
}
catch(Exception ex)
{
ex.ToString();
}
return true;
}
public void TermReader()
{
try
{
if (SymbolReader != null)
{
SymbolReader.Actions.Disable();
SymbolReader.Actions.Dispose();
SymbolReader = null;
}
}
catch (Exception ex)
{
ex.ToString();
}
}
private bool ReadData()
{
{
try
{
// Submit a read
SymbolReader.ReadNotify += SymbolEventHandler;
// Prevent duplicate reads
if (!SymbolReaderData.IsPending)
{
SymbolReader.Actions.Read(SymbolReaderData);
return true;
}
else
return false;
}
catch (Exception ex)
{
ex.ToString();
return false;
}
}
}
public string StopRead()
{
if (SymbolReader != null)
{
try
{
// Flush (Cancel all pending reads)
SymbolReader.ReadNotify -= SymbolEventHandler;
SymbolReader.Actions.Flush();
return "Closed";
}
catch (Exception ex)
{
return ex.ToString();
}
}
else
return "Already Closed";
}
public string ToggleTrigger()
{
this.InitScanner();
SymbolReader.Actions.ToggleSoftTrigger();
this.ReadData();
return SymbolReaderData.Text;
}
}
我尝试使用 EMDK 支持站点,但它一直将我锁定在维护中。
我的主要问题是: 1. 扫描后获取数据——我不确定它是如何解码条形码数据的 2. 如何让扫描仪触发更长时间?因为我可以 Barcode2.Config.TriggerMode 允许我扫描比 Barcode.Reader.ToggleSoftTrigger();
更长的时间我可能需要解释,因为我无法访问 EMDK 指南或文档没有帮助:(
提前致谢! :)
尝试http://support.symbol.com。您需要从那里下载当前的 EMDK 并安装它。有了它,您将获得大量样本,您可以在其中尝试不同的东西。还包含已安装的 EMDK 中的帮助文件。
请注意,Zebra Technologies 于 2014 年 10 月收购了 Motorola Solutions 企业业务。这就是我在这里谈论 Zebra 的原因,即使是设备也可能带有品牌 摩托罗拉 或Symbol。
您最好的选择是从 Zebra Technologies 的 EMDK for .NET 中包含的示例应用程序开始,最新的一个是 v2.9,可在 Zebra 支持站点上获得。 Here's a direct link to that page.
EMDK 和独立指南是 public 软件,您无需登录即可下载它们。
请记住,要使用EMDK 为MC2180 编写应用程序,您需要VisualStudio 2005 + SP1 或VisualStudio 2008。这是支持Windows CE 6.0 的Microsoft 开发工具中仅有的两个版本。较新版本的 Microsoft VisualStudio 不支持此操作系统。