Ir para conteúdo
  • Cadastre-se

dev botao

Erro balança Magellan


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

Recommended Posts

Existe um erro ler a resposta da balança 

 

 { Ajustando o separador de Decimal corretamente }
 

function TACBrBALMagellan.InterpretarRepostaPeso(aResposta: AnsiString): Double;
var
  wResposta: AnsiString;
begin
  Result := 0;

  if (Length(aResposta) > 20) then
    wResposta := InterpretarProtocoloA(aResposta)
  else if (Pos(ETX, aResposta) > 0) then
    wResposta := InterpretarProtocoloB(aResposta)
  else
    wResposta := InterpretarProtocoloC(aResposta);

  if (wResposta = EmptyStr) then
    Exit;

  { Ajustando o separador de Decimal corretamente }
  aResposta := StringReplace(aResposta, '.', DecimalSeparator, [rfReplaceAll]);
  aResposta := StringReplace(aResposta, ',', DecimalSeparator, [rfReplaceAll]);  

  try
    if (Pos(DecimalSeparator, aResposta) > 0) then  { Já existe ponto decimal ? }
      Result := StrToFloat(aResposta)
    else
      Result := (StrToInt(aResposta) / fpDecimais);
  except
    case aResposta[1] of
      'I' : Result := -1;  { Instavel }
      'N' : Result := -2;  { Peso Negativo }
      'S' : Result := -10;  { Sobrecarga de Peso }
    else
      Result := 0;
    end;
  end;
end;
 

Sendo que o correto é

 

  { Ajustando o separador de Decimal corretamente }
  aResposta := StringReplace(wResposta, '.', DecimalSeparator, [rfReplaceAll]);
  aResposta := StringReplace(wResposta, ',', DecimalSeparator, [rfReplaceAll]); // não há necessidade 

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2697 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.

The popup will be closed in 10 segundos...