Fórum Verificar String #235537
01/06/2004
0
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
Curtir tópico
+ 0Posts
01/06/2004
Bruno Belchior
no envendo OnKeyPress coloque
begin
if (not (key in [´0´..´9´]) or (word(key)<>VK_BACK)) then
begin
key:=#0;
beep;
end;
end;
Gostei + 0
02/06/2004
Zunker
Gostei + 0
02/06/2004
Paulo_amorim
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é+
Gostei + 0
02/06/2004
Zunker
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.
Gostei + 0
02/06/2004
Marconi
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
Gostei + 0
02/06/2004
Zunker
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;
Gostei + 0
02/06/2004
Zunker
agora deu certo
Gostei + 0
02/06/2004
Marcelo Saviski
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´);
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)