jfaguiar Posted December 17, 2018 Report Share Posted December 17, 2018 Bom dia amigos. Alguém tem algum exemplo de cupom fiscal eletrônico em Five Win utilizando a dll da Sweda ou Epson ? Obrigado Quote Link to comment Share on other sites More sharing options...
rochinha Posted December 18, 2018 Report Share Posted December 18, 2018 Amiguinhos, jfaguiar Com a função PrintFileRaw() você pode enviar um texto com comandos sem precisar da DLL. Procure no forum por PrintFileRaw Agora se só resolve com a dll aguarde...alguém terá a solução. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 19, 2018 Report Share Posted December 19, 2018 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 19, 2018 Report Share Posted December 19, 2018 #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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.