Clipper On Line • Ver Tópico - Preciso acessar uma dll via Clipper

Preciso acessar uma dll via Clipper

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

Preciso acessar uma dll via Clipper

Mensagempor syda » 07 Ago 2004 14:30

Olá pessoal,

Recebi um periférico (Relógio de Tempo Real) que fica plugado na porta paralela do micro e este veio acompanhado de uma dll com duas funções: uma para alterar a data e hora e outra para ler a data e hora do RTR.
Existe alguma maneira de acessar a dll pelo Clipper sem a necessidade de usar o FiveWin? Com o Blinker eu consigo isto?
Desde já agradeço as sugestões.

:|
syda
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 27
Data de registro: 20 Ago 2003 21:13
Cidade/Estado: Manaus - AM
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Dudu_XBase » 07 Ago 2004 16:20

naum nem no clipper nem no blinker...vc viu o post anterior do Gerald a respeito da dll da impressoa Bematech (isso non eh propaganda..rs).....ele soh consegue utilizar os recursos dessa dll através de um programa q a interpreta...DriverRemoto...q processa um arquivo gerado por seu programa em clipper e retorna...vc pode desenvolver uma rotina no 5win...para ler essa dll e ler um dir....vc manda o comando pro dir em txt...ele interpreta o txt...e retorna...gerando um arquivo de retorno caso vc precise....
Ahhh minha cliente falow q ontem ai tava 43 graus...por isso até hj...ainda num fui ae...rs..eu ficaria soh na sala do ar condicionado...rs
Editado pela última vez por Dudu_XBase em 07 Ago 2004 16:32, num total de 1 vezes


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar de usuário

Dudu_XBase
Membro Master

Membro Master
 
Mensagens: 1042
Data de registro: 25 Ago 2003 16:55
Cidade/Estado: São Paulo-SP
Curtiu: 16 vezes
Mens.Curtidas: 4 vezes

Dll em Clipper

Mensagempor gransoft » 08 Ago 2004 11:04

ARAGUARI-MG, 08 de agosto de 2004.

Prezados Srs.,

Aqui um exemplo, utilizando o BLINKER. Eu testei o MYEXE e funcionou !

Se alguém conseguir algo realmente útil, como acessar as DLL's para ECF/TEF da Bematech ou Daruma, poste os resultados aqui...

Gentileza acessar:
http://www.gransoft.com/download/clipper/

Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br
Avatar de usuário

gransoft
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 312
Data de registro: 06 Jul 2004 17:48
Cidade/Estado: UBERLÂNDIA-MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Dll em Clipper

Mensagempor Gerald » 09 Ago 2004 11:53

gransoft escreveu:ARAGUARI-MG, 08 de agosto de 2004.

Prezados Srs.,

Aqui um exemplo, utilizando o BLINKER. Eu testei o MYEXE e funcionou !

Se alguém conseguir algo realmente útil, como acessar as DLL's para ECF/TEF da Bematech ou Daruma, poste os resultados aqui...

Gentileza acessar:
http://www.gransoft.com/download/clipper/

Atenciosamente,
Janis Peters Grants.

Para acessar as DLL's da Bematech, Daruma, Sweda, Schalter... tem que ter o programa delas para poder acessar. Ou, como o Dudu citou, criar um programa que comunique com DLL.
http://www.gransoft.com.br
gransoft@zipmail.com.br
Quando disserem que seu trabalho não é o de um profissional, lembre-se: Amadores construíram a arca de Noé, profissionais, o Titanic...

www.1grau.com\comunidadeclipper
skype = "gpfranca"
novo email: geraldo@usinfo.com.br
Gerald
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 37
Data de registro: 06 Jul 2004 17:50
Cidade/Estado: Caldas Novas
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Trazom » 09 Ago 2004 13:00

Gerald,

entao so precisa ter o driver do ecf intalado no config.sys que essa dll vai acessar ?

desculpe, acho que não entendi
Imagem

Harbour 3.3.0 HMG 1.05 dbfcdx
Evandro
Avatar de usuário

Trazom
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 239
Data de registro: 14 Ago 2003 01:01
Cidade/Estado: Maceió/AL
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Dll e Clipper

Mensagempor gransoft » 09 Ago 2004 13:02

ARAGUARI-MG, 09 de agosto de 2004.

Prezado Gerard,

Desenvolvo Aplicativos para ECF Yanco e Bematech desde seus respectivos lançamentos, utilizando rotinas em Clipper elaboradas apartir dos Manuais e os exemplos em DOS. Atualmente, escrevo as rotinas para a Daruma.

Se for realmente viável utilizar as DLL's originais com Aplicativos Fiscais em Clipper (BLINKER), como uma lib, evidentemente que as implementarei, pois o "Fera" que as desenvolveu para Bematech e Yanco (ECF/TEF), está agora com a Daruma.

