Jump to content

Search the Community

Showing results for tags 'usb'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

There are no results to display.

Forums

  • Fórum Aberto - ACBr
    • ACBr News
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • ACBr's Pub
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Data Base
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categories

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
    • ACBrLib Android - Pro
  • Free Download
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras
    • ACBrLib Android - Demo

Calendars

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Community Calendar
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL

Found 23 results

  1. Bom dia. Estou realizando testes com o ACBrPOSPrinter com a impressora Diebold IM453HU-002, mas a mesma não imprime QRCode. Vi que no tópico abaixo outra pessoa conseguiu configurando como "ppEscBematech". Já tentei com ppEscBematch e outros, também testando as code page 437 e 850 (no manual é informado suporte para essas páginas de código), mas sem sucesso. Uma coisa que observei é que no manual diz que o suporte para impressão de QRCode é pelo set de comandos padrão (ao que dá a entender, pelo menos no meu entendimento, não sendo esc/pos). Poderiam dizer se essa impressora foi homologada para o ACBr? Estou achando que ela não tem suporte para impressão de QRCode por comandos ESC/POS. Se alguém que já trabalhou com ela puder me informar. Obrigado.
  2. Bom dia. Gostaria de saber se alguém já trabalhou com a impressora GPrinter modelo GP-3120TU usando o ACBrPOSPrinter? Estou realizando testes em uma, com o exemplo fornecido pelo ACBr mas não sai nenhuma impressão. A página de testes pelo Windows funciona, e do mesmo modo se eu tentar imprimir um .txt pelo bloco de notas. No exemplo do ACBrPOSPrinter ele consegue listar a porta USB "USB:Gprinter GP-3120TU" e também a porta RAW "RAW:Gprinter GP-3120TU" e ativa sem indicar nenhum erro, mas ao tentar enviar texto para impressão nada acontece. Tentei também por compartilhamento da impressora, e informando a porta \\127.0.0.1\GP-3120TU no componente, também ativa sem erro, mas ao enviar texto para impressão nada é impresso. Tentei alterar as propriedades da impressora no Windows para usar porta COM, mas quando faço isso, ao tentar ativar a impressora ocorre o erro "First chance exception at $76B87452. Exception class ESynaSerError with message 'Communication error 1: Função incorreta'.". Então mantive a comunicação pela porta USB mesmo, acredito que seja o mais recomendado. Já olhei o log e lá não é indicado nenhum erro. Obs.: A Code Page da impressora é 437 e isso também está configurado de acordo no ACBrPOSPrinter como pc437. Obs.2: Já resetei a impressora para os padrões de fábrica também. Marca: GPrinter Modelo: GP-3120TU Versão: V1.1 (G 2018-06-07) Interface: USB Label Value: 525 506 994 1-14 752 65 Size 80mm, 101mm Chinese GB18030: TSS24.BF2 Se alguém souber se tem alguma configuração específica que tenha que ser realizada nas opções dessa impressora para funcionar com o ACBrPosPrinter eu agradeço.
  3. Boa tarde caros colegas, seria possível utilizar o AcBr para assinar digitalmente PDF (diferentes da NF-e), ou seja, qualquer PDF que o cliente necessite assinar, como um contrato, por exemplo, utilizando o Token USB - certificado A3? Infelizmente não tenho conhecimento sobre assinaturas digitais com AcBr. Já pesquisei no fórum antes de postar a dúvida e não encontrei nada, algum(a) colega poderia ajudar? Obrigado.
  4. Olá, Acabamos de enviar para o SVN do ACBr, no commit 22076 um importante ajuste, para o componente ACBrPosPrinter conseguir identificar corretamente, todas as impressoras EPSON de Bobina. Após a atualização dos fontes do ACBr, toda a Linha de impressoras da EPSON, que utilizam Esc/Pos, podem ser identificadas e acessadas pelo ACBr, simplesmente configurando a Porta com a string: 'USB'. Explicando um pouco mais... As impressoras da linha de Ponto de Venda, da EPSON, podem ser configuradas em modos PrinterClass, e VendorClass Este vídeo da EPSON, fala um pouco mais sobre os Modos PrinterClass e VendorClass Antes, se usássemos a sintaxe de Porta = 'USB', o ACBr somente conseguia encontrar as impressoras da EPSON, se elas estivessem configuradas no modo PrinterClass... mas agora também conseguimos encontrar e acessar as impressoras EPSON em modo VendorClass Portanto, todas as Impressoras das fotos abaixo, são acessíveis, apenas usando: ACBrPosPrinter.Porta := 'USB'; Acessando a Impressora diretamente pela USB, o ACBrPosPrinter também conseguirá, ler status e informações da impressora... Impressoras das Fotos, da Esquerda para a Direita: TM-H6000IV, TM-88V, TM-L90, TM-T20 e TM-T20X
  5. Ola pessoal possuo 2 equipamentos PINPAD tef novos na caixa para venda que nao foram utilizado pela minha empresa, faco preco justo do mercado, equipamento nunca utilizado. PPC910 LCM123 1 SAM USB PR
  6. Prezado parceiro desenvolvdor, Nesse post eu gostaria de compartilhar uma informação muito relevante para você. As nossas impressoras térmicas possuem uma porta USB (nativa) e por essa razão a velocidade e estabilidade na hora de fazer comunicação com as nossas impressoras muitas vezes é melhor do que com outras impressoras de mercado. Eu afirmo isso porque trabalhei anos dando suporte e o fato de ficar tendo que instalar emuladores de porta serial e/ou simulares, além de darem trabalho, acabam gerando gargalos na comunicação com a impressora e também muitas das vezes causam erros e travamentos. Concluo dizendo, que se você quer ter menos trabalho na hora de inslatar uma impressora com seu sistema e menos trabalho ainda na hora de dar suporte, opte por uma Epson que com toda certeza você não irá se arrepender. Um abraço!
  7. Não consegui imprimir etiquetas na impressora ELGIN L42 USB usando o ACBrETQ mesmo setando a porta como USB002 que é a porta usb que a impressora está instalada nada acontece. Alguém poderia me ajudar com isso?
  8. Olá pessoal, Introduzi no componente ACBrPosPrinter, um novo mecanismo de acesso a Impressora Agora poderemos acessar algumas impressoras, usando a Sintaxe: ACBrPosPrinter1.Porta := 'DLL:MARCA'; Onde MARCA, será o nome da Marca do Fabricante da Impressora... Até o momento, temos suporte para as marcas "ELGIN", e "EPSON" A ideia por traz dessa nova sintaxe de Porta, é permitir usar a DLL/SO do Fabricante, para Imprimir diretamente na Impressora... Ok.. o ACBrPosPrinter, já conseguia acessar impressoras Não Fiscais, pela Porta USB, usando a Sintaxe "RAW:" ACBrPosPrinter1.Porta := 'RAW:Nome da Impressora no Windows'; Mas então porque desenvolvemos essa nova forma de acesso ? A nova sintaxe "DLL:", tem algumas vantagens, em relação a sintaxe "RAW:" Não depende da instalação do Driver de Spool da Impressora.. (note porém, que em alguns casos, o Driver de Spool não pode estar instalado, pois ele bloqueia o acesso a USB) Podemos Ler Informações da Impressora (o que não é possível no modo RAW) Entretanto, como foi dito antes, dependemos de DLL exclusiva do fabricante, para o acesso a Impressora pela USB... Quais são essas DLLs ? Para onde eu devo copiá-las ? Vejamos como foi descrito no ACBrSerial-change-Log.txt Creio que isso responde as duas perguntas, correto ? Você pode encontrar as DLLs no nosso SVN, na pasta: \ACBr\DLLs\PosPrinter, ou ainda pela Web: http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/PosPrinter/ Você pode ainda baixar uma versão do Demo PosPrinterTeste, atualizada, compilado em Lazarus/FPC no link abaixo: Como funciona essa nova técnica ? Quem faz todo acesso as Portas suportadas pelo ACBr, é um subcomponente chamado ACBrDevice, e há um bom tempo, esse componente já possui uma possibilidade de Integração por Hooks O que é Hook ? https://pt.wikipedia.org/wiki/Hooking A ideia por trás dos Hooks, é instalar ganchos, em eventos, que nos permitam interceptar algumas ações e chamadas... Veja esse trecho de código FDevice.HookAtivar := PosPrinterHookAtivar; FDevice.HookDesativar := PosPrinterHookDesativar; FDevice.HookEnviaString := PosPrinterHookEnviaString; FDevice.HookLeString := PosPrinterHookLeString; Aqui instruímos o subcomponente ACBrDevice, a chamar nossos eventos, quando ele precisar "Ativar", "Desativar" uma porta e também quando ele for "EnviarString" e "LeString", de uma determinada porta... Então no interior do componente ACBrPosPrinter, implementamos os eventos indicados acima (PosPrinterHookAtivar, PosPrinterHookDesativar, etc) ... Com isso, o ACBrDevice executará um código nosso, ao invés do que ele normalmente executaria... Veja que dentro dos eventos de ativação e desativação usamos uma Classe de Hook (leia mais abaixo) procedure TACBrPosPrinter.PosPrinterHookAtivar(const APort: String; Params: String); begin if Assigned(FHook) then FHook.Open(APort); end; procedure TACBrPosPrinter.PosPrinterHookDesativar(const APort: String); begin if Assigned(FHook) then FHook.Close; end; FHook por sua vez, é uma variável interna ao ACBrPosPrinter, que contem uma Classe de Hook (TACBrPosPrinterHook), e implementa os comandos necessários, para transmitir essas ações, a DLL do fabricante... Veja o exemplo abaixo, como fica a implementação dos Hooks de Ativar e Desativar, da ELGIN... observe que chamamos métodos Externos, da DLL da Elgin, como: "PrtPortOpenW" e "PrtPortClose" procedure TElginUSBPrinter.Open(const APort: String); var errorNo: Integer; begin if Connected then Exit; inherited Open(APort); try errorNo := xPrtPortOpenW(FPrinter, WideString(fpPort)); // <------- A Q U I ------- if (errorNo <> E_SUCCESS) then raise Exception.CreateFmt(CERROR_OPEN, [fpPort, fpPrinterName]); except fpConnected := False; fpPort := ''; raise; end; end; procedure TElginUSBPrinter.Close; var errorNo: Integer; begin if not Connected then Exit; errorNo := xPrtPortClose(FPrinter); // <------- A Q U I ------- if (errorNo <> E_SUCCESS) then raise Exception.CreateFmt(CERROR_CLOSE, [fpPort, fpPrinterName]); inherited Close; end; Com isso, conseguimos usar a DLL do Fabricante, para estabelecer um túnel entre o ACBrPosPrinter e o equipamento... Como posso implementar um Hook para um novo modelo ? Os Primeiros passos, são verificar: Se o Fabricante disponibiliza uma DLL para acesso direto ao equipamento (sem depender do Spooler) Se há nessa DLL, um método que nos permita Escrever e Ler Dados da Porta USB Ou seja, não precisamos de métodos de alto nível, que façam a formatação de caracteres, ou manipulem a impressora... Pois continua sendo o ACBrPosPrinter, quem montará toda a Sintaxe de comandos a serem enviados para a Impressora, usando a linguagem Esc/Pos... e igualmente, será o ACBrPosPrinter que fará a leitura de respostas, quando for necessário... Na DLL da Elgin, temos um ótimo exemplo de método para isso... function PrtDirectIO(printer:Pointer; // Ponteiro com a Impressora instanciada por PrtPrinterCreatorW writeData:PByte; // Buffer com dados a serem enviados writeNum:integer; // Número de Bytes em "writeData" (tamanho do Buffer) readData:PByte; // Ponteiro com o Retorno a ser Lido (Buffer de saída) readNum:integer; // Numero de bytes disponíveis para escrita em "readData" (tamanho disponível no Buffer de Saída) preadedNum:PInteger // Número de bytes realmente escritos em "readData" ): Integer; cdecl; // Status de retorno E_SUCCESS = 0; Tendo isso em mãos, podemos criar uma cópia de uma das Units já existentes, como por exemplo a Unit ACBrEscPosHookElginDLL.pas, e implementar o suporte usando a nova DLL, e efetuar os ajustes referente a nova Marca
  9. O ACBr suporta impressoras USB ? Durante muito tempo, a resposta a essa pergunta foi: NÃO, você precisa usar a Porta COM, Spool do Windows (RAW), Compartilhamento de Rede ou algum outro método... Porém agora isso mudou... Agora componentes que usam o ACBrDevice, como por exemplo o ACBrPosPrinter (para Impressoras Não Fiscais) e o ACBrETQ (para Impressoras de Etiquetas), possuem suporte a portas USB de maneira nativo do Windows... Ou seja, sem a necessidade de DLLs externas... Isso significa que caso o seu equipamento esteja conectado ao PC, por uma Porta USB... Você poderá conectar os componentes do ACBr, simplesmente definindo na Propriedade Porta algo como "USB" Exemplos de uso: ACBrPosPrinter1.Porta := 'USB' - Tenta descobrir qual é a Primeira Impressora de Bobinas plugada na USB e faz uso dela, se encontrar.. ACBrPosPrinter1.Porta := 'USB:Elgin' - Tenta conexão em alguma Impressora USB, listada como sendo do Fabricante 'Elgin' ACBrPosPrinter1.Porta := 'USB:Sweda, SI-300S' - Tenta conexão na Impressora USB, do Fabricante "Sweda" e do Modelo "SI-300S". ACBrETQ1.Porta := 'USB' - Tenta descobrir qual é a Primeira Impressora de Etiquetas plugada na USB e faz uso dela, se encontrar.. ACBrETQ1.Porta := 'USB:Zebra, GC420t' - Tenta conexão com a Impressora USB do Fabricante "Zebra", e modelo "GC420t" Observe que essa nova implementação é totalmente diferente do método de Hook, onde usávamos a DLL do Fabricante, como túnel USB... Nesse novo cenário a comunicação USB é feita diretamente usando a API do Windows, ou seja, sem necessidade de DLLs externas. Para compreender um pouco mais, sobre esse método veja esse artigo O método de Hook ainda está disponível, usando o prefixo de porta, 'DLL:' Como os Equipamentos são identificados ? Todo Equipamento USB, possui um código de identificação do Fabricante, chamado de Vendor ID (VID), e também do Produto chamado de Product ID (PID). Essa numeração é controlada pela USB.ORG, e você pode encontras uma lista de Todos os "Vendors ID", nesse link A classe TACBrUSBIDDataBase, mantêm um Banco de Dados interno, chamado ACBrUSBID.ini, com o mapeamento dos principais Equipamentos do Mercado Brasileiro.. Esse Banco de Dados é um simples Arquivo do tipo INI, que é compilado como resource e adicionado ao componente... Clique aqui para ver o layout do Banco de Dados no Formato INI, observe os comentários no inicio do arquivo, com algumas instruções de como inserir novos equipamentos nele. Se você distribuir o arquivo ACBrUSBID.ini, na mesma pasta do Executável da sua aplicação, a classe TACBrUSBIDDataBase fará uso desse arquivo, ao invéz de usar o resource interno... Isso pode ser muito útil para atualizar a lista de Dispositivos conhecidos, sem necessitar compilar uma nova versão do programa, apenas atualizando o ACBrUSBID.ini Como posso listar os equipamentos identificados pelo ACBr ? Use a Força, leia os fontes... Vamos ver trechos de código, do Demo PosPrinterTeste {$IfDef MSWINDOWS} // Os métodos abaixo, somente estão disponíveis para compilação em Windows // Carrega a lista de Impressoras detectadas em: ACBrPosPrinter1.Device.WinUSB.DeviceList ACBrPosPrinter1.Device.WinUSB.FindUSBPrinters(); // Varre a lista de Impressoras USB detectadas, e adiciona as mesmas, nas opções de Porta for K := 0 to ACBrPosPrinter1.Device.WinUSB.DeviceList.Count-1 do cbxPorta.Items.Add('USB:'+ACBrPosPrinter1.Device.WinUSB.DeviceList.Items[K].DeviceName); {$EndIf} Como o ACBr nomeia os dispositivos ? O "DeviceName" será calculado, de acordo com as informações disponíveis no banco de Dados... Primeiro o ACBr usa a API do Windows para captura informações do VID (Vendor ID ou Fabricante) e o PID (Product ID ou Modelo), dos Equipamentos listados... Se o ACBr falhar nessa tarefa, o equipamento será ignorado (não será listado) Se for capturado com sucesso a descrição em FriendlyName, então ela será usada.. Caso contrário, o ACBr tentará compor o nome, baseado no VID e PID Se o VID do Fabricante for encontrado na sessão [Vendors] de ACBrUSBID.ini, então o VID será substituído pela Descrição do Fabricante... Observe que na sessão [Vendors], temos vários fabricantes que não são conhecidos no mercado Brasileiro, mas são de equipamentos OEM, de Empresas nacionais... Nós procuramos manter o nome Original do Fabricante, de acordo com a tabelas de VID da OSB.ORG Se o VID não tiver equivalência na relação de [Vendors] de ACBrUSBID.ini, então ele será listado com o próprio número VID, que são 4 algarismos em Hexadecimal... Exemplo: "0b1b" Procuramos pelo PID do Equipamento, na sessão específica do Fabricante. Se não houver uma chave com o PID, então o ACBr usará o próprio número PID, para Nomear o Modelo. O PID também é composto do 4 algarismos em Hexadecimal... Exemplo: "0001" Se encontrar uma entrada com o PID, dentro da sessão do Fabricante, então o ACBr usará a Descrição do Modelo, e poderá desprezar a descrição do Fabricante, se a Descrição do modelo possuir uma vírgula, Exemplo: 7008=Elgin, I9;1;1... Nesse caso será desprezada a descrição do Fabricante "20d1-Dascom" e será usada apenas a descrição do Modelo, "Elgin, I9". Detecção automática de Porta e Protocolo Como agora temos um Banco de Dados, que informa além da Descrição do equipamento, qual é o Tipo do mesmo e qual o protocolo que ele usa, então os componentes ACBrPosPrinter e ACBrETQ, podem fazer uso dessas informações... Ou seja, se o equipamento for detectado com sucesso, no momento da Ativação da Porta (durante a chamada ao método "Ativar"), será usado o Protocolo Definido no Banco de Dados. Se for detectado que o equipamento USB é na verdade uma porta COM virtual, então o ACBr irá preferir fazer uso da Porta COM virtual, chaveando para mesma, de forma transparente... Pois dessa forma ele tem um melhor suporte a leitura de informações do equipamento. Se for detectado que a porta USB possui um equipamento incompatível com o componente em questão, isso também será alertado... Exemplo, você tentar conectar em uma porta 'USB:Zebra, GC420t' no componente TACBrPosPrinter, então um erro será emitido, pois esse equipamento não é uma impressora de Bobinas Como a mágica funciona ? Reparem que foi adicionado ao repositório a Unit ACBrWinUSBDevice.pas, essa Unit implementa chamadas a SetupAPI do Windows, para detectar os Dispositivos USB que estão listados em uma determinada Classe de Equipamentos (Class GUID)... O estudo desse artigo, foi fundamental, para a criação dessa Unit. Uma vez capturada o nome da Interface do Equipamento USB (em TACBrUSBWinDevice.DeviceInterface), podemos acessá-lo usando funções de manipulação Arquivos da API do Windows, como: CreateFile, WriteFile, ReadFile. Nem todos os dispositivos USB implementam suporte aos métodos ReadFile ou WriteFile... ou seja, pode não funcionar em alguns dispositivos.. Se você souber qual é o nome da Interface USB do equipamento, poderá informar ela diretamente na propriedade "Porta" dos componentes... Exemplo: ACBrPosPrinter1.Porta := '\\?\usb#vid_1c8a&pid_3002#0000000000022#{28d78fad-5a12-11d1-ae5b-0000f803a8c2}'; Para dúvidas, suporte ou correções, por favor crie um novo tópico, clicando aqui Para testar, baixe uma nova versão do PosPrinterTeste.exe
  10. Prezados, bom dia, No dia 1/02/2019, na Revision 16468, foi criada uma nova funcionalidade, adicionando suporte a impressoras conectadas via USB, o que é muito bacana. Mas, no meu caso eu informava a Porta como "USB" apenas para que pudesse usar o componente sem nenhuma impressora atrelada diretamente. Dessa forma eu conseguia imprimir via Rede ou até mesmo apenas gerar o PDF para envio por e-mail do consumidor. Sugiro uma pequena alteração na procedure DetectarECriarHook: If Porta='USB' then Exit; Caso não seja informada a marca da impressora, sair da função sem gerar erro. É algo extremamente simples e que me ajudaria muito. Desde já agradeço ACBrPosPrinter.pas
  11. Boa Noite, como já vi em alguns lugares do forúm , não ficou claro , acbr tem alguma esperança em funcionar usb com bematech ?
  12. Olá, bom dia. Recentemente fiz um estudo sobre a comunicação com o miniteclado smak SKO-44, porém o teclado usado para estudo era PS/2, que foi facilmente utilizado em conjunto com o ACBrDis, porém recebemos aqui um teclado USB, porém nao consegui comunicar e mandar comandos com o ACBRDis, pois quando conecta, ele comunica como HID no software de configuração da Smak, então tentei colocar HID na porta do ACBrDis, porém não funcionou, tentamos comunicar de varias formas, tentamos entrar em contato com o fabricante para ver se tinha como emular o PS/2(falou que o tipo HID já era PS/2 emulado), então eles falaram para entrar em contato com o ACBr para verificar a melhor forma de se comunicar. Obs.: tentei utilizar um adaptador USB p/ PS/2 como foi falado no seguinte tópico( Link) e também não deu certo, nesse caso o teclado não funcionava nem no windows(não digitava nada) e não comunicava no software. Então gostaria de saber se tem alguma alternativa para esse caso, se teria o que ser feito, obrigado.
  13. Olá pessoal, Acabo de enviar para o SVN, modificações em ACBrDevice, para permitir que os componentes que fazem uso dele, possam Imprimir em modo "Raw", usando as Impressoras instaladas no Sistema Operacional. Isso na prática, permite definir ACBrPosPrinter.Porta como o exemplo abaixo... Exemplo: Supondo que no Sistema Operacional, exista uma impressora instalada com o nome "SWEDA SI-300S"... então poderíamos imprimir na mesma usando. ACBrPosPrinter1.Porta := 'SWEDA SI-300S'; ou ACBrPosPrinter1.Porta := 'RAW:SWEDA SI-300S'; // O Prefixo "RAW:", ajuda o ACBrDevice a detectar o tipo de porta Com isso o ACBrPosPrinter irá enviar sua saída contendo comandos "EscPos", diretamente para a porta da Impressora (modo Raw), usando o Driver da mesma. A principal vantagem desse novo método, é permitir um melhor suporte a Impressoras USB e cujos drivers, não criam uma COM virtual.. Lembrando que a melhor maneira de se comunicar com uma impressora PosPrinter é usando portas Seriais... pois este é o único modo de lermos os Status da Impressora, suportado pelo "ACBrPosPrinter". Também fique atento ao fato, de que isso NÃO significa, que você poderá usar o PosPrinter em qualquer Impressora que não suporte EscPos... como por exemplo, uma impressora Lazer ou uma impressora que crie PDFs... O ACBrPosPrinter, apenas transforma as tags de impressão, em comandos EscPos. É a impressora EscPos, quem faz a "mágica" de transformar os comandos EscPos em QRCode, BarCode, etc.... Ou seja, se a impressora destino, não compreender "EscPos", ela apenas imprimirá lixo, quando receber os comandos... Segue abaixo o "Change-Log.txt" Atualizei o Demo do PosPrinter (Lazarus e Delphi), para melhor demonstrar e testar o suporte a portas "RAW" O executável já compilado, pode ser baixado em:
  14. Olá pessoal, Enviei para o SVN, uma refatoração da Unit ACBrECFEscEcf.pas, que permitirá o uso dos ECFs da Espon do convênio 09/09 (TM-T800F/TM-T900F), através da USB. Para tal, é necessário que "InterfaceEpson.dll" versão: 4.4.6 ou superior, esteja na mesma pasta da sua aplicação. e que você configure: ACBrECF.Porta := 'USB' Feito isso, o ACBrECF usará a DLL da Epson como "túnel", para acessar o Device pela USB. Isso elimina a necessidade de instalar o TMVirtualComPort da Espon, para emular uma porta Serial... Em anexo a este tópico, está a DLL que a Epson me enviou, e que contêm o comando especial, para Envio e Recebimento de comandos, usando o protocolo EscEcf. O Refactoring foi intenso nessa classe, para permitir o uso da DLL em conjunto com a comunicação direta pela Serial... Espero não ter "quebrado", nenhuma funcionalidade já existente... Por favor reportem (com detalhes) qualquer problema encontrado. InterfaceEpson_04_04_14.zip
  15. Bom dia amigos. Desculpe se estou sendo repetitivo, mas não encontrei nenhuma resposta que me ajudasse, e estou tendo muitos problemas, pois a maioria dos meus clientes teem dificuldades com queda energia, ambiente não apropriado, sem no-breaks, e uso indevido por usuários. Estou tendo dificuldades de perda de conexão com as impressoras USB ou quando são serial conectadas a uma placa Pci Serial. Funcionando tudo bem, mas ocorre algumas situações: a- Impressora USB, se muda o cabo usb de porta usb, as vezes troca o virtual serial, exemplo de com5 para com7 e não consigo ativar mais. b- Quando usa uma placa pci serial (muitas placas mães não possuem saida serial), por algum motivo o windows troca a porta, exemplo de com6 para com10 Como os amigos estão resolvendo isso, pois o cliente para de trabalhar por não encontrar a impressora? Já tentei fazer busca automática, mas neste mesmo pc tem um outro dispositivo serial, como uma balança, daí o sistema "acha que encontrou a porta" da impressora. Uso também AcBrECF para impressora não fiscal para enviar comanda de cardápio para a cozinha de lanchonetes/restaurantes e ESCPOS para NFC-e Alguma dica?
  16. Gostaria de saber se tem a possibilidade de imprimir imagens utilizando USB. Eu consegui fazer a impressora funcionar utilizando exemplo disponibilizado no trunk2 compartilhando a impressora e sentando na porta a impressora compartilhada. Estou utilizando uma impressora Argox OS-214 Plus, a impressão das etiquetas sai corretamente desse jeito, porem imagens não. Obrigado.
  17. Bom dia! Alguém sabe me dizer se o ACBrDIS tem suporte para o teclado Gertec USB TEC 55? Se tem suporte, qual modelo de teclado vocês configuram no componente? []
  18. Senhores, Antes de fazer esse post, pesquisei muito sobre o tema e todas elas a solução dada foram com o cabo conversor. Estou precisando saber como é que o ACBrECF consegue se comunicar com impressoras fiscais diretamente a porta USB, utilizo a impressora Bematech MP-4000 TH FI e a aplicação de teste não consegue se comunicar. De fato o ACBrECF suporta impressoras com portas USB na impressora? O problema é que os meus clientes não querem trocar o sistema para o meu por que não querem ter esse custo de aquisição pelo fato do sistema deles já fazer isso e sei que esse sistema não usa ACBr. Agradeço desde já pela vossa atenção e peço desculpas ao moderador deste fórum caso este assunto já tenha sido falado neste fórum. Com os melhores cumprimentos, Saulo Lima.·.
  19. Boa Tarde! Eu faço um trabalho voluntário numa Entidade em que eu e outras 15 pessoas cadastramos no site da Nota Fiscal Paulista os Cupons Fiscais doados para a Entidade poder receber parte do imposto recolhido. Agora está começando vim pra gente o novo modelo de cupom fiscal com o QR Code e Código de Barras, e eu gostaria de saber qual modelo de leitor de Código de Barras USB vocês recomendam que seja bom e barato, pois iremos precisar de uns 20. Agradeço desde já pela atenção!
  20. Olá, estou trabalhando em um projeto onde estou utilizando o componente ACBRsms. O componente esta funcionando perfeitamente, porem, estou com um problema que ainda não consegui sanar. Para realizar a conexão com o modem, utilizo um "Combobox" que é carregado com todas as portas COM que estão em uso na maquina, mas, possuo diversos dispositivos conectados nesta maquina, cheguei a ter em certo momento, 6 portas COM disponíveis para selecionar, mas não sabia qual delas era o bendito modem. Estou a procura de uma maneira de poder listar os dispositivos conectados NOME. Alguém teria uma ideia? A maneira q utilizo para buscar as portas COM é: procedure AcharPortasSeriais(const AStringList : TStrings); var Registro: TRegistry; //Para trabalhar com os Registros do windows. Lista: Tstrings; indice: Integer; //Para incrementar. begin AStringList.Clear; Registro := TRegistry.Create; //Cria e aloca espaço na memória para o objeto. try Registro.RootKey := HKEY_LOCAL_MACHINE; //Define chave raiz. Registro.OpenKey('hardware\devicemap\serialcomm', False); //Abre a chave. Lista := TstringList.Create; try //Obtém uma string contendo todos os nomes de valores associados com a chave atual. Registro.GetValueNames(Lista); //Pega nos nomes das portas. for indice := 0 to Lista.Count - 1 do //Count é a quantidade de portas existentes. AStringList.Add(Registro.ReadString( Lista.Strings[indice] )); finally Lista.Free; end; Registro.CloseKey; finally Registro.Free; end; end;
  21. Bom dia a todos, Tenho um cliente que comprou uma impressora argox e ela é USB. Como eu configura o acbrmonitor para trabalhar com ela?
  22. Bom Dia. Existe alguma forma de usar o componente ACBRLCB com um leitor de código de barras USB? Obrigado!
  23. Ao ativar o ECF, aparece o erro: Erro ao carregar a função:Bematech_FI_EnviaComando de: Bemafi32.dll estou utilizando um ecf bematech, usb, sistema operacional windows 32 bits. ví nesse post que ainda estão sendo implementadas as funções para a bematech usb. Queria saber se já tem algum avanço em relação a implementação das funções para a bematech usb, queria saber também se alguém já passou por esse problema, e como resolvê-lo?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.