Jump to content
Fivewin Brasil

CF-e Epson ou Sweda


jfaguiar

Recommended Posts

#include "FiveWin.ch"
	STATIC ABRE_SWEDA
	FUNC SWEDA_TESTE()
	   LOCAL ret := 0, cBuffer
	   MSGSTOP( "VOU" )
	   ABRE_SWEDA := LoadLibrary( "SWECF.DLL" )
	   MSGSTOP( ABRE_SWEDA )
	   ret = ECFOpen( 1, 4, 0, 0 )  //& porta:=1,2
	   MSGSTOP( RET )
	   IF ret = 0
	      cBuffer = chr( 27 ) + ".13N}"    //& Leitura X
	      ret = ECFWrite( cBuffer )
	      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      //
      MSGSTOP( "ABRE CUPOM" )
      cBuffer = chr( 27 ) + ".17}"    //& ABRE CUPOM
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      //
      MSGSTOP( "VENDE ITEM" )
      cBuffer := chr( 27 ) + ".01" + "7894900010015" + "0001000" + "000000100" + "000000000100" + "REFRI COCA-COLA 350ML   " + "F  " + "}"    //& VENDE ITEM
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      //
      MSGSTOP( "VENDE ITEM" )
      cBuffer := chr( 27 ) + ".01" + "7894900010015" + "0001000" + "000000100" + "000000000100" + "REFRI COCA-COLA 350ML   " + "F  " + "}"    //& VENDE ITEM
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      //
      MSGSTOP( "CANCELA ITEM" )
      cBuffer := chr( 27 ) + ".04" + "002" + "}"    //& CANCELA ITEM 002
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      //
      MSGSTOP( "TOTALIZA" )
      cBuffer := chr( 27 ) + ".10" + "01" + "000000000100" + "}"    //& TOTALIZA CUPOM E PAGA
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      //
      MSGSTOP( "FECHA CUPOM" )
      cBuffer := chr( 27 ) + ".12" + "N" + "N" + "0" + REPL( "-", 40 ) + "0" + REPL( "+", 40 ) + "0" + REPL( "-", 40 ) + "0" + REPL( "+", 40 ) + "0" + REPL( "-", 40 ) + "0" + REPL( "+", 40 ) + "0" + REPL( "-", 40 ) + "0" + REPL( "+", 40 ) + "}"    //& FECHA VENDA
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      //
      MSGSTOP( "CANCELA" )
      cBuffer := chr( 27 ) + ".05" + "}"    //& CANCELA CUPOM ANTERIOR
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      MSGSTOP( "ABRE GAVETA" )
      cBuffer := chr( 27 ) + ".21" + "}"    //& ABRE GAVETA
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      MSGSTOP( "STATUS DA GAVETA" )
      cBuffer := chr( 27 ) + ".22" + "}"    //& STATUS DA GAVETA
      ret = ECFWrite( cBuffer )
      IF ret = 0
         cBuffer = Space( 512 )
         ret = ECFRead( cBuffer, 512 )
         MSGSTOP( RET )
         MSGSTOP( cBUFFER )
         //** Tratamento do erro (cBuffer)
      ELSE
         MSGSTOP( "OK" )
      ENDIF
      MSGSTOP( "FECHA PORTA" )
      ECFClose()
   ENDIF
   MSGSTOP( "FUI" )
	RETURN nil
	DLL32 FUNCTION ECFOpen( Numero AS LONG, Tempo AS LONG, Log AS LONG, Mostra AS LONG ) AS LONG PASCAL LIB ABRE_SWEDA
DLL32 FUNCTION ECFClose() AS LONG PASCAL LIB ABRE_SWEDA
DLL32 FUNCTION ECFWrite( Comando AS STRING ) AS LONG PASCAL LIB ABRE_SWEDA
DLL32 FUNCTION ECFRead( Status AS STRING, Extensao AS LONG ) AS LONG PASCAL LIB ABRE_SWEDA
	OU
	// http://fivewin.com.br/index.php?/topic/21122-sweda-dll32/
	tiaoFW, on 22 Jun 2013 - 19:17, said:
	Boa noite.
	Abaixo vai as declarações para SWEDA usando a DLL CONNECT/C, que é a DLL da SWEDA mais facil e compativel de ser implementada.
	Recomendo que teste numa impressora real.
	Abraços.
	*** SWEDA MATRICIAL E MFD // 19/10/2007
	//Ler total do cupom
