sobre leitor de código de barra..desafio.

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

scom
Usuário Nível 3
Usuário Nível 3
Mensagens: 133
Registrado em: 15 Nov 2004 10:49
Localização: Dourados/MS

sobre leitor de código de barra..desafio.

Mensagem 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
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Olha,

Desculpe... entrei no tópico errado

Jânio
Editado pela última vez por janio em 27 Jul 2007 11:47, em um total de 1 vez.
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: sobre leitor de código de barra..desafio.

Mensagem 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...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: sobre leitor de código de barra..desafio.

Mensagem 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().
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem 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....
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Aliás, para o caso de alguém querer, tenho as duas LIBs na minha área "pub", diretório clipper\libs.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Maligno, uma pergunta "cretina": essa função, rodando direto no background, não faz o uso da CPU grudar nos 100%?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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. :)))
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem 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 ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder