我开发了这段代码,我需要帮助来纠正。他没有正确读取第一个条形码数。我需要改变什么?
//inicia o barcodeReader para ler a StringBuilder e seleciona o tipo de barcode, neste caso, qualquer tipo
Bitmap image;`
image = (Bitmap)Bitmap.FromFile(recebe);
LuminanceSource source;
source = new BitmapLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result = new MultiFormatReader().decodeWithState(bitmap);
//faz um condicional para ler o que existe dentro da matriz Barcode
foreach (string code in result)
{
if (!Directory.Exists(nomePasta.ToString()))
{
Directory.CreateDirectory(nomePasta.ToString());
}
else
{
}
if (codigo == 0)
{
codigo = Convert.ToInt32(0 + code);
File.Move(stringCaminho.ToString(), nomePasta.ToString() + code + ".bmp");
}
else if (codigo + 0 > Convert.ToInt32(0 + code))
{
MessageBox.Show("Código de barras está errado! "+code);
}
dataGridView1.Rows.Add(code);
//esta dando erro para fazer o Move da segunda referencia
}
}
请帮助我,第一个数字不正确
我从我的电脑上拿了一张图片,他有一个条码,程序读取,移动并重命名为代码的数量。
错误:
错误1 foreach语句不能对'ZXing.Result'类型的变量进行操作,因为'ZXing.Result'不包含'GetEnumerator'的公共定义H:\ Projetos \ Qtrack_telas_old - Cópia\ Qtrack_telas \ frmScanner.cs 119 17 Qtrack_telas
答案 0 :(得分:1)
看起来问题是你正在尝试迭代结果'这不是一个集合(根据我的理解)。
docs for the api显示'结果' class有一个名为' getText'这似乎就是你如何得到结果中数据的字符串表示。
在不知道循环是什么的情况下,我建议您重构代码,以便消除循环或将其放在此方法之外。