DLL32 FUNCTION ecfSubTotal( SubTotal    AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_SubTotal" LIB xDll
	//Ler número do caixa
DLL32 FUNCTION ecfNumeroCx( NumeroCaixa AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_NumeroCaixa" LIB xDll
	//Ler configuração arredondamento/truncamento
DLL32 FUNCTION ecfVerArred( Arredonda   AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_VerificaTruncamento" LIB xDll
	//Ativa arredondamento
DLL32 FUNCTION ecfLigArred(                          ) AS LONG PASCAL ;
FROM "ECF_ProgramaArredondamento" LIB xDll
	//Ler data do movimento
DLL32 FUNCTION ecfDtMovto ( DtMovto     AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_DataMovimento" LIB xDll
	//Ler flag fiscal da impressora
DLL32 FUNCTION ecfFlagFisc( @FlagFiscal AS PTR       ) AS LONG PASCAL ;
FROM "ECF_FlagsFiscais" LIB xDll
	//Emite leitura X
DLL32 FUNCTION ecfLeituraX(                          ) AS LONG PASCAL ;
FROM "ECF_LeituraX" LIB xDll
	//Emite redução Z
DLL32 FUNCTION ecfReducaoZ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_ReducaoZ" LIB xDll
	//Ler data e hora da impressora
DLL32 FUNCTION ecfDtHora( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_DataHoraImpressora" LIB xDll
	//Faz abertura do dia
DLL32 FUNCTION ecfAbreDia ( Vl AS LPSTR, Fr AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_AberturaDoDia" LIB xDll
	//Abre cupom fiscal
DLL32 FUNCTION ecfAbreCup ( Cgc         AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_AbreCupom" LIB xDll
	//Verifica se tem papel
DLL32 FUNCTION ecfVerPapel( @Linhas     AS PTR       ) AS LONG PASCAL ;
FROM "ECF_MonitoramentoPapel"       LIB xDll
	//Verifica se tem impressora ligada
DLL32 FUNCTION ecfPrintLig(                          ) AS LONG PASCAL ;
FROM "ECF_VerificaImpressoraLigada" LIB xDll
	DLL32 FUNCTION ecfHoraVerao(                          ) AS LONG PASCAL ;
FROM "ECF_ProgramaHorarioVerao" LIB xDll
	//Cancela cupom fiscal
DLL32 FUNCTION ecfCanCupom(                          ) AS LONG PASCAL ;
FROM "ECF_CancelaCupom"             LIB xDll
	//Suprimento de Caixa
DLL32 FUNCTION ecfSupri(vrsupri AS LPSTR, fpagam AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_Suprimento"      LIB xDll
	//Suprimento de Caixa
DLL32 FUNCTION ecfSangria(vrsangria AS LPSTR       ) AS LONG PASCAL ;
FROM "ECF_Sangria"      LIB xDll
	//Cancela ítem Genérico do cupom
DLL32 FUNCTION ecfCancItem(item      AS LPSTR      ) AS LONG PASCAL ;
FROM "ECF_CancelaItemGenerico"      LIB xDll
	//Abre a gaveta
DLL32 FUNCTION ecfAbreGav (                          ) AS LONG PASCAL ;
FROM "ECF_AcionaGaveta"             LIB xDll
	//Ler número do cupom
DLL32 FUNCTION ecfNumCupom( Cupom       AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_NumeroCupom"              LIB xDll
	//Emite leitura da memória fiscal por data
DLL32 FUNCTION ecfMemData ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalData" LIB xDll
	//Emite leitura da memória fiscal por Redução
DLL32 FUNCTION ecfMemRedu ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalReducao" LIB xDll
	//Emite leitura da memória fiscal por data em arquivo TXT
DLL32 FUNCTION ecfMemDataTxt ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalSerialData" LIB xDll
	//Emite leitura da memória fiscal por Redução em arquivo TXT
DLL32 FUNCTION ecfMemReduTxt ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalSerialReducao" LIB xDll
	//Emite leitura da memória fiscal por data (MFD)
DLL32 FUNCTION ecfMemDataMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalDataMFD" LIB xDll
	//Emite leitura da memória fiscal por Redução (MFD)
DLL32 FUNCTION ecfMemReduMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalReducaoMFD" LIB xDll
	//Emite leitura da memória fiscal por data em arquivo TXT (MFD)
DLL32 FUNCTION ecfMemDataTxtMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalSerialDataMFD" LIB xDll
	//Emite leitura da memória fiscal por Redução em arquivo TXT (MFD)
DLL32 FUNCTION ecfMemReduTxtMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_LeituraMemoriaFiscalSerialReducaoMFD" LIB xDll
	//Verifica Relatorios Gerenciais Programados
DLL32 FUNCTION ecfVerGer( Texto AS STRING  ) AS LONG PASCAL ;
FROM "ECF_VerificaRelatorioGerencialProgMFD"       LIB xDll
	//Nomeia Relatorio Gerencial
DLL32 FUNCTION ecfNomGer( cIndice AS STRING, cTexto AS STRING  ) AS LONG PASCAL ;
FROM "ECF_NomeiaRelatorioGerencialMFD"       LIB xDll
	//Abre Relatorio Gerencial Programado
DLL32 FUNCTION ecfAbreGer( cIndice AS STRING  ) AS LONG PASCAL ;
FROM "ECF_AbreRelatorioGerencialMFD"       LIB xDll
	//Emite cupom gerencial
DLL32 FUNCTION ecfCpGerAbr( Texto AS STRING          ) AS LONG PASCAL ;
FROM "ECF_RelatorioGerencial"       LIB xDll
	//Fecha cupom gerencial
DLL32 FUNCTION ecfCpGerFec(                          ) AS LONG PASCAL ;
FROM "ECF_FechaRelatorioGerencial"  LIB xDll
	//Verifica Status Gerencial
DLL32 FUNCTION ecfCpGerSta( cTexto AS STRING ) AS LONG PASCAL ;
FROM "ECF_StatusRelatorioGerencial"  LIB xDll
	//Verifica status da gaveta
DLL32 FUNCTION ecfStGaveta( @nStatus    AS PTR       ) AS LONG PASCAL ;
FROM "ECF_VerificaEstadoGaveta"     LIB xDll
	// Verifica se ha redução Z pendente
DLL32 FUNCTION ecfZpendente( Zpend AS STRING         ) AS LONG PASCAL ; // Acrescentado em 07/04/2006 por tiao
FROM "ECF_VerificaZPendente" LIB xDll
	// Verifica Status comprovante não fiscal vinculado
DLL32 FUNCTION ecfStatNaoFis( @nStatus    AS PTR      ) AS LONG PASCAL ; // Acrescentado em 16/05/2006 por tiao
FROM "ECF_StatusComprovanteNaoFiscalVinculado" LIB xDll
	//Abre cupom adicional não fiscal vinculado
DLL32 FUNCTION ecfCupAdAbr( FormaPgto   AS STRING,;
Valor       AS STRING,;
Cupom       AS STRING    ) AS LONG PASCAL ;
FROM "ECF_AbreComprovanteNaoFiscalVinculado" LIB xDll
	//Imprime cupom não fiscal vinculado
DLL32 FUNCTION ecfCupAdUsa( Texto       AS STRING    ) AS LONG PASCAL ;
FROM "ECF_UsaComprovanteNaoFiscalVinculado"  LIB xDll
	// Dados da Ultima Redução
DLL32 FUNCTION ecfDadult( dados       AS STRING    ) AS LONG PASCAL ;
FROM "ECF_DadosUltimaReducao"  LIB xDll
	// Dados da Ultima Redução MFD
DLL32 FUNCTION ecfDadultMFD( dados       AS STRING    ) AS LONG PASCAL ;
FROM "ECF_DadosUltimaReducaoMFD"  LIB xDll
	// Retorno da Impressora
DLL32 FUNCTION ecfRetorno( @varack AS PTR, @varst1 AS PTR, @varst2 AS PTR) AS LONG PASCAL ;
FROM "ECF_RetornoImpressora"  LIB xDll
	// Status da Impressora
DLL32 FUNCTION ecfEstadoImp( @varack AS PTR, @varst1 AS PTR, @varst2 AS PTR) AS LONG PASCAL ;
FROM "ECF_VerificaEstadoImpressora"  LIB xDll
	//Ler número de Série da Impressora
DLL32 FUNCTION ecfNumSerie( serie       AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_NumeroSerie"              LIB xDll
	//Ler número de Série da Impressora MFD
DLL32 FUNCTION ecfNumSerieMFD( serie       AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_NumeroSerieMFD"              LIB xDll
	//Ler Ultimo Item vendido
DLL32 FUNCTION ecfUltItem( uitem       AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_UltimoItemVendido"              LIB xDll
	//Ler número de Reduções da Impressora
DLL32 FUNCTION ecfNumRedu( nredu       AS LPSTR     ) AS LONG PASCAL ;
FROM "ECF_NumeroReducoes"              LIB xDll
	//Ler status de vinculo ao ISS
DLL32 FUNCTION ecfVerIss( cvinciss     AS STRING    ) AS LONG PASCAL ;
FROM "ECF_VerificaAliquotasIss"              LIB xDll
	//Configura espaçamento entre documentos
DLL32 FUNCTION ecfSpace( cspace     AS STRING    ) AS LONG PASCAL ;
FROM "ECF_CfgEspacamentoCupons"              LIB xDll
	//Ler status das Aliquotas de ICMS
DLL32 FUNCTION ecfAliquotas( caliquotas  AS STRING    ) AS LONG PASCAL ;
FROM "ECF_RetornoAliquotas"              LIB xDll
	//Ler Status das Formas de Pagamento
DLL32 FUNCTION ecfformas( cforma  AS STRING    ) AS LONG PASCAL ;
FROM "ECF_VerificaDescricaoFormasPagamento"              LIB xDll
	//Fecha cupom não fiscal
DLL32 FUNCTION ecfCupAdFec(                          ) AS LONG PASCAL ;
FROM "ECF_FechaComprovanteNaoFiscalVinculado" LIB xDll
	//Vende ítem
DLL32 FUNCTION ecfVendItem( 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 "ECF_VendeItem"    LIB xDll
	/*DLL32 FUNCTION ecfVendItem( Codigo      AS STRING,;  // vende item departamento
Descricao   AS STRING,;
Aliquota    AS STRING,;
ValUnit     AS STRING,;
Quantid     AS STRING,;
ValDesc     AS STRING,;
ValAcresc   AS STRING,;
IndDepto    AS STRING,;
UnidMedo    AS STRING    ) AS LONG PASCAL ;
FROM "ECF_VendeItemDepartamento"    LIB xDll
	/* 1. Código: STRING até 49 caracteres com o código do produto.
 2. Descrição: STRING até 201 caracteres com a descrição do produto.
 3. Alíquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice)
 4. Valor Unitário: STRING com até 9 dígitos para o valor (tres casas decimais).
 5. Quantidade: STRING com até 7 dígitos para a quantidade. Na venda com departamento a quantidade é fracionária e são 3 casas decimais.
 6. Desconto: STRING com o desconto por valor com até 10 dígitos (2 casas decimais).
 7. Acréscimo: STRING com o acréscimo por valor com até 10 dígitos (2 casas decimais).
 8. Indíce Departamento: STRING com o índice do departamento com 2 dígitos.
 9. Unidade Medida: STRING com no máximo 2 caracteres para a unidade de medida. Caso não seja passado nenhum caracter a unidade não é impressa.
*/
	//Inicia Fechamento do Cupom
DLL32 FUNCTION ecfIniFechamento(Acrescimo   AS STRING,;
TipoAcresc  AS STRING,;
ValorAcresc AS STRING ) AS LONG PASCAL ;
FROM "ECF_IniciaFechamentoCupom"    LIB xDll
	//Forma de Pagamento
DLL32 FUNCTION ecfFormaPagto( FormaPgto   AS STRING,;
ValorPago   AS STRING ) AS LONG PASCAL ;
FROM "ECF_EfetuaFormaPagamento"    LIB xDll
	//Termina Fechamento
DLL32 FUNCTION ecfTerminaFechamento(Mensagem AS STRING ) AS LONG PASCAL ;
FROM "ECF_TerminaFechamentoCupom"    LIB xDll
	//Fecha cupom
DLL32 FUNCTION ecfFechaCup( FormaPgto   AS STRING,;
Acrescimo   AS STRING,;
TipoAcresc  AS STRING,;
ValorAcresc AS STRING,;
ValorPago   AS STRING,;
Mensagem    AS STRING   ) AS LONG PASCAL ;
FROM "ECF_FechaCupom"    LIB xDll
	//Programa Forma de Pagamento
DLL32 FUNCTION ecfProgFormas( Forma AS STRING, OperaTef AS STRING ) AS LONG PASCAL ;
FROM "ECF_ProgramaFormaPagamentoMFD"    LIB xDll
	//Porta de Comunicação
DLL32 FUNCTION ecfPorta( cporta  AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_Porta"    LIB xDll
	//Controle do Status
DLL32 FUNCTION ecfStatus( cstatus  AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_Status"    LIB xDll
	//Controle do Status da Função
DLL32 FUNCTION ecfStatusFuncao( cstatus  AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_StatusFuncao"    LIB xDll
	//Controle do Retorno
DLL32 FUNCTION ecfRetorno_reg( cretorno  AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_Retorno"    LIB xDll
	//Controle da Porta
DLL32 FUNCTION ecfControle( ccontrole AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_ControlePorta"    LIB xDll
	// Nomeia Totalizador não fiscal
DLL32 FUNCTION ecfNomTot( Indice AS LONG, Nome AS STRING) AS LONG PASCAL ;
FROM "ECF_NomeiaTotalizadorNaoSujeitoIcms"  LIB xDll
	DLL32 FUNCTION ecfVerRecNf( Recebimento AS STRING ) AS LONG PASCAL ;
FROM "ECF_VerificaRecebimentoNaoFiscal"  LIB xDll
	DLL32 FUNCTION ecfModECF( ModeloECF AS LONG ) AS LONG PASCAL ;
FROM "ECF_VerificaModeloECF"  LIB xDll
	DLL32 FUNCTION ecfUnidMed( Unidade AS STRING ) AS LONG PASCAL ;
FROM "ECF_UsaUnidadeMedida"  LIB xDll
	DLL32 FUNCTION ecfProgAli( Aliquota AS STRING, Vinculo AS LONG ) AS LONG PASCAL ;
FROM "ECF_ProgramaAliquota"  LIB xDll
	//Ler Status das Formas de Pagamento
DLL32 FUNCTION ecfjanelas( cpapel AS STRING, cjanela  AS STRING    ) AS LONG PASCAL ;
FROM "ECF_LigaDesligaJanelas"              LIB xDll
	DLL32 FUNCTION ecfRegistry() AS LONG PASCAL ;
FROM "ECF_Registry"       LIB xDll
	DLL32 FUNCTION ecfRegistryVerao( VeraoSN AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_Verao"       LIB xDll
	DLL32 FUNCTION ecfAbrePorta(           ) AS LONG PASCAL ;
FROM "ECF_AbrePortaSerial"             LIB xDll
	DLL32 FUNCTION ecfFechaPorta(           ) AS LONG PASCAL ;
FROM "ECF_FechaPortaSerial"             LIB xDll
	DLL32 FUNCTION ecfAplicativo( cpapel AS STRING  ) AS LONG PASCAL ;
FROM "ECF_Registry_AplMensagem1"              LIB xDll
	DLL32 FUNCTION ecfAplicativo2( cpapel AS STRING  ) AS LONG PASCAL ;
FROM "ECF_Registry_AplMensagem2"              LIB xDll
	DLL32 FUNCTION ecfCRO( ccro AS STRING  ) AS LONG PASCAL ;
FROM "ECF_NumeroIntervencoes"              LIB xDll
	DLL32 FUNCTION ecfPath( cpath AS STRING  ) AS LONG PASCAL ;
FROM "ECF_Registry_Path"              LIB xDll
	//Retorna Modelo de Impressora
DLL32 FUNCTION ecfModImp(                          ) AS LONG PASCAL ;
FROM "ECF_VerificaModeloEcf"  LIB xDll
	//Retorna Venda Bruta Diaria
DLL32 FUNCTION ecfVendaBruta( cVendaBt AS STRING ) AS LONG PASCAL ;
FROM "ECF_VendaBruta"  LIB xDll
	//Retorna Grande Total
DLL32 FUNCTION ecfGrandeTotal( cGt AS STRING ) AS LONG PASCAL ;
FROM "ECF_GrandeTotal"  LIB xDll
	//Retorna Grande Total Inicial e Final Ultima Redução
DLL32 FUNCTION ecfGTIniFimMFD( cGtini AS STRING, cGtfim AS STRING ) AS LONG PASCAL ;
FROM "ECF_InicioFimGTsMFD"  LIB xDll
	//Retorna Data e Hora e MF adicional do Software Basico da Impressora
DLL32 FUNCTION ecfdthrSbMf( cdt AS STRING, chora AS STRING, cMfadi AS STRING ) AS LONG PASCAL ;
FROM "ECF_DataHoraGravacaoUsuarioSWBasicoMFAdicional"  LIB xDll
	//Retorna Marca, modelo e tipo da Impressora
DLL32 FUNCTION ecfMarcaModTipo( cmarca AS STRING, cmodelo AS STRING, ctipo AS STRING ) AS LONG PASCAL ;
FROM "ECF_MarcaModeloTipoImpressoraMFD"  LIB xDll
	//Retorna Versão Software basicao da Impressora
DLL32 FUNCTION ecfVersaoSB( cversao AS STRING ) AS LONG PASCAL ;
FROM "ECF_VersaoFirmwareMFD"  LIB xDll
	//Retorna CNPJ do usuario da Impressora
DLL32 FUNCTION ecfCNPJMFD( cCNPJ AS STRING ) AS LONG PASCAL ;
FROM "ECF_CNPJMFD"  LIB xDll
	//Retorna Inscricao estadual do usuario da Impressora
DLL32 FUNCTION ecfInscEstMFD( cInscEst AS STRING ) AS LONG PASCAL ;
FROM "ECF_InscricaoEstadualMFD"  LIB xDll
	// Retorna Flags Fiscais diversos da Impressora MFD (ISSQN)
DLL32 FUNCTION ecfFlagFis3MFD( @varack AS PTR ) AS LONG PASCAL ;
FROM "ECF_FlagsFiscais3MFD"  LIB xDll
	//Retorna Numero de substituicoes usuario impressora
DLL32 FUNCTION ecfNumSubProp( cNumUsu AS STRING ) AS LONG PASCAL ;
FROM "ECF_NumeroSubstituicoesProprietario"  LIB xDll
	//Retorna COO impressora
DLL32 FUNCTION ecfCOO( cCoo AS STRING ) AS LONG PASCAL ;
FROM "ECF_RetornaCOO"  LIB xDll
	//Retorna Data e Hora Reducao
DLL32 FUNCTION ecfDtHrRed( cdtred AS STRING, chrred AS STRING ) AS LONG PASCAL ;
FROM "ECF_DataHoraReducao"  LIB xDll
	//Retorna Aliquotas com Indice
DLL32 FUNCTION ecfLerAliqComInd( cAliqInd AS STRING ) AS LONG PASCAL ;
FROM "ECF_LerAliquotasComIndice"  LIB xDll
	//Retorna o Contador de Cupons Fiscais (MFD)
DLL32 FUNCTION ecfCCF( cCcf AS STRING ) AS LONG PASCAL ;
FROM "ECF_ContadorCupomFiscalMFD"  LIB xDll
	//Retorna a Data e Hora do Ultimo documento emitido (MFD)
DLL32 FUNCTION ecfDtHrCupMFD( cdthr AS STRING ) AS LONG PASCAL ;
FROM "ECF_DataHoraUltimoDocumentoMFD"  LIB xDll
	//Retorna COO inicial e final ultima reducao (MFD)
DLL32 FUNCTION ecfCOOIF( cCOOINI AS STRING, cCOOFIM AS STRING ) AS LONG PASCAL ;
FROM "ECF_InicioFimCOOsMFD"  LIB xDll
	//Retorna Valor pago ultimo cupom
DLL32 FUNCTION ecfPagoCup( cVrpago AS STRING ) AS LONG PASCAL ;
FROM "ECF_ValorPagoUltimoCupom"  LIB xDll
	DLL32 FUNCTION ecfCDC( cCDC AS STRING ) AS LONG PASCAL ;
FROM "ECF_ContadorComprovantesCreditoMFD" LIB xDll
	DLL32 FUNCTION ecfGRG( cGRG AS STRING ) AS LONG PASCAL ;
FROM "ECF_ContadorRelatoriosGerenciaisMFD" LIB xDll
	DLL32 FUNCTION ecfGNF ( cGRG AS STRING ) AS LONG PASCAL ;
FROM "ECF_NumeroOperacoesNaoFiscais" LIB xDll
	DLL32 FUNCTION ecfMemESPTxt ( carquivo AS STRING, Ctipo AS STRING, In AS STRING, Fi AS STRING, cusuario AS STRING  ) AS LONG PASCAL ;
FROM "ECF_DownloadMFD" LIB xDll
	DLL32 FUNCTION ecfArqMFD( cTipo AS LPSTR, FxaIni AS LPSTR, FxaFim AS LPSTR, PatTxt AS LPSTR, PatBin AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_ReproduzirMemoriaFiscalMFD" LIB xDll
	DLL32 FUNCTION ecfZauto( cZauto AS STRING ) AS LONG PASCAL ;
FROM "ECF_CfgRedZAutomatico" LIB xDll
	DLL32 FUNCTION ecfEstCCD( cCGC AS STRING, cNome AS STRING, cEndereco AS STRING ) AS LONG PASCAL ;
FROM "ECF_EstornoNaoFiscalVinculadoMFD" LIB xDll
	DLL32 FUNCTION ecfDecProg( cDecPreco AS STRING, cDecQtde AS STRING ) AS LONG PASCAL ;
FROM "ECF_CasasDecimaisProgramada" LIB xDll
	DLL32 FUNCTION ecfIdCliente( cNome AS STRING, cEndereco AS STRING, cCGC_CPF AS STRING ) AS LONG PASCAL ;
FROM "ECF_IdentificaConsumidor" LIB xDll
	DLL32 FUNCTION ecfACDS( cItem AS LPSTR, cAcreDesc AS LPSTR, cTipAcrDesc AS LPSTR, cValAcDs AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_AcrescimoDescontoItemMFD" LIB xDll
	DLL32 FUNCTION ecfCorte( cTipoCorte AS LONG ) AS LONG PASCAL ;
FROM "ECF_AtivaDesativaCorteProximoMFD"  LIB xDll
	DLL32 FUNCTION ecfAbreOPNF( cNome AS STRING, cEndereco AS STRING, cCGC_CPF AS STRING ) AS LONG PASCAL ;
FROM "ECF_AbreRecebimentoNaoFiscalMFD" LIB xDll
	DLL32 FUNCTION ecfVerOPNF( sRecebimento AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_VerificaRecebimentoNaoFiscalMFD" LIB xDll
	DLL32 FUNCTION ecfEfetuaOPNF( cIndiceTotal AS STRING, cValorReceb AS STRING) AS LONG PASCAL ;
FROM "ECF_EfetuaRecebimentoNaoFiscalMFD" LIB xDll
	DLL32 FUNCTION ecfACDS_OPNF( cAcreDesc AS LPSTR, cTipAcrDesc AS LPSTR, cValAcDs AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_AcrescimoDescontoSubtotalRecebimentoMFD" LIB xDll
	DLL32 FUNCTION ecfPgto_OPNF( cForma AS LPSTR, cValor AS LPSTR, cDescricao AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_EfetuaFormaPagamentoNaoFiscal" LIB xDll
	DLL32 FUNCTION ecfFecha_OPNF( cMensagem AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_FechaRecebimentoNaoFiscalMFD" LIB xDll
	DLL32 FUNCTION ecfCancelaOPNF( cNome AS LPSTR, cEndereco AS LPSTR, cCGC_CPF AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_CancelaRecebimentoNaoFiscalMFD" LIB xDll
	DLL32 FUNCTION ecfTotOPNF(  ) AS LONG PASCAL ;
FROM "ECF_TotalizaRecebimentoMFD" LIB xDll
	DLL32 FUNCTION ecfVerifIMP( @iAck AS PTR, @iSt1 AS PTR, @iSt2 AS PTR, @iSt3 AS PTR ) AS LONG PASCAL ;
FROM "ECF_VerificaEstadoImpressoraMFD" LIB xDll
	DLL32 FUNCTION ecfTemOPNF( cOPNF AS LPSTR ) AS LONG PASCAL ;
FROM "ECF_StatusComprovanteNaoFiscalNaoVinculado" LIB xDll
	DLL32 FUNCTION ecfTextoRapido( cTextoR AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_TextoRapido"       LIB xDll
	DLL32 FUNCTION ecf115200( cVelo AS STRING ) AS LONG PASCAL ;
FROM "ECF_Registry_Veloc115200"       LIB xDll
	//FIM SWEDA
	OU
	Olha eu uma vez usei uma impressora sweda e o prog de teste era esse:
	#include "FiveWin.ch"
	STATIC Abertura
	Func TESTE()
Local ret:=0,cBuffer
MSGSTOP("VOU")
Abertura:=LoadLib32("SWECF.DLL")
MSGSTOP(ABERTURA)
ret = ECFOpen(1, 4, 0, 0)  &&& porta:=1,2
MSGSTOP(RET)
if ret=0
   cBuffer=chr(27)+".13N}"    &&& Leitura X
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   *
   MSGSTOP("ABRE CUPOM")
   cBuffer=chr(27)+".17}"    &&& ABRE CUPOM
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   *
   MSGSTOP("VENDE ITEM")
   cBuffer := chr(27)+".01"+"7894900010015"+"0001000"+"000000100"+"000000000100"+"REFRI COCA-COLA 350ML   "+"F  "+"}"    &&& VENDE ITEM
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   *
   MSGSTOP("VENDE ITEM")
   cBuffer := chr(27)+".01"+"7894900010015"+"0001000"+"000000100"+"000000000100"+"REFRI COCA-COLA 350ML   "+"F  "+"}"    &&& VENDE ITEM
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   *
   MSGSTOP("CANCELA ITEM")
   cBuffer := chr(27)+".04"+"002"+"}"    &&& CANCELA ITEM 002
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   *
   MSGSTOP("TOTALIZA")
   cBuffer := chr(27)+".10"+"01"+"000000000100"+"}"    &&& TOTALIZA CUPOM E PAGA
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   *
   MSGSTOP("FECHA CUPOM")
   cBuffer := chr(27)+".12"+"N"+"N"+"0"+REPL("-",40)+"0"+REPL("+",40)+"0"+REPL("-",40)+"0"+REPL("+",40)+"0"+REPL("-",40)+"0"+REPL("+",40)+"0"+REPL("-",40)+"0"+REPL("+",40)+"}"    &&& FECHA VENDA
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   *
   MSGSTOP("CANCELA")
   cBuffer := chr(27)+".05"+"}"    &&& CANCELA CUPOM ANTERIOR
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   MSGSTOP("ABRE GAVETA")
   cBuffer := chr(27)+".21"+"}"    &&& ABRE GAVETA
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   MSGSTOP("STATUS DA GAVETA")
   cBuffer := chr(27)+".22"+"}"    &&& STATUS DA GAVETA
   ret = ECFWrite(cBuffer)
   if ret=0
      cBuffer = Space(512)
      ret = ECFRead(cBuffer, 512)
      MSGSTOP(RET)
      MSGSTOP(cBUFFER)
      *** Tratamento do erro (cBuffer)
   ELSE
      MSGSTOP("OK")
   endif
   MSGSTOP("FECHA PORTA")
   ECFClose()
endif
MSGSTOP("FUI")
return nil
	
DLL32 FUNCTION ECFOpen(Numero AS LONG, Tempo AS LONG, Log AS LONG, Mostra AS LONG) AS LONG PASCAL LIB Abertura
DLL32 FUNCTION ECFClose() AS LONG PASCAL LIB Abertura
DLL32 FUNCTION ECFWrite(Comando AS STRING) AS LONG PASCAL LIB Abertura
DLL32 FUNCTION ECFRead(Status AS STRING,Extensao AS LONG) AS LONG PASCAL LIB Abertura
	e funcionava bem.
	Alexandre Zilves
	

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