Fórum Verificar String #235537

01/06/2004

0

:lol: Pessoal me ajudem!

Como eu faço para verificar se a String tem só número ou string e se estiver string avisar que o edit só aceita número.

:?:


Zunker

Zunker

Responder

Posts

01/06/2004

Bruno Belchior

pelo q eu entendi vc preciza q o edit só aceito número correto
no envendo OnKeyPress coloque

begin
if (not (key in [´0´..´9´]) or (word(key)<>VK_BACK)) then
begin
key:=#0;
beep;
end;
end;


Responder

Gostei + 0

02/06/2004

Zunker

Eu preciso verificar se o Edit possui somente numeros ou sinais, sendo que naum pode conter letras.


Responder

Gostei + 0

02/06/2004

Paulo_amorim

Olá

Cmo disse o Bruno, teste no KeyPress

if Key not in [0..9,13,8]  then Key := 0;


VocÊ tambem pode validar na hora de usar...
por exemplo, num botão de inclusçao vc valida se soh tem Integer...
StrToInt(Edit1.Text)

Até+


Responder

Gostei + 0

02/06/2004

Zunker

O problema é que com a variavel q o imputbox cria, eu tenho q verificar se não tem letra

Se o cara q lida com o micro, em vez de digitar só numero como é q eu quero, digitar uma letra por acaso, então eu tenho q verificar essa saida para retornar uma mensagem para o carinha se por acaso digitou letras na variavel do Ano.


Responder

Gostei + 0

02/06/2004

Marconi

Snambie

Nos exemplos anteriores, o usuário não vai conseguir digitar outra coisa que não seja número, por isso voce não terá que avisa-los.

Lembrando ainda que para funcionar a propriedade Keypreview do form deve estar como ´true´.

Marconi


Responder

Gostei + 0

02/06/2004

Zunker

Eu testei mas naum deu certo


Responder

Gostei + 0

02/06/2004

Rômulo Barros

procedure TForm1.Button1Click(Sender: TObject);
Var
  C : Byte;
  Caractere : string;
begin
  For C := 1 to length(Edit1.Text)Do
  Begin
    Caractere := Copy(Edit1.Text,C,1);
    If((Caractere <> ´0´) or (Caractere <> ´1´) or
       (Caractere <> ´2´) or (Caractere <> ´3´) or
       (Caractere <> ´4´) or (Caractere <> ´5´) or
       (Caractere <> ´6´) or (Caractere <> ´7´) or
       (Caractere <> ´8´) or (Caractere <> ´9´))Then
       ShowMessage(´Letras encontradas !!!´);
       Exit;
  End;
end;



Responder

Gostei + 0

02/06/2004

Zunker

vlw

agora deu certo


Responder

Gostei + 0

02/06/2004

Marcelo Saviski

ou assim:

function IsInteger(s: string): Boolean;
var
  n: Integer;
begin
  Result := TryIntToStr(s, n);
end;

function IsFloat(s: string): Boolean;
var
  n: Double;
begin
  Result := TryFloatToStr(s, n);
end;


exemplo de uso:
p/ numeros inteiros
if IsInteger(ImputBox(´Texto´, ´Digite algo´, ´´)) then
  showmessage(´é um número inteiro´)
else
  showmessage(´não é um número inteiro´);


--ou--

p/ ´números com vírgula
if IsFloat(ImputBox(´Texto´, ´Digite algo´, ´´)) then
  showmessage(´é um número real´)
else
  showmessage(´não é um número real´);



Responder

Gostei + 0

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

Aceitar