Bom dia.
Estou realizando um teste com o terminal de balança da Alfa Instrumentos 3104C , o cliente não está trabalhando com casas decimais na balança, está retornando erro, estava verificando os retornos e acontece o seguinte:
Com casas decimais retorna:
'**: 00,218 *: 00,000'#$D#$A
Sem casas decimais retorna:
'**: 00196 *: 00000'#$D#$A
Em Fontes/ACBrSerial/ACBrBALAlfa.pas
o erro acontecia na linha 109, onde tentava converter a string com o espaço no final '00196 ':
Result := (StrToInt(wResposta) / wDecimais);
na linha 96 possui o seguinte código
wResposta := Copy(wResposta, 5, 6);
Pra ajustar troquei o código acima pelo seguinte:
if (Pos(DecimalSeparator, String(wResposta)) > 0)
or (Pos('.', String(wResposta)) > 0)
or (Pos(',', String(wResposta)) > 0) Then
wResposta := Copy(wResposta, 5, 5)
else
wResposta := Copy(wResposta, 5, 6);
Teriam alguma outra sugestão?