Página 1 de 1

Impressora Bematech com serial de 20 digitos

Enviado: 11 Set 2012 14:11
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.

Impressora Bematech com serial de 20 digitos

Enviado: 11 Set 2012 14:31
por lucimauro
Boa tarde.

Voce esta usando a bemafi32.dll ou o acbrmonitor para se comunicar com a ECF.?

Impressora Bematech com serial de 20 digitos

Enviado: 11 Set 2012 14:38
por roneiluft
estanos utilizando o bemafi32.DLL

Impressora Bematech com serial de 20 digitos

Enviado: 11 Set 2012 15:34
por sambomb
O buffer que você está passando está pequeno, faça assim:

cBuffer := Space(21)

nResul := Bematech_FI_NumeroSerieMFD( @cBuffer )

? cBuffer

Impressora Bematech com serial de 20 digitos

Enviado: 11 Set 2012 15:42
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 );

Solução: Bematech_FI_NumeroSerieMFD

Enviado: 11 Set 2012 15:45
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);

Impressora Bematech com serial de 20 digitos

Enviado: 12 Set 2012 08:04
por roneiluft
Muito obrigado pela ajuda, colocando a função do NUMEROSERIEMFD, deu certinho.

Agradeço a todos.