Jump to content
Fivewin Brasil

Abrir Gaveta


Luiz Fernando

Recommended Posts

// http://fivewin.com.br/index.php?/topic/27415-abertura-de-gaveta-em-impressora-não-fiscal/

Uso com a TDOSPRN

	STATIC FUNCTION ABREGAV()
	   IF ConfigV->gaveta
	      cFile:= LPORTA
      oPrng:= TDosPrn():New( cFile )
      oPrng:StartPage()
      oPrng:Command( "27, 119, 140" )
      oPrng:SAY(00,00," ")
      oPrng:END(1)
	      //   oImpr:=FCREATE("LPT1.PRN")
      //   Imp(oImpr,CHR(27)+"v2")
      //  FCLOSE(oImpr)
	      // Para as outras: CHR(27)+"p"
	   ENDIF
	RETURN nil
	
   cTextoAbreGaveta := ""
	   nModeloComandoLocal := 1
	   IF "MP" $ UPPER(PrnGetName()) // Bematech
      cTextoAbreGaveta := CHR(29) +CHR(249) +CHR(32) +CHR(0) +CHR(27) +CHR(116) +CHR(8) +CHR(27) +CHR(118) +CHR(140)
   ENDIF
   *
   IF "DARUMA" $ UPPER(PrnGetName())
      cTextoAbreGaveta := CHR(27) +CHR(112)
   ENDIF
   *
   IF "EPSON" $ UPPER(PrnGetName())
      cTextoAbreGaveta := chr(027)+chr(112)+chr(000)+chr(010)+chr(100)
      nModeloComandoLocal := 2
   ENDIF
   *
   *cCaminhoTXT := CurDrive()+":\"+CurDir()+"\GAVETA.TXT"
   cCaminhoTXT := "C:\SISTEMA\GAVETA.TXT"
	   MemoWrit(cCaminhoTXT,cTextoAbreGaveta)
	   cDestinoComando := ""
	   if left(cImpressoraPadraoAbertura,2) == "\\"
      cDestinoComando := '"'+cImpressoraPadraoAbertura+'"'
   else
      do case
      case nModeloComandoLocal == 1
         cDestinoComando := PrnGetPort()
      case nModeloComandoLocal == 2
         cDestinoComando := '"'+"\\127.0.0.1\"+alltrim(PrnGetName())+'"'
      endcase
   endif
   *
   cComandoGaveta := 'CMD.EXE /C COPY '+cCaminhoTXT+' '+cDestinoComando
   WaitRun(cComandoGaveta,0)
   *
   // **PS: A EPSON PRECISA ESTA COMPARTILHADA


Link to comment
Share on other sites

 

Tentou Chr(27)+Chr(118)+Chr(140)

Está utilizando a Dll Mp2032 ?

 

Colega estou usando sim, veja como estou fazendo a chamada, consegue enxergar algo de errado no codigo abaixo.

function gaveta()
  abremp4000()
  bm_iniciaporta('COM7')
  bm_configuramodeloimpressora(7)
  syswait(0.01)
  Bm_BematechTX( chr( 27 ) + chr( 118 ) + chr( 140 ) )
  bm_fechaporta()
  closemp4000()
return

Rochinha e Kapiaba obg pelo retorno vou testar os comandos de vcs no cliente para ver se dar certo, e retorno aqui para dizer se deu certo.

Link to comment
Share on other sites

 

Colega estou usando sim, veja como estou fazendo a chamada, consegue enxergar algo de errado no codigo abaixo.


function gaveta()
  abremp4000()
  bm_iniciaporta('COM7')
  bm_configuramodeloimpressora(7)
  syswait(0.01)
  Bm_BematechTX( chr( 27 ) + chr( 118 ) + chr( 140 ) )
  bm_fechaporta()
  closemp4000()
return

Rochinha e Kapiaba obg pelo retorno vou testar os comandos de vcs no cliente para ver se dar certo, e retorno aqui para dizer se deu certo.

Eu faço assim:

      cComando:=chr(27)+chr(118)+chr(140)
      Ret:=Bematech_ComandoTX(cComando,Len(cComando))

No Help da DLL

Esta função é utilizada no envio de comandos para a impressora, como por exemplo: comandos de Autenticação, comando para Acionamento de Gaveta, comandos para Habilitar Tabelas de Caracteres, etc .

 Parâmetros:

 Comando: STRING com o comando que deseja executar.

Tamanho do Comando: INTEIRO com o tamanho do comando que será enviado.

 Exemplo:

 ' Exemplo em Visual Basic

' Comando para Acionar a Gaveta de Dinheiro

sComando = chr( 27 ) + chr( 118 ) + chr( 140 )

iRetorno = ComandoTX( sComando, Len( sComando )

Link to comment
Share on other sites

 

Eu faço assim:

      cComando:=chr(27)+chr(118)+chr(140)
      Ret:=Bematech_ComandoTX(cComando,Len(cComando))

No Help da DLL

Esta função é utilizada no envio de comandos para a impressora, como por exemplo: comandos de Autenticação, comando para Acionamento de Gaveta, comandos para Habilitar Tabelas de Caracteres, etc .

 Parâmetros:

 Comando: STRING com o comando que deseja executar.

Tamanho do Comando: INTEIRO com o tamanho do comando que será enviado.

 Exemplo:

 ' Exemplo em Visual Basic

' Comando para Acionar a Gaveta de Dinheiro

sComando = chr( 27 ) + chr( 118 ) + chr( 140 )

iRetorno = ComandoTX( sComando, Len( sComando )

Colega usando a forma que postei e usando a sua forma da este erro aqui

https://ibb.co/rMStWRH

tem algum ideia do que pode ser

obg

Link to comment
Share on other sites

 

Boa tarde Luiz.

Essa dll vem junto com a mp2032. Você não tem ela?

 

 

Ola, colega esta DLL e a sintaxe que estou usando foi um colega que me passou, nas compra das impressoras  mp4200 não vem nada, nem cd de instalação.

Obs: estes terminais antes tinha impressora fiscal, usava a dll BEMAFI32.DLL, e funcionava normal, agora colocou SAT e foi trocado para impressoras não fiscais.

Obg

 

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...