Verificar se o caracter pode ser convertido para Inteiro

Delphi

30/04/2005

Estou com um problema, estou capturando valores de uma porta serial, mas vem com muito lixo, os dados, então filtrei usando POS e procurando por ´.´

Mas gostaria de saber se o primeiro caracter antes do ´.´ é um cartacer numero. Estou usando o copy para isto, mas gostaria de saber se é possovel verificar de uma forma diferente do que pedir para converter e onter um erro se não for tipo strtoint(copy(svlr,i,p)) existe outra alternativa ?


Agradeço antecipadamente a todos


Emery

Emery

Curtidas 0

Respostas

Nerdex

Nerdex

30/04/2005

var i: integer;
const num: = ´0123456789´;

if pos(texto[i],num) <> 0 then
begin
//showmessage(´achou um número´);
end;


GOSTEI 0
Eduprp

Eduprp

30/04/2005

Colega

Você pode fazer uma função para conversão dos valores, trabalhando com excessões Ex.:

Funciton Converte(sValor: String): Float;
begin
try
Result:= StrToFloat(sValor);
except
Result:= 0;
end;
end;

Se o valor que vc tentar converter não for um Float vai retornar 0;

Eduardo Pereira


GOSTEI 0
Beppe

Beppe

30/04/2005

var
  P: Integer;
begin
  P := Pos(´.´, Dados);
  if (P > 1) and (Dados[P - 1] in [´0´..´9´]) then
  begin
    // se chegar aqui, tem um dígito seguido de ponto
  end;
end;



GOSTEI 0
POSTAR