ALAOGC Postado Maio 7, 2004 Denunciar Share Postado Maio 7, 2004 Ola galera.Gostaria de saber como fazer para saber se o usuario só digitou numeros num campo de cadastro, que vai para um banbco Access?Grato desde jáTiago Clemente Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bolomaster Postado Maio 7, 2004 Denunciar Share Postado Maio 7, 2004 faça uma funçao para converte os dados digitados . em numeros.. strToFloatai cria um if ondese der erro... (caso contenha letras)if application.Messagebox ('Atenção!! Essa caixa de dialogo não contem somente numeros ...', MB_YesNo+MB_iconQuestion) = IDNO thentable1.post;Tipo isso é so uma logicanão sei vai funcionarAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Corposemalma Postado Maio 7, 2004 Denunciar Share Postado Maio 7, 2004 Bota no onExit do component um TRY tipo:Try strtoint(edit1.text); tabela.post Except ShowMessage('Campo contem caracteres invalidos!') abort; end Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Maio 7, 2004 Denunciar Share Postado Maio 7, 2004 Mas e se ele passar pelo edit pelo <tab> e o edit estiver vazio? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Corposemalma Postado Maio 7, 2004 Denunciar Share Postado Maio 7, 2004 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arlon Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 Mas e se não digitar e simplemente atribuir o valor à propriedade TextEdit.Text := 'Qualquer valor'; ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Corposemalma Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 Como assim? você quer checar ao atribuir um calor? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 Não, na rotina do Arlon checa somente que se o valor for digitado.E se não digitar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arlon Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ALAOGC
Ola galera.
Gostaria de saber como fazer para saber se o usuario só digitou numeros num campo de cadastro, que vai para um banbco Access?
Grato desde já
Tiago Clemente
Link para o comentário
Compartilhar em outros sites
9 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.