ACBr - xHarbour
Moderador: Moderadores
-
TerraSoftware
- Usuário Nível 3

- Mensagens: 353
- Registrado em: 28 Jul 2004 13:14
- Localização: Cianorte-PR
- Contato:
ACBr - xHarbour
Caros colegas, andei pesquisando um pouco sobre o projeto ACBr, achei bastante interessante, mas tive algumas duvidas. Me parece que o sub-projeto ACBrECF é direcionado para delphi, ou seja, ele é um componente que pode ser incluido em projetos desenvolvidos em delphi. Para quem usa outras linguagens, como nós, existe o sub-projeto ACBrMonitor que pode ser usado atraves de troca de informaçoes via arquivos TXT. Existe tambem o sub-projeto ACBrTEF, este, me parece, só em delphi.
Pergunto aos colegas: é realmente assim?? Não conseguimos usar os componentes do ACBrECF e do ACBrTEF em nossos programas desenvolvidos em xHarbour??
Pergunto aos colegas: é realmente assim?? Não conseguimos usar os componentes do ACBrECF e do ACBrTEF em nossos programas desenvolvidos em xHarbour??
-
dopi
- Usuário Nível 2

- Mensagens: 79
- Registrado em: 23 Out 2004 12:29
- Localização: Tatuí - SP
- Contato:
Neste caso, é recomendado o ACBrMonitor com Sockets (muito rápido e pode ser remoto)... Veja esse post:
https://pctoledo.org/forum/viewtopic.php?t=6691
https://pctoledo.org/forum/viewtopic.php?t=6691
- rochinha
- Administrador

- Mensagens: 4671
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Curtiu: 3 vezes
- Contato:
Re: ACBr - xHarbour
Amiguinho,
Fiz um teste recente com ACBrECFDLL e obtive sucesso usando uma Bematech e o antigo emulador Bematech.
Não tive problemas para integra-lo.
Quanto ao monitor fiz funções em meu sistema para interagir com o mesmo e obtive muito sucesso.
Já comunicação direta, TelNet, etc, nunca testei.
Se o componente for liberado em formato .DLL ou .OCX acho que exista uma grande possibilidade de uso do mesmo no mundo Harbour.
Fiz um teste recente com ACBrECFDLL e obtive sucesso usando uma Bematech e o antigo emulador Bematech.
Não tive problemas para integra-lo.
Quanto ao monitor fiz funções em meu sistema para interagir com o mesmo e obtive muito sucesso.
Já comunicação direta, TelNet, etc, nunca testei.
Se o componente for liberado em formato .DLL ou .OCX acho que exista uma grande possibilidade de uso do mesmo no mundo Harbour.
OPS! LINK QUEBRADO? Infelizmente links para www.pctoledo.COM.BR irão quebrar pois o Forum se foi, assim como nosso célebre Irmão de Bits Toledo. Ainda assim me ENVIE seu email com link do tópico encontrado na Web para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url] e tentarei lembrar do que se tratava. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
TerraSoftware
- Usuário Nível 3

- Mensagens: 353
- Registrado em: 28 Jul 2004 13:14
- Localização: Cianorte-PR
- Contato:
Re: ACBr - xHarbour
Caro colega rochinha.
Já utilizo o AcbrMonitor com comunicação TCP/IP, que, por sinal, funciona muito bem.
Acredito que via dll seria melhor ainda, o amigo tem algum exemplo de como utilizar a referida dll?
Outra coisa: sinceramente, as vezes (muitas vezes), penso em iniciar projetos novos em delphi, cara!! existe tanto componente ja pronto para delphi!! e no harbour é um tal de estica-e-puxa... de versao, de com X, de sem X, de lib gráfica, de rdd, de banco relacional, de .COM, de .ORG, de vai, de vem, de etc e tal. Cara! é dificil heim. Mas de qualquer forma a gente ainda continua na "peleja".
Obrigado.
Já utilizo o AcbrMonitor com comunicação TCP/IP, que, por sinal, funciona muito bem.
Acredito que via dll seria melhor ainda, o amigo tem algum exemplo de como utilizar a referida dll?
Outra coisa: sinceramente, as vezes (muitas vezes), penso em iniciar projetos novos em delphi, cara!! existe tanto componente ja pronto para delphi!! e no harbour é um tal de estica-e-puxa... de versao, de com X, de sem X, de lib gráfica, de rdd, de banco relacional, de .COM, de .ORG, de vai, de vem, de etc e tal. Cara! é dificil heim. Mas de qualquer forma a gente ainda continua na "peleja".
Obrigado.
-
pauloa1
- Usuário Nível 3

