Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 4384 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá Amigos, estou desenvolvendo uma rotina de impressão na impressora de cheques Bematech Dp20, estou utilizando o AcbrCh, vi que existe uma propriedade ArquivoBemaFiINI, baixei o INI no site da impressora e adicionei na pasta do sistema, porém parece que o componente não o utiliza, pois alteramos as propriedades da linha da data por exemplo e ele não altera a posição, o código que estou usando é o código abaixo. Gostaria de dicas de como usar esse INI para reposicionar as labels de impressão. Obrigado desde já pela atenção da comunidade.

 Temp:='';

     Temp:=ExtractFilePath(Application.ExeName);

     Temp:=Temp+'BEMAFI32.INI';


     ACBrCHQ.ArquivoBemaFiINI:=Temp;


     ACBrCHQ.Banco := Self.Portador.Get_CodigoBanco;

     ACBrCHQ.Modelo:=chqBematech;

     ACBrCHQ.Valor:=StrToFloat(Self.Valor);

     ACBrCHQ.Favorecido:=ObjComprovanteCheque.Get_Nominador;

     ACBrCHQ.Data:=StrToDate(ObjComprovanteCheque.Get_data);

     ACBrCHQ.Cidade:=ObjComprovanteCheque.Get_Cidade;

     ACBrCHQ.BomPara:=StrToDate(Self.Vencimento);

     ACBrCHQ.ImprimirCheque;

-----------------------------------------------------------

Até a Vitória sempre!

Atenciosamente

Ronnei Peterson

Invictos Tecnologia - www.invictos.com.br

Postado

Amigos estou batendo cabeça aqui no problema da linha da Data no Cheque, altero no INI o ACBR carrega o INI corretamente, porém na hora de imprimir ele não imprime, resolvi debugar o acbr e cheguei na função ImprimirCheque da Classe AcbrCHqBematech e nela não encontrei onde envia a linha e a coluna para impressora, gostaria de entender em que momento a impressora recebe essas informações.



procedure TACBrCHQBematech.ImprimirCheque;

Var ValStr, DataStr : String ;

begin

  if not fpDevice.EmLinha( 3 ) then  { Impressora está em-linha ? }

    raise Exception.Create(ACBrStr('A impressora de Cheques '+fpModeloStr+

                           ' não está pronta.')) ;


  TravarCheque ;


  { Banco }

  fpDevice.EnviaString( #27 + #162 + fpBanco + #13 ) ;

  Sleep(100);

  { Valor }

  ValStr := IntToStrZero( Round( fpValor * 100), 11) ;

  ValStr := copy(ValStr,1,9)+','+copy(ValStr,10,2) ;

  fpDevice.EnviaString( #27 + #163 + ValStr + #13 ) ;

  Sleep(100);

  { Favorecido }

  fpDevice.EnviaString( #27 + #160 + Trim(fpFavorecido) + #13 ) ;

  Sleep(100);

  { Cidade }

  fpDevice.EnviaString( #27 + #161 + Trim(fpCidade) + #13 ) ;

  Sleep(100);

  { Data }

  DataStr := FormatDateTime('dd/mm/yy',fpData) ;

  DataStr := StringReplace(DataStr,DateSeparator,'/',[rfReplaceAll]) ;

  fpDevice.EnviaString( #27 + #164 + DataStr + #13 ) ;

  Sleep(100);


  DestravarCheque ;

end;

Obrigado pela Atenção

-----------------------------------------------------------

Até a Vitória sempre!

Atenciosamente

Ronnei Peterson

Invictos Tecnologia - www.invictos.com.br

  • Este tópico foi criado há 4384 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.