ffert
Messages postés63Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention15 décembre 2009 24 févr. 2004 à 16:10
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...
cs_Pag
Messages postés5Date d'inscriptionmardi 20 août 2002StatutMembreDernière intervention18 avril 2007 9 févr. 2004 à 07:31
Il ne faut pas oublier que c'est de la programmation orientée objet.
ObjetParant ---> TEdit ---> TEditNombre
yoghisan
Messages postés204Date d'inscriptionsamedi 10 mai 2003StatutMembreDernière intervention 2 juin 20051 8 févr. 2004 à 10:33
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 !
cs_Pag
Messages postés5Date d'inscriptionmardi 20 août 2002StatutMembreDernière intervention18 avril 2007 8 févr. 2004 à 06:58
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;
24 févr. 2004 à 16:10
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...
9 févr. 2004 à 07:31
ObjetParant ---> TEdit ---> TEditNombre
8 févr. 2004 à 10:33
La différence est loin d'etre négligeable ! C'est ce qui fait tout d'ailleurs !
8 févr. 2004 à 06:58
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....