- Mensagens: 237
- Registrado em: 25 Jun 2008 14:57
- Localização: Augusto Pestana-RS
Re: ACBr - xHarbour
Concondo também, toda vez que surge uma mudança mais drástica, os usuários de delphi são os primeiros a ter os componentes, basta instalar o pacote e pronto , e Harbour...... sem falar de incompatibildades quando trocam de versão, uso WVW e agora não posso atualizar para a nova versão, porque da incompatibilidade. Assim fico com um pé atras sobre harbour.
Paulo
Paulo
- sygecom
- Administrador

- Mensagens: 7145
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Curtiram: 1 vez
- Contato:
Re: ACBr - xHarbour
Olá Paulo,
Sobre a incompatibilidade da GTWVW com as versões recente, isso não é problema do xharbour ou harbour, isso foi uma contribuição de terceiro que disponibilizou gratuitamente para quem quiser usar por conta e risco, agora como o xharbour e o harbour esta cada vez evoluindo e não podem parar no tempo por causa de contribuições de terceiros você tem que entrar em contato com quem fez essa contribuição e ver se a mesma vai acompanhar os projetos xharbour e harbour.
Agora se não queres mais esse tipo de preocupação, procure migrar para uma LIB visual que use por exemplo as API direto do windows, como Hwgui, Fivewin e etc...
Sobre a incompatibilidade da GTWVW com as versões recente, isso não é problema do xharbour ou harbour, isso foi uma contribuição de terceiro que disponibilizou gratuitamente para quem quiser usar por conta e risco, agora como o xharbour e o harbour esta cada vez evoluindo e não podem parar no tempo por causa de contribuições de terceiros você tem que entrar em contato com quem fez essa contribuição e ver se a mesma vai acompanhar os projetos xharbour e harbour.
Agora se não queres mais esse tipo de preocupação, procure migrar para uma LIB visual que use por exemplo as API direto do windows, como Hwgui, Fivewin e etc...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- rochinha
- Administrador

