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.