0

我正在尝试设置(USB)摩托罗拉 Symbol DS6708 条码扫描仪,以将使用一些联系信息编码的 QR 码扫描到文本文件中。

扫描条码时,预期的文本会显示在文本文件中。读完后,所有文本都被选中并删除。

如果它点击 ctr+z,文本将被取消删除并显示在文件中。

所需结果采用以下格式:

姓名 职务 公司 电话 等

我不确定从哪里开始调试。我假设最后会读入一些字符,这些字符相当于 ctrl+a 和 delete。

编辑 我尝试使用 Motorolo 的 123Scan2 进行扫描,结果如下:

 <STX> <STX> <STX>318315647 <ETX> <LF>NAME<ETX>  <ETX>LNAME<ETX> <LF>TITLE <ETX>
 <LF>COMPANY <ETX> 
 <LF>ADDRESS <ETX> <LF>ADDRESS <ETX> <LF>CITY<ETX>,  <ETX>ST<ETX>  <ETX>12345<ETX> <LF>USA <ETX> 
 <LF>PHONE    <ETX> <LF>PHONE     <ETX> 
 <LF>EMAIL <ETX> <LF> <LF> <LF> <LF> <LF> <SUB> <CR>

编辑

我试图用 C# 设置控制台应用程序并用 Console.Read() 或 Console.ReadLine() 读取输入,但输入实际上导致应用程序停止运行,然后将输入文本写入 Program 的文本Visual Studio 上的 .cs 文件。

简单的控制台应用程序:

class Program
{
    static void Main(string[] args)
    {
        System.Diagnostics.Debug.WriteLine("start");

        int result;
        while ((result = Console.Read()) != 0)
        {
            Console.WriteLine("{0} = {1}", result, (char)result);
        }
    }
}
4

3 回答 3

1

我不确定从哪里开始调试。我假设最后会读入一些字符,这些字符相当于 ctrl+a 和 delete。

我试图用 C# 设置控制台应用程序并用 Console.Read() 或 Console.ReadLine() 读取输入,但输入实际上导致应用程序停止运行,然后将输入文本写入类的文本在 Visual Studio 上。

我敢打赌数据包含一个EOF char (Ctrl+Z)。所有文本设备(如控制台 I/O)都使用它作为结束信号,现代操作系统仍然支持它,尽管现在鲜为人知。当然,它是记录在案的。

读完后,所有文本都被选中并删除。如果它点击 ctr+z,文本将被取消删除并显示在文件中。

您可能想说,文本显示在编辑器中,并从编辑器中选择/删除。一个文件几乎不能单独显示任何东西,它只是包含一些东西。顺便说一句,EOF 是 Ctrl+Z 并且您的编辑器的撤消也是 Ctrl+Z 的事实纯属巧合。

由于您没有显示任何代码,因此很难说什么。我可能会做一个 Read() 循环并将我得到的所有有用的东西存储在一个合适的地方,例如在一个文件中:-) 然后将在第二步中处理这些数据。

PS:这个相关的问题也可能会有所帮助。

于 2013-10-31T00:43:23.543 回答
0

我已经有一段时间没有使用条形码扫描仪了,但这听起来是您正在扫描的条形码包含执行 Ctrl-A 和 Del 的控制代码,或者扫描仪是以这种方式编程的。

对于主机 PC,条码扫描器基本上看起来就像一个键盘。如果您可以键入它,则条形码扫描仪可以提供它,包括所有 Ctrl / Shift / Alt 快捷键。

如果您有新的扫描仪,您应该有一张条形码,允许您对其进行编程并影响其行为。查看完整的重置条形码,看看是否可以改善情况。

于 2013-10-31T01:01:22.247 回答
0

你可能想试试他们在这里下载的 sdk 。告诉我它是否仍会删除表单文本框中的文件。

如果它没有被删除,最好将导出添加到文本文件按钮。

于 2013-10-31T02:00:43.213 回答