codigo de barras
boa tarde,
Tenho um campo(edit), onde gostaria de bloquear qualquer tipo de digitacao, somente com o leitor.
como eu posso fazer isso
no aguardo
Evandro
Tenho um campo(edit), onde gostaria de bloquear qualquer tipo de digitacao, somente com o leitor.
como eu posso fazer isso
no aguardo
Evandro
Evandro_araujo
Curtidas 0
Respostas
Darkrme
29/12/2008
Amigo, procure a propriedade ReadOnly do seu Edit e mude-a para True, isso evita que o usuário digite no seu Edit.
Espero ter ajudado. =)
Espero ter ajudado. =)
GOSTEI 0
Evandro_araujo
29/12/2008
entao mas se fizer isso nao vou conseguir passar o leitor de codigo de barra
GOSTEI 0
Vitor Alcantara
29/12/2008
O que você pode tentar é pegar o valor digitado e armazenar em uma váriavel, dai testar quando for pressionado o ENTER se é um código de barras válido (EAN13 possui 13 digitos e o EAN8 possui 8 digitos), após o ENTER você executa o teste se é código válido ou não, e insere ou não no seu edit. Agora quanto a permitir a entrada de dados somente do leitor, creio que com esses leitores usb e extensão de teclados, você não irá conseguir, pois os mesmo funcionam como um teclado.
Ex:
no on KePress
Ex:
no on KePress
begin if key in [´0´..´9´] then begin MinhaVariavel := MinhaVariavel + Key; end; if key = 13 then begin //Aqui você insere a sua rotina end; end;
GOSTEI 0
Darkrme
29/12/2008
Desulpe, mas eu nao tinha visto que vc queria usar o Leitor, no meu sistema eu uso leitor, porem deixo apra o usuario digitar qualquer valor, busco o produto com o codigo q o ususario digitou, caso nao encontre nada mando uma msg e limpo o campo, caso contrario insere o produto na compra, mas a dica do nosso amigo Vitor pode dar certo, soh gostaria de fazer algumas obeservacoes, acho q trabalhar com tecla virtual eh mais facil ou seja #13 = Enter e VK_RETURN = Enter (Virtual), mais facil de memorizar, outra coisa... acho q para usar isso a sua tela de compra nao pode ter nenhum outro campo onde va numero, pois senao a sua variavel vai pegar mais caracteres que deve.
acho q esse codigo vc poderia colocar no evento OnKeyDown do form, e se quiser deixar um pouco mais seguro usa a propriedade ActiveControl para saber em qual objeto esta o Foco.. por exemplo:
ou seja.. sua variavel soh vai pegar os numeros qnd nao estiver no campo de data, que tb eh um campo numerico.
Espero ter ajudado.
begin if key in [´0´..´9´] then begin MinhaVariavel := MinhaVariavel + Key; end; if Key = VK_RETURN then begin //Aqui você insere a sua rotina //no final dessa rotina vc zera a sua variavel MinhaVariavel := ´´; ou MinhaVariavel := 0; end; end;
acho q esse codigo vc poderia colocar no evento OnKeyDown do form, e se quiser deixar um pouco mais seguro usa a propriedade ActiveControl para saber em qual objeto esta o Foco.. por exemplo:
if ActiveControl <> EdtData then begin if key in [´0´..´9´] then begin MinhaVariavel := MinhaVariavel + Key; end; end;
ou seja.. sua variavel soh vai pegar os numeros qnd nao estiver no campo de data, que tb eh um campo numerico.
Espero ter ajudado.
GOSTEI 0