Impressora Bematech com serial de 20 digitos

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

roneiluft
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 01 Dez 2011 21:16
Localização: Toledo/Parana

Impressora Bematech com serial de 20 digitos

Mensagem por roneiluft »

Boa tarde, possuo um cliente que adquiriu um impressora bematech, e o número serial da mesma possui 20 dígitos, porem no retorno das funções esta vindo apenas os 15 primeiros. Alguém sabe o que pode ser isso, ou o que eu posso fazer para trazer corretamente este serial

Desde já obrigado.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Impressora Bematech com serial de 20 digitos

Mensagem por lucimauro »

Boa tarde.

Voce esta usando a bemafi32.dll ou o acbrmonitor para se comunicar com a ECF.?
roneiluft
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 01 Dez 2011 21:16
Localização: Toledo/Parana

Impressora Bematech com serial de 20 digitos

Mensagem por roneiluft »

estanos utilizando o bemafi32.DLL
sambomb
Usuário Nível 3
Usuário Nível 3
Mensagens: 250
Registrado em: 24 Out 2008 17:02
Localização: Itaocara - RJ - Brasil

Impressora Bematech com serial de 20 digitos

Mensagem por sambomb »

O buffer que você está passando está pequeno, faça assim:

cBuffer := Space(21)

nResul := Bematech_FI_NumeroSerieMFD( @cBuffer )

? cBuffer
Imagem

Rca Sistemas - Itaocara - RJ
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Impressora Bematech com serial de 20 digitos

Mensagem por Imatech »

http://partners.bematech.com.br/suporte ... _serie.htm
Bematech_FI_NumeroSerie



Retorna o número de série da impressora.



Parâmetro:



NumeroSerie: Variável string com o tamanho de 15 posições para receber o número de série + 1 posição para o NULL.



Possíveis retornos da Função (INTEIRO):



0: Erro de comunicação.

1: OK.

-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.

-5: Erro ao abrir a porta de comunicação.

-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.

-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).



Observação:

Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI serão retornados os 15 primeiros caracteres de seu número serial. O número serial nestas impressoras é alfanumérico com o tamanho de 20 caracteres.

Exemplo:



' Exemplo em Visual Basic

NumeroSerie = Space(16)

iRetorno = Bematech_FI_NumeroSerie(NumeroSerie)



// Exemplo em Delphi

for iConta := 1 to 16 do NumeroSerie := NumeroSerie + ' ';

iRetorno := Bematech_FI_NumeroSerie( NumeroSerie );
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Solução: Bematech_FI_NumeroSerieMFD

Mensagem por Imatech »

Solução: Bematech_FI_NumeroSerieMFD
Bematech_FI_NumeroSerieMFD



Retorna o número de série da impressora MFD.



Parâmetro:



NumeroSerie: Variável STRING com o tamanho de 20 posições para receber a informação + 1 posição para o NULL.



Retornos da Função (INTEIRO):



0 - Erro de comunicação.

1 - Ok.

-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.

-5 - Erro ao abrir a porta de comunicação.

-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).



Exemplo:



' Exemplo em Visual Basic

sNumeroSerie = space(21)

iRetorno = Bematech_FI_NumeroSerieMFD(sNumeroSerie)



// Exemplo em Delphi

for iConta := 1 to 21 sNumeroSerie := sNumeroSerie + ' ';

iRetorno := Bematech_FI_NumeroSerieMFD(sNumeroSerie);
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
roneiluft
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 01 Dez 2011 21:16
Localização: Toledo/Parana

Impressora Bematech com serial de 20 digitos

Mensagem por roneiluft »

Muito obrigado pela ajuda, colocando a função do NUMEROSERIEMFD, deu certinho.

Agradeço a todos.
Responder