Ir para conteúdo
Fórum Script Brasil
  • 0

Como Saber Se Um Edit Tem Caract. Numericos


Léo

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

Tente isto:

//converte strings em inteiros se der certo, fala que digitou um inteiro

//se não der certo fala que não foi digitado um inteiro

try

StrtoInt(Edit1.text);

ShowMessage('Você digitou um inteiro');

except on EConvertError do

begin

ShowMessage('Não foi digitado um inteiro');

end;

end;

Link para o comentário
Compartilhar em outros sites

  • 0
Tente isto:

//converte strings em inteiros se der certo, fala que digitou um inteiro

//se não der certo fala que não foi digitado um inteiro

try

StrtoInt(Edit1.text);

ShowMessage('Você digitou um inteiro');

except on EConvertError do

begin

ShowMessage('Não foi digitado um inteiro');

end;

end;

Fui eu quem postou.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, fiz uma UNIT completa pra você.

Observações:

1) Eu coloquei dois objetos EDIT (Edit1 e Edit2);

2) Configurei a propriedade 'TAG' do Edit1 com o valor '1' (só digite o número um);

3) Para realizar o procedimento eu utilizei o evento OnExit do Edit1. Logo, adicione o evento OnExit do Edit1;

4) O Edit2 eu só coloquei para você poder clicar em outro objeto fora do Edit1;

5) Este exemplo faz com que a pessoa não saia do Edit1 caso ela deixe o Edit1 vazio ou se ela digita um valor que não seja um número inteiro. Caso ela digite um número inteiro, aparecerá a mensagem 'É um número inteiro' e o foco vai para o Edit2;

6) Se você executar este exemplo dentro do DELPHI (RUN), aparecerá uma mensagem de erro. Isto é normal. Compile e Construa o programa e execute-o fora do Delphi (pelo Windows Explorer, por exemplo), e ele vai funcionar corretamente.

================================================

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

procedure Edit1Exit(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Exit(Sender: TObject);

begin

if (Sender as TEdit).Text='' then

begin

Showmessage('Não foi digitado nenhum dado.');

(Sender as TEdit).SetFocus;

end

else

begin

Try

if (Sender as TEdit).Tag= 1 then

StrToInt((Sender as TEdit).Text);

ShowMessage('É um número inteiro');

Except

On EConvertError do

begin

ShowMessage('Não é um número inteiro');

(Sender as TEdit).SetFocus;

end;

end;

end;

end;

end.

================================================

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Um outro exemplo bastante simples e parece ser mais interessante que o primeiro que eu dei (smile.gif). É semelhante (quase igual) ao que o nosso colega postou.

1) Coloque um objeto EDIT;

2) Coloque um objeto BUTTON;

3) Adicione o evento OnClick do objeto BUTTON;

4) Se você executar este exemplo dentro do DELPHI (RUN), aparecerá uma mensagem de erro. Isto é normal. Compile e Construa o programa e execute-o fora do Delphi (pelo Windows Explorer, por exemplo), e ele vai funcionar corretamente.

UNIT Completa:

=============================================

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

try

if pos(',',edit1.text) > 0 then

begin

StrToFLoat(edit1.text);

showmessage('FLOAT');

end else

begin

StrToInt(edit1.text);

showmessage('INTEGER');

end;

except

showmessage('STRING');

end;

end;

end.

=============================================

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Outra forma seria:

1) Coloque um EDIT e um BOTÃO;

2) Adicione o evento OnClick do BOTÃO.

===========================================

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

procedure Button1Click(Sender: TObject);

private{ Private declarations }

public { Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

I: Int64;

J: Integer;

E: Extended;

S: string;

begin

J := -1;

S := 'DESCONHECIDO';

try

if (Pos(DecimalSeparator, Edit1.Text)>0) then

begin

Val(Edit1.Text, E, J);

if (J=0) then

S := 'FLOAT NUMBER';

end

else

begin

Val(Edit1.Text, I, J);

if (J=0) then

S := 'INTEGER';

end;

if (J<>0) then

S := 'STRING';

finally

ShowMessage(Edit1.Text + ' is a ' + S);

end;

end;

end.

===========================================

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...