- Mensagens: 4671
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Curtiu: 3 vezes
- Contato:
Re: ACBr - xHarbour
Amiguinhos,
Desculpem a demora, ai esta o exemplo:
Esta foi a adapatação que fiz de um código Pascal para usar em xBase:
Caso possua uma Impressora real faça o teste e verifique qual porta COM esta instalada.
Fiz testes com uma Bematech real e com o Emulador DOS Bematech, funcionou legal.
O unico problema desta DLL é que ela possui os comandos básicos que estão exemplificados acima.
O link de download desta DLL ficará em http://www.5volution.com.br/downloads/f ... ecfdll.dll
Desculpem a demora, ai esta o exemplo:
Esta foi a adapatação que fiz de um código Pascal para usar em xBase:
Código: Selecionar todos
/////////////////////////////////////////////////////////////////////////////
//
// ACBR - Funcoes Compativeis com ACBrECFDLL.DLL
//
// Autor: Jose Carlos da Rocha
// Data: 24/03/2009
// Email: irochinha@itelefonica.com.br
// MSN: fivolution@hotmail.com
// Linguagem: xBase / Fivewin
// Plataformas: DOS, Windows
// Requerimentos: Harbour/xHarbour
//
/////////////////////////////////////////////////////////////////////////////
#include "fivewin.ch"
#include "dll.ch"
#define ACBrDLL "ACBrECFDLL.dll"
function main()
public hDLL := LoadLibrary( ACBrDLL )
if hDLL > 0
if DefineModelo( "Bematech", "COM6", 3 )
nRetorno := AbreCupom()
if nRetorno > 0
? "Cupom nao pode ser aberto."
endif
cTipoQtde := "I"
nCasasDecimais := "2"
cCodigo := "123456"
cDescricao := "PRODUTO TESTE"
cAliquotaICMS := "II"
nQtdes := 1
nValorUnitario := 2.50
nValorDesconto := 0
cUnidade := "UN"
cTipoDesconto := "%"
nRetorno := VendeItem( cCodigo, cDescricao, cAliquotaICMS, nQtdes, nValorUnitario ) //, nValorDesconto, cUnidade, cTipoDesconto )
if nRetorno > 0
MsgRun( "Cancelando cupom. Erro ("+str(nRetorno)+")" )
CancelaCupom()
endif
nRetorno := VendeItem( cCodigo, cDescricao, cAliquotaICMS, nQtdes, nValorUnitario*2 ) //, nValorDesconto, cUnidade, cTipoDesconto )
if nRetorno > 0
MsgRun( "Cancelando cupom. Erro ("+str(nRetorno)+")" )
CancelaCupom()
endif
nRetorno := VendeItem( cCodigo, cDescricao, cAliquotaICMS, nQtdes*3, nValorUnitario, 10, "LT", "%" )
if nRetorno > 0
MsgRun( "Cancelando cupom. Erro ("+str(nRetorno)+")" )
CancelaCupom()
endif
* Desconto := StrToFloatDef(InputBox('SubTotal','Digite o Desconto/Acréscimo:', '' ),0);
* Obs := InputBox('SubTotal','Digite a Observação:', '' );
* Retorno := SubtotalizaCupom( Desconto, Obs ) ;
nRetorno := SubTotalizaCupom( 0, "" )
if nRetorno > 0
MsgRun( "SubTotalizaCupom. Erro ("+str(nRetorno)+")" )
endif
* CodForma := InputBox('Pagamento','Digite o código da forma:', '' );
* Valor := StrToFloatDef(InputBox('Pagamento','Digite o Valor:', '' ),0);
* Obs := InputBox('Pagamento','Digite a Observação:', '' );
* Retorno := EfetuaPagamento( CodForma, Valor, Obs ) ;
nRetorno := EfetuaPagamento( "01", 100, "DEVE VOLTAR TROCO DE 1,25" )
if nRetorno > 0
MsgRun( "EfetuaPagamento. Erro ("+str(nRetorno)+")" )
endif
* Obs := InputBox('Fechamento','Digite a Observação Final:', '' );
* Retorno := FechaCupom( Obs ) ;
nRetorno := FechaCupom( "5Volution Fenix|http://www.5volution.com" )
if nRetorno > 0
MsgRun( "FechaCupom. Erro ("+str(nRetorno)+")" )
endif
if MsgYesNo( "Deseja cancelar este cupom?" )
nRetorno := CancelaCupom()
endif
* nRetorno := ReducaoZ( date() )
if MsgYesNo( "Deseja imprimir Leitura X?" )
nRetorno := LeituraX()
endif
if MsgYesNo( "Deseja visualizar log?" )
WinExec( "NOTEPAD LOG.TXT" )
endif
* Item := StrToInt(InputBox('Cancela Item','Digite a Número do Item:', '' ));
* nRetorno := CancelaItemVendido( Item )
else
MsgStop('Não foi possível ativar o ECF')
endif
FreeLibrary( hDLL )
else
MsgInfo( "ACBrECFDLL.dll nao foi carregada." )
endif
return nil
DLL32 FUNCTION DefineModelo( cModeloStr AS STRING, cPorta AS STRING, nTimeout AS _INT ) AS BOOL PASCAL FROM "DefineModelo" LIB ACBrDLL
DLL32 FUNCTION IdentificaConsumidor( cCPF_CNPJ AS STRING, cNome AS STRING, cEndereco AS STRING ) AS _INT PASCAL FROM "IdentificaConsumidor" LIB ACBrDLL
DLL32 FUNCTION AbreCupom( cCPF_CNPJ AS STRING, cNome AS STRING, cEndereco AS STRING ) AS _INT PASCAL FROM "AbreCupom" LIB ACBrDLL
DLL32 FUNCTION VendeItem( cCodigo AS STRING, ;
cDescricao AS STRING, ;
cAliquotaICMS AS STRING, ;
nQtd AS _DOUBLE, ;
nValorUnitario AS _DOUBLE, ;
nDescontoPorc AS _DOUBLE, ;
cUnidade AS STRING, ;
cTipoDescontoAcrescimo AS STRING ) AS _INT PASCAL FROM "VendeItem" LIB ACBrDLL
DLL32 FUNCTION FechaCupom( cObservacao AS STRING ) AS _INT PASCAL FROM "FechaCupom" LIB ACBrDLL
DLL32 FUNCTION SubtotalizaCupom( DescontoAcrescimo AS _DOUBLE, MensagemRodape AS STRING ) AS _INT PASCAL FROM "SubtotalizaCupom" LIB ACBrDLL
DLL32 FUNCTION EfetuaPagamento( cCodFormaPagto AS STRING, ;
nValor AS _DOUBLE, ;
cObservacao AS STRING, ;
lImprimeVinculado AS BOOL ) AS _INT PASCAL FROM "EfetuaPagamento" LIB ACBrDLL
DLL32 FUNCTION LeituraX() AS _INT PASCAL FROM "LeituraX" LIB ACBrDLL
DLL32 FUNCTION ReducaoZ( DataHora AS DATE ) AS _INT PASCAL FROM "ReducaoZ" LIB ACBrDLL
DLL32 FUNCTION CancelaCupom() AS _INT PASCAL FROM "CancelaCupom" LIB ACBrDLL
DLL32 FUNCTION CancelaItemVendido( NumItem AS _INT ) AS _INT PASCAL FROM "CancelaItemVendido" LIB ACBrDLL
Fiz testes com uma Bematech real e com o Emulador DOS Bematech, funcionou legal.
O unico problema desta DLL é que ela possui os comandos básicos que estão exemplificados acima.
O link de download desta DLL ficará em http://www.5volution.com.br/downloads/f ... ecfdll.dll
OPS! LINK QUEBRADO? Infelizmente links para www.pctoledo.COM.BR irão quebrar pois o Forum se foi, assim como nosso célebre Irmão de Bits Toledo. Ainda assim me ENVIE seu email com link do tópico encontrado na Web para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url] e tentarei lembrar do que se tratava. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Re: ACBr - xHarbour
Desculpe retomar um tópico antigo, mas gostaria de pedir a colaboração de vcs.
Eu comecei a desenvolver esta DLL, mas por falta de interesse(nunca recebi o retorno de alguém que tivesse testado) parei de desenvolver.
Caso alguém se disponha a testar e também a dar sugestões de como seriam os tipos de retorno da DLL posso continuar o desenvolvimento desta DLL e acrescentar todos os comandos do componente ACBrECF, deixando mais uma opção para quem não desejar usar o ACBrMonitor usar diretamente esta DLL.
Eu comecei a desenvolver esta DLL, mas por falta de interesse(nunca recebi o retorno de alguém que tivesse testado) parei de desenvolver.
Caso alguém se disponha a testar e também a dar sugestões de como seriam os tipos de retorno da DLL posso continuar o desenvolvimento desta DLL e acrescentar todos os comandos do componente ACBrECF, deixando mais uma opção para quem não desejar usar o ACBrMonitor usar diretamente esta DLL.
André Ferreira de Moraes
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
- rochinha
- Administrador

