Página 1 de 4
sobre leitor de código de barra..desafio.
Enviado: 27 Jul 2007 09:33
por scom
ola amigos....
é o seguinte tenho um sistema onde queria saber altomaticamente se o leitor optico foi acionado. porque?
é que tenho dentro do meu sistema um controle de entra e saida de funcionários (ponto) e criei uma tecla de atalho [F6] para ativar essa tela onde o funcionário bate seu ponto. até ai tudo beleza.
então meu cliente comprou 3 leitores opticos e fez crachas com código de barra para os funcionarios mas agora na hora de testar ele me disse que penso que ia ser automático ou seja o funcionário não precisaria apertar o tal [F6] (atalho). E me disse que se não for assim ele gasto dinheiro atoa..e eu disse que o codigo de barra é somente para os funcionários não precisar digitar o seu código manualmente. e ele me perguntou se tinha como ao passar o leitor o [F6] abrir automáticamente, ou seja teria que indentificar se o leitor foi acionado e dar um [F6] no programa automáticamente.
será que tem alguma bibliotéca ou sei la o que fassa isso?
atenciosamente
Robson
Enviado: 27 Jul 2007 09:38
por Maligno
Para que a tela especial entre automaticamente, você terá de deixar seu código monitorando os dados entrados pelo teclado. Ao receber um certo código de tecla, a tela entra com o código. Ou, se for o caso, como é automático, nem há muita necessidade dela aparecer. Apenas se registra o número do funcionário e pronto.
Agora, esse código de tecla especial precisa vir do leitor automaticamente. Aí a coisa pega. Alguns leitores permitem que um código "extra" seja enviado junto com o número lido. Que marca é o leitor do seu cliente?
Enviado: 27 Jul 2007 10:02
por Maligno
Em tempo: acabei de testar meu Elgin BS313. Consigo incluir no número do código de barra qualquer código extra que eu queira. Ficará fácil se puder fazer o mesmo no leitor do cliente. E provavelmente será possível. É só ler o manual.
Enviado: 27 Jul 2007 11:27
por janio
Olha,
Desculpe... entrei no tópico errado
Jânio
Re: sobre leitor de código de barra..desafio.
Enviado: 27 Jul 2007 11:45
por sygecom
scom escreveu:ola amigos....
é o seguinte tenho um sistema onde queria saber altomaticamente se o leitor optico foi acionado. porque?
é que tenho dentro do meu sistema um controle de entra e saida de funcionários (ponto) e criei uma tecla de atalho [F6] para ativar essa tela onde o funcionário bate seu ponto. até ai tudo beleza.
então meu cliente comprou 3 leitores opticos e fez crachas com código de barra para os funcionarios mas agora na hora de testar ele me disse que penso que ia ser automático ou seja o funcionário não precisaria apertar o tal [F6] (atalho). E me disse que se não for assim ele gasto dinheiro atoa..e eu disse que o codigo de barra é somente para os funcionários não precisar digitar o seu código manualmente. e ele me perguntou se tinha como ao passar o leitor o [F6] abrir automáticamente, ou seja teria que indentificar se o leitor foi acionado e dar um [F6] no programa automáticamente.
será que tem alguma bibliotéca ou sei la o que fassa isso?
atenciosamente
Robson
Robson, eu não sei como vc esta usando ai...mas eu coloquei em um cliente...uma maquina bem velha na rede...só para receber os dados do Leitor ...assim o sistema fica aberto o tempo todo...ou seja aquela maquina na rede armazena as batidas do ponto e uma vez por dia o servidor coleta todas as informações....na aquela maquina velha....agora uma coisa é certa...vc não pode usar a mesma maquina para usuario normal e para ficar coletando as batidas do relogio ponto...ou seja lendo os Codigo de barra....eu particularmente desconheço em clipper algo que possa ser feito fora disso...
Enviado: 27 Jul 2007 11:54
por Maligno
Leonardo, um favor:
Quando postar alguma mensagem, tente evitar quotar tudo. Notei que você costuma incluir toda a mensagem original. Se for possível, corte o máximo que puder ou, melhor ainda, apague o quote automática e apenas poste seu texto.
Peço isso por dois motivos. Primeiro: não é tão necessário essa repetição. Segundo e principal: é um terrível desperdício de espaço no servidor. É o Toledo quem paga por isso. Nós não.
Obrigado.
Re: sobre leitor de código de barra..desafio.
Enviado: 27 Jul 2007 11:56
por Maligno
sygecom escreveu:eu particularmente desconheço em clipper algo que possa ser feito fora disso...
Simples: uma rotina em background que, ao detectar um certo caractere (inserido no número pelo leitor), já faz o registro do funcionário. De resto, o programa funcionaria normalmente. Mas esse artifício requer uma função de manipulação de teclado que seria a única a chamar a função InKey().
Enviado: 27 Jul 2007 12:06
por sygecom
Simples: uma rotina em background que, ao detectar um certo caractere (inserido no número pelo leitor), já faz o registro do funcionário
Foi como eu disse desconheço de como fazer algo assim em CLIPPER...como colocar em
background...pelo clipper
Enviado: 27 Jul 2007 12:12
por Maligno
Para rodar código em background em Clipper conheço duas opções: a função FT_OnTick() da NanFor e a BGEvents. Uso a primeira. A segunda também é muito boa e pode ser encontrada no site The Oasis.
Enviado: 27 Jul 2007 12:22
por sygecom
Maligno escreveu:Para rodar código em background em Clipper conheço duas opções: a função FT_OnTick() da NanFor e a BGEvents. Uso a primeira. A segunda também é muito boa e pode ser encontrada no site The Oasis.
Que bom, vivendo e aprendendo....agora com a sua dica o colega vai resolver o problema dele...e eu passei a conhecer...que isso é possivel no clipper...mas não testei e nem vou testar....meu sistema esta funcionando no cliente e ele esta contente....
Enviado: 27 Jul 2007 12:35
por Maligno
Aliás, para o caso de alguém querer, tenho as duas LIBs na minha área "pub", diretório clipper\libs.
Enviado: 27 Jul 2007 12:52
por Eolo
Maligno, uma pergunta "cretina": essa função, rodando direto no background, não faz o uso da CPU grudar nos 100%?
Enviado: 27 Jul 2007 12:55
por Maligno
Boa pergunta. Sim, pode fazer o consumo subir bastante, dependendo de quanto código e/ou de qual código você deixar pendurado em
background. Já vi isso acontecer, apesar de estarem usando a FreeTSlice(). Aí o sujeito pensava que ela não funcionava.

))
Enviado: 27 Jul 2007 13:01
por Maligno
Aproveito pra fazer uma correção no que eu disse acima:
NÃO será necessário um código em
background pra resolver o problema de leitura de código de barras do colega. Eu pensei numa coisa sem o devido cuidado. Agora, com essa discussão sobre consumo de CPU me deu um clique e os neurônios se encontraram.

))
Será necessário apenas criar uma função que seja a única chamadora de InKey() em todo o programa. Ao receber o tal código de tecla "extra", que identifica uma seqüência de teclas vindas do leitor de código de barras, essa própria rotina chamaria uma função de registro do funcionário. Se não for o tal caractere "extra", ela passa o código da tecla pra frente, como se ela própria fosse a InKey(). Não é necessário pendurar nada em
background.
Enviado: 27 Jul 2007 13:37
por sygecom
Tche, Maligno...quer dizer que com essa sua ultima dica o colega ...vai conseguir usar o mesmo micro para o relogio ponto dele e ainda poder usar normalmente como uma estação de trabalho ?
Será necessário apenas criar uma função que seja a única chamadora de InKey() em todo o programa
Por Favor, post um exemplo ...acho que vai ser do interese de todos...alias...como que se diz para um leitor enviar uma sequencia de teclas....tenho um leitor que se não me falha a memoria é da marca procomp...e não tem configuração adicional...ele simplesmente faz a leitura dos codigo de barra e envia para o buffer do teclado...como seria exatamente esse seu exemplo ?