Léo Postado Junho 30, 2004 Denunciar Share Postado Junho 30, 2004 Ola amigos como faço para verificar que tipo de dados um edit está recebendo. Exemplo: digitando-se "Palavra" é um valor strig e "100" é um valor inteiro como faço isso?Agradecido! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Junho 30, 2004 Denunciar Share Postado Junho 30, 2004 Tenta fazer um for de 1 até Length(Edit.Text) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Junho 30, 2004 Denunciar Share Postado Junho 30, 2004 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 inteirotry StrtoInt(Edit1.text); ShowMessage('Você digitou um inteiro');except on EConvertError dobegin ShowMessage('Não foi digitado um inteiro');end;end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo_sdl Postado Junho 30, 2004 Denunciar Share Postado Junho 30, 2004 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 inteirotry StrtoInt(Edit1.text); ShowMessage('Você digitou um inteiro');except on EConvertError dobegin ShowMessage('Não foi digitado um inteiro');end;end; Fui eu quem postou. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Capablanca Postado Julho 1, 2004 Denunciar Share Postado Julho 1, 2004 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;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Edit1: TEdit;Edit2: TEdit;procedure Edit1Exit(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Edit1Exit(Sender: TObject);beginif (Sender as TEdit).Text='' thenbeginShowmessage('Não foi digitado nenhum dado.');(Sender as TEdit).SetFocus;endelsebeginTryif (Sender as TEdit).Tag= 1 thenStrToInt((Sender as TEdit).Text);ShowMessage('É um número inteiro');ExceptOn EConvertError dobeginShowMessage('Não é um número inteiro');(Sender as TEdit).SetFocus;end;end;end;end;end.================================================Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Capablanca Postado Julho 1, 2004 Denunciar Share Postado Julho 1, 2004 Um outro exemplo bastante simples e parece ser mais interessante que o primeiro que eu dei (). É 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;interfaceuses 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);begintryif pos(',',edit1.text) > 0 thenbeginStrToFLoat(edit1.text);showmessage('FLOAT');end elsebeginStrToInt(edit1.text);showmessage('INTEGER');end;exceptshowmessage('STRING');end;end;end.=============================================Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Capablanca Postado Julho 1, 2004 Denunciar Share Postado Julho 1, 2004 Outra forma seria:1) Coloque um EDIT e um BOTÃO;2) Adicione o evento OnClick do BOTÃO.===========================================unit Unit1;interfaceuses 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.=========================================== Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Léo
Ola amigos como faço para verificar que tipo de dados um edit está recebendo.
Exemplo: digitando-se "Palavra" é um valor strig e "100" é um valor inteiro
como faço isso?
Agradecido!
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
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.