Comment puis-je accepter uniquement les numéros dans un contrôle d'édition?

Normalement, je devrais faire pour enregistrer une chaîne de la valeur dans la base de données

DataModule.tbTableNumber.Value := StrToFloat(edtNumber.text);

Maintenant, le problème vient lorsque l'utilisateur entre quelque chose qui ne peut pas convertir en nombre. Comment serais-je capable d'empêcher cela? Une personne peut-elle utiliser une exception et comment pourrais-je écrire cette exception?

Je suis en utilisant Delphi XE2.

Pourquoi vous n'êtes pas en utilisant les contrôles de bases de données? comme Vcl.DBCtrls.TDBEdit
Une autre approche serait d'empêcher l'utilisateur d'entrer des données non valides dans la première place. Vous pouvez utiliser un contrôle qui prend en charge les masques de saisie ou vous pourriez gérer la TEdit.OnChange événement pour empêcher l'utilisateur d'entrer des données non numériques. TEdit a aussi un NumbersOnly bien, mais il n'empêchera pas l'utilisateur de copier et coller des données non valides dans le champ.
Quels sont les avantages d'une bases de données de contrôle de me donner de plus normal TEdit
De nombreux avantages, entre eux à l'entrée de la validation des données est effectuée pour le contrôle de soi en fonction du type du champ, Donc si vous liez un TDbEdit à un integer ou float domaine, le contrôle que permettent d'entrer des valeurs numériques.
Donc, si un TEdit est connecté à un nombre de demandes déposées, il refusera de prendre toutes les autres personnages qui n'est pas numérique?

OriginalL'auteur Japster | 2012-04-02