Fórum verificar se alguma variavel contem somente numeros sem TRY #194308

11/11/2003

0

alguem poderia me ajudar, estou tendo uns probleminhas com isto, eu estou tentando verificar se uma string possui somente numeros, sendo esta primeira pega de um inputbox, quando eu coloco somente numeros da certo, soh q quando eu coloco qq outro caractere ele da erro de conversão, tentei utilizar da seguinte forma


var
num : integer;
begin
try
num := strtoint(inputbox(...))
except
MsgBox (Handle, ´Somente Numeros´, ´Erro´, 0);
end;

tentei tbm desta forma

except
on EConvertError do
MsgBox (Handle, ´Somente Numeros´, ´Erro´, 0);
end;

nenhum destes modos da certo

Alguem poderia me ajudar?

Antes de mais nada obrigado soh pela curiosidade da minha duvida

vlw Pessoal do Clube Delphi


Matt_nttp

Matt_nttp

Responder

Posts

11/11/2003

Gbastos

Não lembro agora se o Delphi tem alguma função que verifica que uma string é composta de números (como o VB tem o IsNumeric), mas dá pra fazer rapidinho uma função tipo:
function EhNum(Expressao: string): boolean;
var
   I: integer;
   EhNumerico: boolean;
begin
   EhNumerico := true;
   I := 1;
   while (I < Length(Expressão)) and (EhNumerico) do
   begin
     if (Ord(Expressão[I]) < 48) or (Ord(Expressão[I]) > 57) then
        EhNumerico := false;
     I := I + 1;
   end;
   Result := EhNumerico;
end;


Eu sei q tá meio tosco, mas é só pra ilustrar... :lol:


Responder

Gostei + 0

11/11/2003

Beppe

Podes usar a intrinsica Val:

var
  Valor, Code: Integer;
begin
  Val(InputBox(...), Valor, Code);
  if Code <> 0 then ShowMessage(´Não é um número´);
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar