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

Como Fazer Para Checar Se O Usuario Só Digitou Num


ALAOGC

Pergunta

9 respostass a esta questão

Posts Recomendados

  • 0

faça uma funçao para converte os dados digitados . em numeros..

strToFloat

ai cria um if onde

se der erro... (caso contenha letras)

if application.Messagebox ('Atenção!! Essa caixa de dialogo não contem somente numeros ...', MB_YesNo+MB_iconQuestion) = IDNO then

table1.post;

Tipo isso é so uma logica

não sei vai funcionar

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Mole!

if edit1.text <> then
begin
  Try
   strtoint(edit1.text);
   tabela.post;
  Except
   ShowMessage('Campo contem caracteres invalidos!');
   abort;
  end;
end
else
begin
  //se precisar fazer algo com o edit vazio...
end;

Mas não é bom fazer essa checagem em cada edit (na minha opinião), o ideial pra mim seria criar uma unit com os códigos de transformação, checagem e mensagem de erro, pra não ter que repetir esse código em todos os edit que precisa checar... Cria muito volume no Código fora que demora pra fazer...

Da uma olhada nisso se tu não tem ideia de como fazer essa Unit:

Exemplo aqui de como fazer a Unit com o Código de Checagem

Link para o comentário
Compartilhar em outros sites

  • 0

Acho q a melhor solução para esse problema está aki:

Na rotina abaixo, o TEdit só aceitará números de 0 a 9 e o BackSpace (Chr(8)). Se voce quiser a vírgula também, coloque dentro do colchete DecimalSeparator. Utilize o evento OnKeyPress do Edit

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in['0'..'9',Chr(8)]) then Key:= #0;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigue-o a digitar:

procedure TForm1.FormShow(Sender: TObject);
Begin
   BtnOK.enabled := false;
end;
e só desabilita o botão OK se o cara digitar alguma coisa:
procedure TForm1.MaskEdit1Change(Sender: TObject);
var cod : string;
begin
   DataModule.Tabela.Cancel;
   if (trim(Maskedit1.text) <> '') then
      cod := Maskedit1.text;
   if (DataModule.Tabela.FindKey([cod])) then begin
      BtnOK.Enabled := false;
   end;
   if (DataModule.Tabela.FindKey([cod])) or (MaskEdit1.Text = '') then begin
      BtnOK.Enabled := False;
   end
   else begin
      BtnOK.enabled := True;
end;
DataModule.Tabela.Append;
end;

vc´s acham uma boa saída?? é sempre assim q eu faço. Além de obrigar o cara a digitar no campo (código - chave primária), ele evita violação de chave.

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...