- Mensagens: 4671
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Curtiu: 3 vezes
- Contato:
Re: ACBr - xHarbour
Amiguinho,
Talvez voce tenha encontrado não só aqui neste forum mas no outro forum que voce monitora que coloquei postagens referentes ao uso de sua .DLL e recentemente disponibilizei testes e material referente a ela.
Acho até que ela nem precise ser muito profunda, mas que possua alguns comandos a mais como geração de arquivos de memória e cupons não fiscais.
Se não me engano foi também de seu site que baixei algo relacionado a TEF, se não for esqueça.
Sinceramente cheguei a adaptar sua .DLL em um de meus PDVs mas só pude fazer testes com Bematech real.
No que puder ajudar estarei à disposição. Tenho uma Bematech Real a minha disposição.
Talvez voce tenha encontrado não só aqui neste forum mas no outro forum que voce monitora que coloquei postagens referentes ao uso de sua .DLL e recentemente disponibilizei testes e material referente a ela.
Acho até que ela nem precise ser muito profunda, mas que possua alguns comandos a mais como geração de arquivos de memória e cupons não fiscais.
Se não me engano foi também de seu site que baixei algo relacionado a TEF, se não for esqueça.
Sinceramente cheguei a adaptar sua .DLL em um de meus PDVs mas só pude fazer testes com Bematech real.
No que puder ajudar estarei à disposição. Tenho uma Bematech Real a minha disposição.
OPS! LINK QUEBRADO? Infelizmente links para www.pctoledo.COM.BR irão quebrar pois o Forum se foi, assim como nosso célebre Irmão de Bits Toledo. Ainda assim me ENVIE seu email com link do tópico encontrado na Web para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url] e tentarei lembrar do que se tratava. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
TerraSoftware
- Usuário Nível 3

