Un tedit uniquement numérique

Soyez le premier à donner votre avis sur cette source.

Vue 7 831 fois - Téléchargée 912 fois

Description

Voici un nouveau composant qui peut s'avérer utile...

C'est un TEdit qui permet de saisir uniquement des chiffres, ce que j'appelle un TEditNombre.

La saisie du nombre et d'un nombre uniquement peut se faire directement dans le composant ou soit dans la propriété "Nombre".

La présentation est exactement la même que la fonction "FloatToStrF", vous avez donc les mêmes paramétres pour régler votre présentation, c'est à dire :
Le format : ffGeneral, ffExponent, ffFixed, ffNumber, ffCurrency
La précision : 0 à 18
Le Digits : 0 à 18

Une option est proposée pour un affichage automatique d'une unité.

Et pour finir, ce qui fait la richesse de ce composant, c'est qu'en vous placant à droite d'un chiffre et en appuyant sur la flêche haut ou bas, vous pouvez incrémenter ou décrémenter le chiffre en question. J'ai fait fait ce composant pour ca car j'avais besoin de cette fonctionnalité.

J'espère que ce composant vous sera utile et qu'il ne viendra pas encombrer le site...

Conclusion :


Il faut installer le composant TEditNombre

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
63
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
15 décembre 2009

Petite précision pour le commentaire ajouté par Pag...
Au lieu d'écrire :
deci := AnsiPos(',',test);
...
Key := ',';

Il est plus judicieux d'écrire
deci := AnsiPos(DecimalSeparator, test);
Key := DecimalSeparator;

Pour que ce soit compatible sur tous les systèmes (en fonction des paramètres régionaux locaux à la machine)...

Séparateur décimal : le point (1.00) ou la virgule (1,00)

J'ai pas encore testé ce composant... Donc pour le reste on verra plus tard. Mais il a l'air sympa...
Messages postés
5
Date d'inscription
mardi 20 août 2002
Statut
Membre
Dernière intervention
18 avril 2007

Il ne faut pas oublier que c'est de la programmation orientée objet.

ObjetParant ---> TEdit ---> TEditNombre
Messages postés
221
Date d'inscription
samedi 10 mai 2003
Statut
Membre
Dernière intervention
2 juin 2005
1
Attends, moi je te parle d'un nouveau composant avec ces fonctionnalités et non d'un composant (TEdit) surchargé.

La différence est loin d'etre négligeable ! C'est ce qui fait tout d'ailleurs !
Messages postés
5
Date d'inscription
mardi 20 août 2002
Statut
Membre
Dernière intervention
18 avril 2007

IL y a plus simple

procedure TForm1.CalcKeyPress(Sender: TObject; var Key: Char);

begin
if not (key in '9') then key := #0;
end
end;

ou pour une calculatrice

procedure TForm1.CalcKeyPress(Sender: TObject; var Key: Char);
begin
test := (Sender as TEdit).Text;
deci := AnsiPos(',',test);
if cl = 1 then Calc.Clear;
cl := 0;

case key of

#44,#46 : if deci = 0
then Begin
key := ',';
deci :=1;
end
else key := #0;

'*': begin Button15Click(Sender); key := #0; end;

'/': begin Button16Click(Sender); key := #0; end;

'-': begin Button17Click(Sender); key := #0; end;

'+': begin Button18Click(Sender); key := #0; end;

#13: begin Button6Click(Sender); key := #0; end;

else if not (key in '9')
then key := #0;

end;

OU tout ce qu'on veux....

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.