E para quê reinventar a roda ? Esta DLL é necessária para o Emulador de ECF Bematech, excelente durante o desenvolvimento, e a qualquer momento, para treinamento.

O que é necessário agora, é "ligar" a DLL ao Aplicativo Fiscal em Clipper (BLINKER), e a "receita de bolo" consta no link que indiquei.

Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br
Avatar de usuário

gransoft
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 312
Data de registro: 06 Jul 2004 17:48
Cidade/Estado: UBERLÂNDIA-MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Trazom » 09 Ago 2004 13:32

como instalo a tal dll, e onde gero o arquivo bemafi.cmd ?
Imagem

Harbour 3.3.0 HMG 1.05 dbfcdx
Evandro
Avatar de usuário

Trazom
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 239
Data de registro: 14 Ago 2003 01:01
Cidade/Estado: Maceió/AL
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Dll Bematech e Clipper

Mensagempor gransoft » 09 Ago 2004 13:55

Trazom escreveu:como instalo a tal dll, e onde gero o arquivo bemafi.cmd ?


ARAGUARI-MG, 9 de agosto de 2004.

Prezado Trazom,

Gentileza acessar:

Para Driver:
http://www.bematech.com.br/suporte/down ... BemaFi.zip

O SEU Aplicativo deverá conter as instruções para enviar comandos ao ECF.

Para DLL:
http://www.bematech.com.br/suporte/down ... mafi32.zip

Para Emulador de ECF Bematech:
http://www.bematech.com.br/suporte/down ... ulfith.zip

Lembre-se que para o Emulador rodar, teremos que, antes, descobrir como linkar a BemaFI32.DLL no Aplicativo Clipper, com o BLINKER, se é que isso funciona...

Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br
Avatar de usuário

gransoft
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 312
Data de registro: 06 Jul 2004 17:48
Cidade/Estado: UBERLÂNDIA-MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Dll Bematech e Clipper

Mensagempor gransoft » 09 Ago 2004 13:56

Trazom escreveu:como instalo a tal dll, e onde gero o arquivo bemafi.cmd ?


ARAGUARI-MG, 9 de agosto de 2004.

Prezado Trazom,

Gentileza acessar:

Para Driver:
http://www.bematech.com.br/suporte/down ... BemaFi.zip

O SEU Aplicativo deverá conter as instruções para enviar comandos ao ECF.

Para DLL:
http://www.bematech.com.br/suporte/down ... mafi32.zip

Para Emulador de ECF Bematech:
http://www.bematech.com.br/suporte/down ... ulfith.zip

Lembre-se que para o Emulador rodar, teremos que, antes, descobrir como linkar a BemaFI32.DLL no Aplicativo Clipper, com o BLINKER, se é que isso funciona...

Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br
Avatar de usuário

gransoft
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 312
Data de registro: 06 Jul 2004 17:48
Cidade/Estado: UBERLÂNDIA-MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Trazom » 09 Ago 2004 14:18

acho que nao precisa linkar junto com o exe, é so instalar no windows
Imagem

Harbour 3.3.0 HMG 1.05 dbfcdx
Evandro
Avatar de usuário

Trazom
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 239
Data de registro: 14 Ago 2003 01:01
Cidade/Estado: Maceió/AL
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Trazom » 09 Ago 2004 14:20

quando aprender como se faz isso eu digo, por enquanto vou ver os links

valeu
Imagem

Harbour 3.3.0 HMG 1.05 dbfcdx
Evandro
Avatar de usuário

Trazom
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 239
Data de registro: 14 Ago 2003 01:01
Cidade/Estado: Maceió/AL
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor rrfsistemas » 12 Ago 2004 01:55

Caros Srs :

A DLL não faz a comunicação com o aplicativo em clipper.

O processo é o seguinte :

Instala-se o Programa (Bematech Monitor) que fara o intercambio dos comandos entre o aplicativo e a DLL .

Configura-se o Programa Bematech Monitor para monitorar uma pasta onde o aplicativo ira gerar o arquivo com os comandos.

O aplicativo em clipper irá criar uma arquivo texto com os CÓDIGOS DOS COMANDOS a serem enviados para a impressora, com nome BEMAFI32.CMD.

Após a execução do comando recebido pelo Bematech Monitor, será criado o arquivo "STATUS.TXT" com o status de execução da impressora e o arquivo "RETORNO.TXT" com informações da impressora, caso seja solicitado.
O arquivo "RETORNO.TXT" só será criado, caso tenha sido enviado um comando de solicitação de informação da impressora, como por exemplo: Número do Cupom, Alíquotas programadas, Número de Série e etc.

Os arquivos que compõem o pacote do Bematech Monitor, são:

- BemaFI32.dll (dll de comunicação)
- BemaFI32.ini (arquivo de configuração da dll)
- BematechMonitor.exe (executável de comunicação)

Onde:

- Os arquivos BemaFI32.dll e BemaFI32.ini devem ser salvos no diretório de sistema do Windows, exemplo: "C:\Windows\System" ou "C:\WinNT\System32".