- Mensagens: 353
- Registrado em: 28 Jul 2004 13:14
- Localização: Cianorte-PR
- Contato:
Re: ACBr - xHarbour
Caro colega, eu tambem tenho todo o interese, no que eu puder, estou a disposicao para ajudar. Aqui na empresa temos 2 daruma para teste (FS 345 e FS 600).
Re: ACBr - xHarbour
Nova DLL disponível em http://acbr.svn.sourceforge.net/viewvc/ ... vision=793
A lista de comandos mapeados pode ser vista no link http://acbr.svn.sourceforge.net/viewvc/ ... vision=793
A lista de comandos mapeados pode ser vista no link http://acbr.svn.sourceforge.net/viewvc/ ... vision=793
André Ferreira de Moraes
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
-
MARINI
- Usuário Nível 3

- Mensagens: 288
- Registrado em: 06 Jul 2004 08:06
- Localização: Pindamonhangaba SP
Re: ACBr - xHarbour
Bom dia,
Estou tentando adaptar o exemplo do Rochinha acima para converter para Xailer,
pois o exemplo dele está para Fivewin e não estou conseguiu passar isto para apenas xHarbour:
DLL32 FUNCTION DefineModelo( cModeloStr AS STRING, cPorta AS STRING, nTimeout AS _INT ) AS BOOL PASCAL FROM "DefineModelo" LIB ACBrDLL
nHandle := LoadLibrary( ACBrDLL ) -> foi bem sucedido
DefineModelo( "Daruma", "COM1", 3 ) -> não consigo usar esta função mesmo declarando em REQUEST
Alguém sabe como fazer isto?
Estou tentando adaptar o exemplo do Rochinha acima para converter para Xailer,
pois o exemplo dele está para Fivewin e não estou conseguiu passar isto para apenas xHarbour:
DLL32 FUNCTION DefineModelo( cModeloStr AS STRING, cPorta AS STRING, nTimeout AS _INT ) AS BOOL PASCAL FROM "DefineModelo" LIB ACBrDLL
nHandle := LoadLibrary( ACBrDLL ) -> foi bem sucedido
DefineModelo( "Daruma", "COM1", 3 ) -> não consigo usar esta função mesmo declarando em REQUEST
Alguém sabe como fazer isto?
Editado pela última vez por MARINI em 12 Mar 2010 11:00, em um total de 1 vez.
Sds
Marini
Marini
Re: ACBr - xHarbour
Neste link vc encontra a descrição de alguns comandos da DLL - http://www.forumweb.com.br/foruns/index ... 95-acbrdll
Por enquanto vc deve passar o nome da impressora como Daruma, com o D maiúsculo e o resto minúsculo. Depois irei ajustar para ajustar para aceitar com qualquer case.
Por enquanto vc deve passar o nome da impressora como Daruma, com o D maiúsculo e o resto minúsculo. Depois irei ajustar para ajustar para aceitar com qualquer case.
André Ferreira de Moraes
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
-
MARINI
- Usuário Nível 3

- Mensagens: 288
- Registrado em: 06 Jul 2004 08:06
- Localização: Pindamonhangaba SP
Re: ACBr - xHarbour
André:
nHandle := LoadLibrary( ACBrDLL ) -> foi bem sucedido
DllCall(nHandle,DC_CALL_STD,"DefineModelo","Daruma", "COM1" , 3 ) -> foi bem sucedido
Mas para pegar o retorno da data assim:
nData:=SPACE(16)
DllCall(nHandle,DC_CALL_STD,"DataHora",nData ) ->
nData retorna 3 caracteres estranhos.
Como faço para pegar um retorno?
nHandle := LoadLibrary( ACBrDLL ) -> foi bem sucedido
DllCall(nHandle,DC_CALL_STD,"DefineModelo","Daruma", "COM1" , 3 ) -> foi bem sucedido
Mas para pegar o retorno da data assim:
nData:=SPACE(16)
DllCall(nHandle,DC_CALL_STD,"DataHora",nData ) ->
nData retorna 3 caracteres estranhos.
Como faço para pegar um retorno?
Sds
Marini
Marini
Re: ACBr - xHarbour
Os retornos estão sendo usados os tipos do delphi (TDateTime, Float, Integer, etc), provavelmente vou ter q mudar para retornar tudo como pchar.
Vou mudar os retornos e assim que tiver uma nova versão disponível, aviso aqui no fórum.
Vou mudar os retornos e assim que tiver uma nova versão disponível, aviso aqui no fórum.
André Ferreira de Moraes
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
