Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

Fiz uma alteração nos fontes do ACBR para enviar a tara para balança Toledo Pix3.
Como só funciona em uma balança específica fiquei dúvida em qual unit criar a função. Vou postar aqui para avaliação de vocês!

Resumo das alterações:
 

ACBrBALClass.pas
   public 

    function EnviarTara(const aValor: Double; aMillisecTimeOut: Integer = 3000): Boolean; virtual;

   implemantation

   function TACBrBALClass.EnviarTara(const aValor: Double;  aMillisecTimeOut: Integer): Boolean;
   begin
     { Classes filhas devem reescrever caso suportem essa funcionalidade }
     raise Exception.Create(ACBrStr('Modelo ' + ModeloStr + ' não possui essa funcionalidade'));
   end;

 

ACBrBAL.pas

  public
    function EnviarTara(aValor: Double; aMillisecTimeOut: Integer): Boolean;

  implementation

   function TACBrBAL.EnviarTara(aValor: Double;  aMillisecTimeOut: Integer): Boolean;
   var
     Ativado: Boolean;
   begin
      Ativado := Ativo;

      try
        if (not Ativado) then  // Ativa, caso esteja desativado
           Ativar;

        Result := fsBAL.EnviarTara(aValor, aMillisecTimeOut);
        finally
           Ativo  := Ativado;
        end;
    end;

 

ACBrBALToledo.pas  //-- Duvida se esta é a melhor unit para implentar a função, uma vez que não funciona em todas as balanças Toledo

public

    function EnviarTara(const aValor: Double; aMillisecTimeOut: Integer = 3000): Boolean; override;
 

implementation

  function TACBrBALToledo.EnviarTara(const aValor: Double;  aMillisecTimeOut: Integer): Boolean;
  var
    s, cmd: String;
  begin
    s := PadLeft(IntToStr(Trunc(aValor * 1000)), 6, '0');
    cmd := SOH + s + ETX;

    GravarLog(' - ' + FormatDateTime('hh:nn:ss:zzz', Now) + ' TX -> ' + cmd);

    fpDevice.Limpar;
    fpDevice.EnviaString(cmd);
    Sleep(200);

    Result := (fpDevice.LeString(aMillisecTimeOut) = ACK);
  end;

 

Obrigado!

ACBrBAL.pas ACBrBALClass.pas ACBrBALToledo.pas

  • Curtir 2
  • Fundadores
Postado

me parece correto... muito obrigado pela contribuição...

Apesar de não funcionar em todos os modelos, é uma funcionalidade que me parece ser comum a todas as balanças

@EMBarbosa, consegue nos ajudar na analise e Merge ?

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Consultores
Postado
22 horas atrás, Daniel Simoes disse:

 

@EMBarbosa, consegue nos ajudar na analise e Merge ?

Em 04/12/2024 at 10:34, Eliseu disse:

Fiz uma alteração nos fontes do ACBR para enviar a tara para balança Toledo Pix3.
Como só funciona em uma balança específica fiquei dúvida em qual unit criar a função. Vou postar aqui para avaliação de vocês!

ACBrBAL.pas 15.66 kB · 0 downloads ACBrBALClass.pas 9.91 kB · 0 downloads ACBrBALToledo.pas 15.84 kB · 0 downloads

Muito obrigado pela contribuição

Adicionei no nosso backlog (TK-6317).

Assim que possível daremos um retorno.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.

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.

The popup will be closed in 10 segundos...