- O arquivo BematechMonitor.exe pode ser salvo, juntamente com o aplicativo em clipper.


Acho que ajudei um pouquinho 8)
Avatar de usuário

rrfsistemas
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 246
Data de registro: 11 Jul 2004 18:16
Cidade/Estado: Uberlândia/MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

BematechMonitor

Mensagempor gransoft » 15 Ago 2004 15:42

ARAGUARI-MG, 15 de agosto de 2004.

Prezado rrfsistemas,

Obrigado pelas dicas quanto à DLL da Bematech.

Gentileza acessar:
http://www.pctoledo.com.br/forum/viewtopic.php?t=455

Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br
Avatar de usuário

gransoft
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 312
Data de registro: 06 Jul 2004 17:48
Cidade/Estado: UBERLÂNDIA-MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor rochinha » 30 Jul 2005 18:24

Amiguinhos

É possivel usar DLLs no Clipper com Blinker desde que sejam geradas à partir de .OBJs 16 bits.

Nenhuma DLL do mercado podera'ser utilizada diretamente no Clipper e muito menos interpretada por ele.

Uma .DLL é na verdade uma .LIB, diferentemente de uma .LIB que deve ter seu código linkada(colada, grudada, soldada) ao seu .EXE a DLL no momento de sua solicitação é jogada na memória e seu código pode ser visualizado.

Vejam o exemplo de um aplicativo Fivewin que faz uso da BWCC.DLL. Se a mesma não for programada via comando SET RESOURCES TO... dentro de seu aplicativo Fivewin ele produzirá erros, mas se o WorkShop for executado o aplicativo Fivewin irá rodar sem problemas, isto por que a .DLL já esta na memória.

No caso do Fivewin é possivel que o mesmo a reconheça e a utilize enquanto que o Clipper não consegue interpretar .DLLs na memória e nem utiliza-las.

Outro exemplo de que as .DLL nunca poderão ser ligadas a um aplicativo Clipper é o fato do mesmo ser 16 Bits e uma .DLL conter código 32Bits, ou seja, em 32Bits uma função pode conter nomes maiores do que o Clipper suporta( talvez 10 ou 12 caracteres ) e mesmo que a .DLL seja trasformada em .LIB o Clipper não irá interpretar as funções corretamente, exemplo:

Suponha que a .DLL em questão possua as seguintes funções:

function Bema_FI_TerminaAberturaCupom()
return .t.
function Bema_FI_TerminaFechamentoCupom()
return .t.

Para o Clipper as duas funções acima serão interpretadas como sendo:

function Bema_FI_Termi()
return .t.

Ou seja seu cupom será aberto mas nunca será fechado.

O correto será que o seu aplicativo Clipper crie o arquivo BEMAFI32.CMD e jogue o no diretório que será lido pelo Monitor ou driver remoto e faça o resto.

Se não me engano o uso é mais ou menos assim:

Delete File( "BEMAFI.CMD" )
Delete File( "STATUS.TXT" )
Delete File( "RETORNO.TXT" )
if len(comando) = qtde
nHandle = FCreate( "BEMAFI.CMD" )
FWrite( nHandle, @Comando, Len( Comando ) )
if FERROR() = 0
FClose( nHandle )
!BEMAFI.EXE
situacao = len(comando) //retorno padrao do fwrite
else
situacao = 0
endif
endif
Return Situacao

Seu aplicativo gera o arquivo .CMD e executa o BEMAFI.EXE que interpreta os comandos e envia para a impressora ou ao monitor.

Finalizando um aplicativo Clipper nunca poderá fazer uso de uma .DLL.

E quanto a nossa amiga Syda. verifique no site do fabricante desta .DLL ou do Periférico se existem versões mais antigas de seus drivers para versòes DOS, talvez uma .LIB mais antiga nào tenha os mesmos recursos da .DLL mas podem pelo menos fazer o básico.

Outra coisa, seria o seguinte:

O periférico em questão envia dados pela serial, não seria o caso de analizar alguma função em alguma .LIB de Input/Output que possa pegar esta informação e interpretá-la para voce. Tente a IO.LIB.

@braços :?)
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4100
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 436 vezes
Mens.Curtidas: 171 vezes

Preciso exemplo em clipper para ecf daruma

Mensagempor Alexandra Mendes » 30 Jun 2017 11:25

Oi bom dia,
Tenho um programa em Clipper que funciona para impressora bematech 4000 uso o bemafi.exe para comunicar com a impressora. Porem tenho que mudar para impressora daruma fs7000.
Alguem teria algum exemplo em Clipper para poder fazer as alterações? Ou algum manual com os comandos da impressora para emitir cupom. Leiturax e redução z?
Muito obrigada
Alexandra
Alexandra Mendes
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 5
Data de registro: 25 Mai 2006 13:19
Cidade/Estado: Antônio Carlos - MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Próximo



Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro