Ir para conteúdo
  • Cadastre-se

dev botao

[Ajuda] Função para bloquear Teclado e Mouse.


  • Este tópico foi criado há 4599 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Ola,

comecei a desenvolver minha AC com a Dll do ACBr32_DLL\ACBr.Net, até então esta tranquilo.

só agora que iniciei as funções do TEF, e nao encontrei a função para travar Teclado e Mouse (que a homologação exige).

Se existe esta função e eu nao encontrei, alguem poderia me dizer qual é, ou se quiser, podemos desenvolve-la.

estou animado com este projeto do ACBR, e queria contribuir.

vlw

Link para o comentário
Compartilhar em outros sites

Alô,

Em algumas bibliotecas de componentes de automação comercial existem funções de bloquear teclado e mouse, nas dlls da bematech, daruma, etc.

Eu particularmente acho um design incorreto uma DLL de comunicação com equipamentos manipular a camada de interface gráfica com o usuário, ainda mais a ACBr32.DLL que pretende trabalhar com várias linguagens e sistemas operacionais.

Em meu aplicativo de automação, esse requisito foi naturalmente cumprido mantendo os inputs desabilitados enquanto o TEF trabalha.

Vou verificar se o ACBr possui a função equivalente e se dá pra implementar na DLL.

********

Para ajudar no projeto, baixe o código fonte pelo SVN e dê um "passeio" por ele.

Você pode ajudar de diversas formas:

- Reportando bugs e necessidades enquanto desenvolve seu aplicativo usando o ACBr.

- Implementando novas funções

- Criando aplicativos de exemplo

- Divulgando o projeto

Fique a vontade para perguntar.

Abs,

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Ola,

entendi o que você quis dizer, mas para homologação, eles nao exigem que o teclado e o mouse nao interfiram no processo, se eu simplesmente bloquear o meu AC e deixar o TEF trabalhando, se apertar alt+f4 por exemplo, pode dar algum problema ou eu estou errado?

no caso, você ja conseguiu homologar com a ACBrDll.net? se sim, você simplesmente bloqueou a sua AC e deu tudo certo?

eu baixei todo o projeto pelo SVN, e vou anotar algumas coisas no processo de desenvolvimento e posto aqui.

Obrigado,

vlw!!!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Não tenho certeza se entendi direito. Mas, se você bloqueou o teclado na AC, Alt+F4 não vai fazer nada.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores

Acho que não. Você bloqueou o teclado, não a aplicação. É assim que o DEMO do ACBrTEFD funciona.

Não entendi como podem ser diferentes... ou talvez não tenha entendido corretamente sua questão.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

então, mas o que o Rafael fez, foi bloquear a aplicação dele, e nao o teclado. Eu to usando o ACBrDll...esse ACBrTEFD é com o ACBrMonitor, é por comando de texto, certo?

teria como eu integrar os dois? o da DLL eu uso pro cupom e uso o ACBrTEFD para o TEF?

Link para o comentário
Compartilhar em outros sites

  • Consultores

não leo,

O ACBrTEFD é o componente para Delphi para a comunicação com TEF do qual o ACBrMonitor e da DLL foram baseados. Não é por comando texto.

Acho melhor deixar o Rafael lhe responder com mais detalhes pois eu não tenho prática com a DLL, apenas com os componentes.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Sim, eu homologuei o tef com a ACBr.Net e usando a DLL do SiTef (Tef dedicado da software express)

Você está homologando TEF discado ou dedicado? O componente do ACBr (acho) que é só pra TEF Discado.

Como meu aplicativo só usa TEF dedicado, eu não inclui ele na ACBr32.dll.

***

O caso do Alt+F4 e outros atalhos do windows, existem na API do windows chamadas próprias para isso. Como um aplicativo de AC não deve ser minimizado nem fechado, esse requisito também foi naturalmente cumprido durante o desenvolvimento.

Mas como eu disse, acho que essas funções devem pertencer ao escopo na sua aplicação (e não da DLL do ACBr ou do SiTef).

Se você desenvolve uma automação em Clipper, bloquear o teclado seria bem diferente de uma automação em Java ou de outra em Delphi. Meu aplicativo por exemplo é desenvolvido em WPF, e as DLLs que usam diretamente a API do windows fazem uma bagunça danada na interface gráfica.

De uma olhada nesse post:

http://bytes.com/topic/c-sharp/answers/ ... sc-alt-tab

Abs,

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Lembro que já discutimos sobre implementar o TEF dedicado no ACBr,

Achei um trecho interessante da conversa no antigo fórum do ACBr, lá no ForumWeb

http://www.forumweb.com.br/foruns/topic ... f__st__100

