Fórum Problema c/ código de barras #256138
26/10/2004
0
Coloquei no evento OnKeyPress do maskedit, o seguinte código:
if (key=#13) then
begin
//aqui se for apertado enter ele procura o produto no banco
end;
o problema é o seguinte:
quando leio o código do produto em vez de ele aparecer rapidamente, ele vai aparecendo número a número bem devagar, normalmente o código tem 13 dígitos, eu acho que é porque o maskedit fica checando cada número que entra para ver se é o enter que foi pressionado.
Fiz o teste em outro maskedit que não tem nada no evento onkeypress e ele lê normal.
Se alguem puder me dar uma dica, de como tratar esse evento,
Eu agradeço.
Obrigado
Gameiro
Curtir tópico
+ 0Posts
26/10/2004
Koplin
Gostei + 0
26/10/2004
Gameiro
procedure Tfrm_vendas01.MaskEdit2KeyPress(Sender: TObject; var Key: Char); begin if (key=#13) then begin //query localizando o produto datamodule1.SQLDataSet1.Close; datamodule1.SQLDataSet1.CommandText:=´select * from PRODUTOS where cod_barras=:cd_barras´; datamodule1.SQLDataSet1.ParamByName(´cd_barras´).AsString:=maskedit2.Text; datamodule1.SQLDataSet1.Open; if datamodule1.SQLDataSet1.Eof then begin showmessage(´Codigo do Produto Invalido-Favor Corrigir´); maskedit2.SetFocus; end else begin if quant_item=0 then begin quant_item:=1; end; //move o nome do produto para exibicao ao usuario //quant_item:=1; edit1.Text:=datamodule1.SQLDataSet1.fieldbyname(´descricao´).asstring; maskedit3.Text:=´1´; maskedit3.Refresh; maskedit3.SetFocus; end; end; end;
Gostei + 0
27/10/2004
Gandalf.nho
Gostei + 0
27/10/2004
Dopi
Experimente ler o Cod.Barras no Bloco de Notas.... se a lentidao tb existir, entao o problema é no leitor....
Usando o manual do leitor dá pra vc aumentar essa velocidade... Mas se vc aumentar muito, alguns micros podem ´comer´ alguns caracteres...
Gostei + 0
27/10/2004
Gameiro
Também coloquei o mesmo código acima no onexit e ele faz a mesma,coisa.
Se alguem tiver mais alguma sugestão agradeço.
Obrigado a todos por responderem.
Gostei + 0
05/11/2004
Pro-luck
Pelo que entendi vc está impondo duas situações para o maskedit, uma ao sair (que é um evento) e o pressionar da tecla Enter (que é outro evento) tudo para um mesmo elemento.
Experimente, ser der certo mande um e-mail avisando-me.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)