Jump to content
Fivewin Brasil

Declaracao da DLL para Bematech MP4000 TH


jef2_tim

Recommended Posts

veja se serve:


#Include "FiveWin.Ch"

STATIC XDLL_BEMATECH

//---------------------------------------------------------------------------//

// Declaracoes da BEMATECH de 32 bits -> BEMAFI32.DLL

//Ler total do cupom

DLL32 FUNCTION BmSubTotal( SubTotal AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_SubTotal" LIB XDLL_BEMATECH

//Ler número d0o caixa

DLL32 FUNCTION BmNumeroCx( NumeroCaixa AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_NumeroCaixa" LIB XDLL_BEMATECH

//Ler configuração arredondamento/truncamento

DLL32 FUNCTION BmVerArred( Arredonda AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_VerificaTruncamento" LIB XDLL_BEMATECH

//Ativa arredondamento

DLL32 FUNCTION BmLigArred( ) AS LONG PASCAL ;

FROM "Bematech_FI_ProgramaArredondamento" LIB XDLL_BEMATECH

//Ler data do movimento

DLL32 FUNCTION BmDtMovto ( DtMovto AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_DataMovimento" LIB XDLL_BEMATECH

//Ler flag fiscal da impressora

DLL32 FUNCTION BmFlagFiscal( @FlagFiscal AS PTR ) AS LONG PASCAL ;

FROM "Bematech_FI_FlagsFiscais" LIB XDLL_BEMATECH

//Emite leitura X

DLL32 FUNCTION BmLeituraX( ) AS LONG PASCAL ;

FROM "Bematech_FI_LeituraX" LIB XDLL_BEMATECH

//Emite redução Z

DLL32 FUNCTION BmReducaoZ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_ReducaoZ" LIB XDLL_BEMATECH

//Ler data e hora da impressora

DLL32 FUNCTION BmDtHora ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_DataHoraImpressora" LIB XDLL_BEMATECH

//Faz abertura do dia

DLL32 FUNCTION BmAbreDia ( Vl AS LPSTR, Fr AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_AberturaDoDia" LIB XDLL_BEMATECH

//Abre cupom fiscal

DLL32 FUNCTION BmAbreCup ( Cgc AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_AbreCupom" LIB XDLL_BEMATECH

//Verifica se tem papel

DLL32 FUNCTION BmVerPapel( @Linhas AS PTR ) AS LONG PASCAL ;

FROM "Bematech_FI_MonitoramentoPapel" LIB XDLL_BEMATECH

//Verifica se tem impressora ligada

DLL32 FUNCTION BmPrintLig( ) AS LONG PASCAL ;

FROM "Bematech_FI_VerificaImpressoraLigada" LIB XDLL_BEMATECH

//Cancela cupom fiscal

DLL32 FUNCTION BmCanCupom( ) AS LONG PASCAL ;

FROM "Bematech_FI_CancelaCupom" LIB XDLL_BEMATECH

//Cancela último ítem do cupom

DLL32 FUNCTION BmCancItem( ) AS LONG PASCAL ;

FROM "Bematech_FI_CancelaItemAnterior" LIB XDLL_BEMATECH

//Abre a gaveta

DLL32 FUNCTION BmAbreGav ( ) AS LONG PASCAL ;

FROM "Bematech_FI_AcionaGaveta" LIB XDLL_BEMATECH

//Ler número do cupom

DLL32 FUNCTION BmNumCupom( Cupom AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_NumeroCupom" LIB XDLL_BEMATECH

//Emite leitura da memória fiscal por data

DLL32 FUNCTION BmMemFiscD( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_LeituraMemoriaFiscalData" LIB XDLL_BEMATECH

//Emite leitura da memória fiscal por reduções

DLL32 FUNCTION BmMemFiscR( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_LeituraMemoriaFiscalReducao" LIB XDLL_BEMATECH

//Emite cupom gerencial 618 CARACTERES NO MAXIMO POR COMANDO

DLL32 FUNCTION BmCpGerAbr( Texto AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_RelatorioGerencial" LIB XDLL_BEMATECH

//Fecha cupom gerencial

DLL32 FUNCTION BmCpGerFec( ) AS LONG PASCAL ;

FROM "Bematech_FI_FechaRelatorioGerencial" LIB XDLL_BEMATECH

//Verifica status da gaveta

DLL32 FUNCTION BmStGaveta( @nStatus AS PTR ) AS LONG PASCAL ;

FROM "Bematech_FI_VerificaEstadoGaveta" LIB XDLL_BEMATECH

//Abre cupom adicional

DLL32 FUNCTION BmCupAdAbr( FormaPgto AS STRING,;

Valor AS STRING,;

Cupom AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_AbreComprovanteNaoFiscalVinculado" LIB XDLL_BEMATECH

//Imprime cupom não fiscal vinculado

DLL32 FUNCTION BmCupAdUsa( Texto AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_UsaComprovanteNaoFiscalVinculado" LIB XDLL_BEMATECH

//Fecha cupom não fiscal

DLL32 FUNCTION BmCupAdFec( ) AS LONG PASCAL ;

FROM "Bematech_FI_FechaComprovanteNaoFiscalVinculado" LIB XDLL_BEMATECH

//Vende ítem

DLL32 FUNCTION BmVendItem( Codigo AS STRING,;

Descricao AS STRING,;

Aliquota AS STRING,;

TpQte AS STRING,;

Quantid AS STRING,;

Decimal AS 7 ,;

ValUnit AS STRING,;

TpDesc AS STRING,;

ValDesc AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_VendeItem" LIB XDLL_BEMATECH

//Efetua Formas de Pagamento

DLL32 FUNCTION BmFormasPag( FormaPgto AS STRING,;

ValorPago AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_EfetuaFormaPagamento" LIB XDLL_BEMATECH

//Inicia Fechamento cupom

DLL32 FUNCTION BmIniFecCup( Acrescimo AS STRING,;

TipoAcresc AS STRING,;

ValorAcresc AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_IniciaFechamentoCupom" LIB XDLL_BEMATECH

//Termina Fechamento cupom

DLL32 FUNCTION BmTerFecCup( Mensagem AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_TerminaFechamentoCupom" LIB XDLL_BEMATECH

//Fecha cupom com uma forma de pagamento somente

DLL32 FUNCTION BmFechaCup( FormaPgto AS STRING,;

Acrescimo AS STRING,;

TipoAcresc AS STRING,;

ValorAcresc AS STRING,;

ValorPago AS STRING,;

Mensagem AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_FechaCupom" LIB XDLL_BEMATECH

//Verifica status do gerenciador padrão

DLL32 FUNCTION BmTfStatus( Operacao AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FITEF_Status" LIB XDLL_BEMATECH

DLL32 FUNCTION BmFormaPg( cNomeDocto AS STRING ,;

cValorDocto AS STRING ) AS LONG PASCAL;

FROM "Bematech_FI_EfetuaFormaPagamento" LIB XDLL_BEMATECH

DLL32 FUNCTION BmIniciaFecha( cAcreDesc AS STRING ,;

cTipoAcreDes AS STRING ,;

cValorParc AS STRING ) AS LONG PASCAL ;

FROM "Bematech_FI_IniciaFechamentoCupom" LIB XDLL_BEMATECH

DLL32 FUNCTION BmCancGen( NumeroItem AS LPSTR ) AS LONG PASCAL ;

FROM "Bematech_FI_CancelaItemGenerico" LIB XDLL_BEMATECH

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Ola amigao Kapi

Nao é da Bematech fiscal é da MP-4000 TH - A Impress nao fiscal bematech. Tenho que fazer a impressao para ela via USB... estou tentando usar a dll deles mas esta me retornando sempre sem comunicacao.

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA

Link to comment
Share on other sites

citação:

Ola amigao Kapi

Nao é da Bematech fiscal é da MP-4000 TH - A Impress nao fiscal bematech. Tenho que fazer a impressao para ela via USB... estou tentando usar a dll deles mas esta me retornando sempre sem comunicacao.

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA


id=quote>id=quote>

Impressoras NÃO FISCAL, não usam DLL, imprime-se direto em MODO TEXTO, exemplo: TDOSPRN.PRG

Saludos.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Estranho pq eu instalei a impressora mas o windows 7 e nem o 2003 (64 e 32 bits) Reconhecem a impressora, mas se eu usar o aplicativo da bematech para testes ele funciona normalmente. O Problema é q com a dll nao estou conseguindo comunicar-me com ela.

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA

Link to comment
Share on other sites

citação:

Estranho pq eu instalei a impressora mas o windows 7 e nem o 2003 (64 e 32 bits) Reconhecem a impressora, mas se eu usar o aplicativo da bematech para testes ele funciona normalmente. O Problema é q com a dll nao estou conseguindo comunicar-me com ela.

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA


id=quote>id=quote>

Jeff, você precisa de uma TDOSPRN.PRG que imprima em porta USB, é só isso. Não tem DLL para NÃO FISCAL.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Eu uso assim:

Static Function Dec_Mine() // Declara as dll da Bematech Mini_Impressora

Local Lib4000:=LoadLib32("MP4000.dll")

*******************************************************************************

DLL32 Function Inicia_Porta(Porta AS STRING) AS _INT PASCAL FROM "IniciaPorta" ;

LIB "MP4000.DLL"

DLL32 Function Taxa_Serial(Taxa AS LPSTR) AS _INT PASCAL FROM "ConfiguraTaxaSerial" ;

LIB "MP4000.DLL"

DLL32 Function Fecha_Porta() AS _INT PASCAL FROM "FechaPorta" ;

LIB "MP4000.DLL"

DLL32 Function Imp_Texto(Texto AS STRING) AS _INT PASCAL FROM "BematechTX" ;

LIB "MP4000.DLL"

DLL32 Function Bema_Bitmap(vCam AS STRING,Modo AS LPSTR) AS _INT PASCAL ;

FROM "ImprimeBitmap" LIB "MP4000.DLL"

DLL32 Function Form_Texto(Texto AS STRING,TipoLetra AS LPSTR,Italico AS LPSTR,;

Sublinhado AS LPSTR,Expandido AS LPSTR, Enfatizado AS LPSTR) ;

AS _INT PASCAL FROM "FormataTX" LIB "MP4000.DLL"

DLL32 Function Estatus() AS _INT PASCAL FROM "BematechTX" LIB "MP4000.DLL"

DLL32 Function Corta_Papel(Corte AS LPSTR) AS _INT PASCAL FROM "AcionaGuilhotina";

LIB "MP4000.DLL"

DLL32 Function Modelo_Imp(nImp AS LPSTR) AS _INT PASCAL ;

FROM "ConfiguraModeloImpressora" LIB "MP4000.DLL"

*******************************************************************************

Return Lib4000 // Fim da func Dec_Mine()

*******************************************************************************

E para abrir a porta uso:

Inici_Porta("USB")

Crisvam - xHarbour_FWH_10.11 - Whorkshop

Link to comment
Share on other sites

Crivan vc pode passar pra mim esta dll por favor pois o pessoal da Bematech me passou OUTRA dll q nao funciona nem com reza! jeferson@impactusinformatica.com.br

obrigado

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA

Link to comment
Share on other sites

Estou fazendo desta forma amigo e nao esta funcionando!


Declaracao da funcao

*---------------------

Function Dec_BemaMP4000()

*---------------------

Local xDll_Bem4000 := LoadLib32("MP2032.dll")

*******************************************************************************

DLL32 Function Inicia_Porta(Porta AS STRING) AS _INT PASCAL FROM "IniciaPorta" ;

LIB "MP2032.DLL"

DLL32 Function Taxa_Serial(Taxa AS LPSTR) AS _INT PASCAL FROM "ConfiguraTaxaSerial" ;

LIB "MP2032.DLL"

DLL32 Function Fecha_Porta() AS _INT PASCAL FROM "FechaPorta" ;

LIB "MP2032.DLL"

DLL32 Function Imp_Texto(Texto AS STRING) AS _INT PASCAL FROM "BematechTX" ;

LIB "MP2032.DLL"

DLL32 Function Bema_Bitmap(vCam AS STRING,Modo AS LPSTR) AS _INT PASCAL ;

FROM "ImprimeBitmap" LIB "MP2032.DLL"

DLL32 Function Form_Texto(Texto AS STRING,TipoLetra AS LPSTR,Italico AS LPSTR,;

Sublinhado AS LPSTR,Expandido AS LPSTR, Enfatizado AS LPSTR) ;

AS _INT PASCAL FROM "FormataTX" LIB "MP2032.DLL"

DLL32 Function Estatus() AS _INT PASCAL FROM "BematechTX" LIB "MP2032.DLL"

DLL32 Function Corta_Papel(Corte AS LPSTR) AS _INT PASCAL FROM "AcionaGuilhotina";

LIB "MP2032.DLL"

DLL32 Function Modelo_Imp(nImp AS LPSTR) AS _INT PASCAL ;

FROM "ConfiguraModeloImpressora" LIB "MP2032.DLL"

*******************************************************************************

Return xDll_Bem4000 // Fim da func Dec_Mine()

id=code>id=code>

E para chamar um teste


If Alltrim(F_Orca) = "BEM_TH4000"

msginfo(Dec_BemaMP4000())

mRet := Inicia_Porta("USB")

Imp_Texto( "teste porras" )

Endif

id=code>id=code>

Note q a dll que eles dizem pra usar é esta MP2032 nao sei se é a funcao pois a sua chamava a dll mp4000.dll ou se é a dll em si

se alguem tiver uma ideia...

eu gostaria de fazer pela DLL para poder usar as funcoes de gilhotina e tudo mais...

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA

Link to comment
Share on other sites

Ola amigos

Tentei usar a tdos kapiaba... mas como a impressora nao é reconhecida pelo windows, nao instala manualmente.. nao tenho como instalar uma generica somente texto .. eu nao consigo usar a tdos para mandar impressao pra la... ta florida :)

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA

Link to comment
Share on other sites

wsPORTAPRN:="COM1"

xARQDLL:="MP2032.dll"

if ! file(xARQDLL)

MsgALert("Faltando Arquivo",xARQDLL)

else

xDLL:=LoadLibrary(xARQDLL)

end

********************

function BNF_IniciaPorta()

xRET:=DLLCALL(xDLL,32,"IniciaPorta",wsPORTAPRN)

if xRET<1

MsgAlert("problemas ao abrir a porta de comunicação ","(1) Erro Bematech DLL2032.dll")

end

DLLCALL(xDLL,Nil,"AjustaLarguraPapel",80)

return

function BNF_ComandoTX(___xArgCOMANDOTX)

xRET:=DLLCALL(xDLL,32,"ComandoTX",___xArgCOMANDOTX,len(___xArgCOMANDOTX))

if xRET<1

Msgalert("Erro na comunicação","Erro Bematech DLL2032.dll")

quit

end

return

function BNF_FormataTX(__BNFTexto, __BNFTipoLetra, __BNFItalico, __BNFSublinhado, __BNFExpandido, __BNFEnfatizado)

xRET:=DLLCALL(xDLL,Nil,"FormataTX",__BNFTexto+CRLF,__BNFTipoLetra, __BNFItalico, __BNFSublinhado, __BNFExpandido, __BNFEnfatizado)

if xRET=0

Msgalert("Erro de comunicação física","(3) Erro Bematech DLL2032.dll")

quit

end

return

function BNF_Bitmap(___BNFImagem)

xRET:=DLLCALL(xDLL,Nil,"ImprimeBitmap",___BNFImagem,0)

if xRET=0

Msgalert("Erro de comunicação","(4) Erro Bematech DLL2032.dll")

elseif xRET=-1

Msgalert("Erro de execução","(4) Erro Bematech DLL2032.dll")

elseif xRET=-2

Msgalert("Arquivo BMP Inexistente","(4) Erro Bematech DLL2032.dll")

elseif xRET=-3

Msgalert("Arquivo BMP Inválido ou corrompido","(4) Erro Bematech DLL2032.dll")

elseif xRET=-4

Msgalert("Parametro Inválido","(4) Erro Bematech DLL2032.dll")

end

if xRET#1

quit

end

return

Rubem Jr

http://sistemasit.com

Belem/PA

Link to comment
Share on other sites

Ola amigos

Valeu SistemaSit e Crisvan. O Problema todo é que eu tenho Bematech no skype.. msn.. e os caras simplesmente tem um atendimento de M...da. Baixei o aplicativo e vou testar.

Um Xharbraço.

Uso Fwh 9.4 (xharbour 1.2.1) + xDev Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-3238-7012

Belem-PA

Link to comment
Share on other sites

  • 4 years later...

Estou usando as declarações da DLL assim:

Static Function Dec_Mine() // Declara as dll da Bematech Mini_Impressora
Local Lib2032:=LoadLib32("MP2032.DLL")
*******************************************************************************
DLL32 Function BReseta() AS _INT PASCAL FROM "PrinterReset" LIB "MP2032.DLL"
DLL32 Function LeStatus() AS _INT PASCAL FROM "Le_Status" LIB "MP2032.DLL"
DLL32 Function BInicia_Porta(Porta AS STRING) AS _INT PASCAL FROM "IniciaPorta" ;
LIB "MP2032.DLL"
DLL32 Function BReset() AS _INT PASCAL FROM "PrinterReset" LIB "MP2032.DLL"
DLL32 Function Taxa_Serial(Taxa AS LPSTR) AS _INT PASCAL FROM "ConfiguraTaxaSerial" ;
LIB "MP2032.DLL"
DLL32 Function BFecha_Porta() AS _INT PASCAL FROM "FechaPorta" ;
LIB "MP2032.DLL"
DLL32 Function BImp_Texto(Texto AS STRING) AS _INT PASCAL FROM "BematechTX" ;
LIB "MP2032.DLL"
DLL32 Function BFormataTX(cTexto AS LPSTR,nTipo AS _INT,nItalico AS _INT,;
nSublinhado AS _INT,nEXpandido AS _INT,nEnfatizado AS _INT) AS _INT PASCAL;
FROM "FormataTX" LIB "MP2032.DLL"
DLL32 Function BComandoTX(Comando AS STRING,nTam AS _INT) AS _INT PASCAL;
FROM "ComandoTX" LIB "MP2032.DLL"
DLL32 Function Bema_Bitmap(vCam AS STRING,Modo AS LPSTR) AS _INT PASCAL ;
FROM "ImprimeBitmap" LIB "MP2032.DLL"
DLL32 Function BEstatus() AS _INT PASCAL FROM "BematechTX" LIB "MP2032.DLL"
DLL32 Function BCorta_Papel(Corte AS LPSTR) AS _INT PASCAL FROM "AcionaGuilhotina";
LIB "MP2032.DLL"
DLL32 Function BModelo_Imp(nImp AS LPSTR) AS _INT PASCAL ;
FROM "ConfiguraModeloImpressora" LIB "MP2032.DLL"
DLL32 Function BQRCode(nNivel AS _INT,nTam AS _INT,nTipo AS _INT,nVersao AS _INT,;
nFormato AS _INT,cQRCode AS STRING) AS LONG PASCAL;
FROM "ImprimeCodigoQRCODE" LIB "MP2032.DLL"
DLL32 Function BImp_Bitmap(cArq AS STRING, nModo AS _INT) AS LONG PASCAL;
FROM "ImprimeBitmap" LIB "MP2032.DLL"
*******************************************************************************
Return Lib2032 // Fim da func Dec_Mine()
*******************************************************************************

E estou chamando a função, por ex.: abrirr a porta

nRet := Inicai_Porta('USB")

If nRet != 1

MsgAlert("Não foi possível abrir a porta de impressão")

Else

...

,,,,

Endif

Mas em um dos clientes a impressora não imprime

Link to comment
Share on other sites

TÁ ERRADO, leia os exemplos, se não matar eu respondo na sexta

Local Lib2032:=LoadLib32("MP2032.DLL")  // é clipper 16 bits?  e a variavel tem que ser STATIC XDLL

Olha, primeiro no manual da Fivewin a função LoadLib32 é de 32 bit e como vou usar as funções em outro módulo e não estou usando o Handle nas difinições, acho que não tem muito haver o que disse...Mas vou testar....Estou usando a fivewin 1601...Grato pela atenção.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...