A conclusão que chegamos foi que atualmente só fazemos TEF via SiTEF. Assim é muito mais fácil implementar na linguagem de destino.

Só se um dia tivermos vários fornecedores (como temos vários ECFs), usar o ACBr como uma interface padrão para todos eles seria vantajoso.

Abs

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

entendi, concordo com você, que esta função não deve ser na dll, até pra nao ter problemas com multilinguagens. estou dando uma olhada no post, vou usar aquelas funções.

No seu caso você usou o ACBr.Net para o ECF e usou a dll do SiTef para comunicação com TEF?

a minha AC será TEF discado, e estou tendo uma dificuldade aqui para imprimir os comprovantes do cartão... eu uso o "AcbrECF.AbreCupomVinculado" e em seguida utilizo "AcbrECF.LinhaCupomVinculado", até ai blz, só nao consigo fechar este cupomVinculado, eu envio o "AcbrECF.FechaCupom" mas da um erro vindo da impressora (estou usando o emulador da Bematech).

vlw!!!

Link para o comentário
Compartilhar em outros sites

O Vinculado é fechado com o método FechaRelatorio().

No fim das contas o vinculado é um relatório ... tanto que caso haja falha na impressão do vinculado, é requisito você reimprimir usando um relatório gerencial.

O método FechaCupom() é só pra cupom fiscal (venda), e o FechaNaoFiscal() só para comprovantes não fiscais.

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Oops, na minha versão tem esse método. Na DLL ele se chama ECF_FechaNaoFiscal.

Vou dar uma revisada pra ver se o SVN não está desatualizado.

Obrigado por avisar.

Abs,

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Outra coisa, no caso eu nao posso entao usar o AbrirCupomVinculado para imprimir os comprovantes, certo?

estou tentando aqui com dois cartões, e da erro quando tento abrir pela segunda vez o "AbrirCupomVinculado".

no caso eu posso imprimir usando o relatorioGerencial os comprovantes? (eu acho que nao)

Link para o comentário
Compartilhar em outros sites

Bem, vou te contar sobre a minha homologação, e isso é uma longa história:

- Quando vc abre o vinculado, como o próprio nome diz, ele é "vinculado" ao número do cupom fiscal.

E algumas impressoras permitem abrir mais de 1 vinculado para o cupom, outras não.

Esse foi o meu caso, usando a bematech.

- Aí o pessoal da homologação falou: Imprime tudo num vinculado só, tá tranquilo!

Seria fácil, pena que no vinculado vem escrito a forma de pagamento e o valor pago...

Assim eu não podia imprimir 2 comprovantes totalizando 20 reais, num único vinculado com valor de só 10 reais.

- Aí o pessoal da homologação falou: Pra nós não tem problema se você agrupar os 2 cartões num pagamento só no ECF, desde que saiam os 2 comprovantes no vinculado.

Aí eu implementei dessa forma: se você paga com 2 cartões, ao invés de sair 2 pagamentos no ECF, só sai 1 pagamento, e imprime 1 vinculado com os 2 comprovantes ...

Eu lembro que essa solução gerou outros problemas. Não me recordo o que especificamente, mas tinha algo relacionado misturar cartão com dinheiro, etc ....

Mas você tá no caminho certo!!! Boa sorte.

Abs,

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

obrigado por declarar sua experiencia com a homologação.

deixa eu ver se entendi:

No ECF (se comprar com 2 cartões) você solta com 1 forma só de pagamento, ai na hora de imprimir os comprovantes, você abre um CupomVinculado e solta as 4 vias dos cartões (2 do primeiro e 2 do segundo) e depois fecha o relatorio, é isso?

se for isso, tranquilo, porque no meu caso, eu até consigo soltar todas as formas no ECF certinho (Credito, Debito, Dinheiro), mas nos comprovantes que eu nao to conseguindo soltar separado de um cartão para o outro.

Mas se puder juntar tudo em um só, separando de um cartão para o outro com um ESPAÇO, blz.

vlw, obrigado novamente.

Link para o comentário
Compartilhar em outros sites

Exatamente isso que eu tive que fazer.

Mas a minha homologação foi com o SiTef, TEF Dedicado. Não sei quanto a homologação com TEF Discado.

Como isso é um problema comum, já que é limitação do ECF, tente postar essa dúvida em outra área do fórum. Os usuários do ACBr Delphi/Lazarus possuem muito mais tempo de estrada que a gente!

Abs,

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Ola,

sobre a função de bloquear, eu consegui usar a do teclado, bloqueia em todo o computador, mas a do mouse bloqueia apenas na minha aplicação, você saberia agluma função que trava o mouse completamente no pc? ou você usou essa mesmo que bloqueia apenas na aplicação?

Vlw!!!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4599 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.