Leitor Symbol LS 7708 para busca de produtos...

Delphi

21/10/2008

Sempre utilizei leitores manuais e deu certo, agora colocamos um leitor de alta definicial Symbol LS 7708, aqueles para caixa de supercados, e meu código não funciona mais. Eu coloco no OnChange do DBGrid o código abaixo, mas qdo utilizo esse leito Symbol de alta definição ele nem chega a ativar o onchange, mas com os outros leitores comuns funciona certinho, alguém tem alguma idéia de como resolver esse problema?
/// procedimento do campo OnChange
procedure TFrmFrenteCaixa.TbItensCodprodChange(Sender: TField);
var WCodigo : String;
begin
WCodigo:=´´;
if tbItensCodProd.value <> ´´ then
begin
TbProdutos.IndexFieldNames := ´CodProduto´;
if not TbProdutos.FindKey([TbItensCodProd.value]) then
begin
messagedlg(´Código Inexistente´+#1310+´Digite um código válido´,mterror,[mbok],0);
Exit;
end
else
begin
TbItensCodProduto.Value := TbProdutosCodigo.Value;
TbItens2.IndexFieldNames := ´Nroped;CodProduto´;
if TbItens2.FindKey([TbItensNroPed.Value,TbItensCodProduto.value]) then
begin
WCodigo:=TbItensCodProd.Value;
TbItens.Cancel;
TbItens.First;
While not TbItens.Eof do
begin
if TbItensCodProd.Value = WCodigo then
begin
TbItens.Edit;
TbItensQuantidade.Value:=TbItensQuantidade.Value+1;
TbItens.Post;
end;
TbItens.Next;
end;
end
else
begin
TbProdutos.IndexFieldNames := ´´;
if TbProdutos.FindKey([TbItensCodProduto.Value]) then
begin
TbItensPreco.Value:=TbProdutosPrecoVenda.Value;
TbItensAliq_ICMS.Value:=TbProdutosICMS.Value;
TbItensDataPed.Value:=TbPedidosDataPed.Value;
TbItensProduto.Value:=TbItensProduto2.Value;
end;
end;
end;
end;
TbItens.Append;
DbGrid1.SelectedIndex:=0;
end
else
begin
messagedlg(´Código Obrigatório! ´+#1310+´Digite um código válido. ´,mterror,[mbok],0);
Exit;
end;
end;


Janete

Janete

Curtidas 0

Respostas

Janete

Janete

21/10/2008

Sempre utilizei leitores manuais e deu certo, agora colocamos um leitor de alta definicial Symbol LS 7708, aqueles para caixa de supercados, e meu código não funciona mais. Eu coloco no OnChange do DBGrid o código abaixo, mas qdo utilizo esse leito Symbol de alta definição ele nem chega a ativar o onchange, mas com os outros leitores comuns funciona certinho, alguém tem alguma idéia de como resolver esse problema? /// procedimento do campo OnChange procedure TFrmFrenteCaixa.TbItensCodprodChange(Sender: TField); var WCodigo : String; begin WCodigo:=´´; if tbItensCodProd.value <> ´´ then begin TbProdutos.IndexFieldNames := ´CodProduto´; if not TbProdutos.FindKey([TbItensCodProd.value]) then begin messagedlg(´Código Inexistente´+#1310+´Digite um código válido´,mterror,[mbok],0); Exit; end else begin TbItensCodProduto.Value := TbProdutosCodigo.Value; TbItens2.IndexFieldNames := ´Nroped;CodProduto´; if TbItens2.FindKey([TbItensNroPed.Value,TbItensCodProduto.value]) then begin WCodigo:=TbItensCodProd.Value; TbItens.Cancel; TbItens.First; While not TbItens.Eof do begin if TbItensCodProd.Value = WCodigo then begin TbItens.Edit; TbItensQuantidade.Value:=TbItensQuantidade.Value+1; TbItens.Post; end; TbItens.Next; end; end else begin TbProdutos.IndexFieldNames := ´´; if TbProdutos.FindKey([TbItensCodProduto.Value]) then begin TbItensPreco.Value:=TbProdutosPrecoVenda.Value; TbItensAliq_ICMS.Value:=TbProdutosICMS.Value; TbItensDataPed.Value:=TbPedidosDataPed.Value; TbItensProduto.Value:=TbItensProduto2.Value; end; end; end; end; TbItens.Append; DbGrid1.SelectedIndex:=0; end else begin messagedlg(´Código Obrigatório! ´+#1310+´Digite um código válido. ´,mterror,[mbok],0); Exit; end; end;


Pelo que pude perceber, esse leitor Symbol LS 7708 não dá o enten automáticamente igual aos outros mais comuns... alguém pode me ajudar, preciso muito achar uma solução para esse problema.


GOSTEI 0
Vitor Alcantara

Vitor Alcantara

21/10/2008

O leitor está lendo o código de barras e não está dando o ENTER no final?
Se for isso talvez você precise configurar o próprio leitor, geralmente vem um livrinho para que se faça a configuração do leitor. É um livrinho cheio de código de barras, onde você vai configurando de acordo com suas necessidades.


GOSTEI 0
POSTAR