cs_orques
Messages postés13Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention14 octobre 2005
-
30 sept. 2005 à 16:31
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 2014
-
3 oct. 2005 à 07:58
Bonjour,
je suis débutant, j'ai crée une calculatrice qui fonctionne bien mais pour l'utiliser il faut que je clique sur les boutons affectés.
Je souhaiterais savoir quel(s) code(s) utiliser pour utiliser également le clavier numérique.
Merci d'avance.
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 30 sept. 2005 à 18:36
c'est le decimalseparator en constante qui génére l'erreur. SI on le remplace par ',' ça marche. Par contre le keypreview génère une double saisie dans l'Edit
essaie ça:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 30 sept. 2005 à 19:05
pour eviter la double saisie quand l'edit à la focus il faut rajouter:
procedure TForm1.Edit1Enter(Sender: TObject);
begin
form1.KeyPreview:=false;
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
form1.KeyPreview:=true;
end;
et pour éviter les doubles separateur decimaux rajoute dans FormKeyPress :
if
(key=DecimalSeparator)and(pos(DecimalSeparator,edit1.Text)<>0)
then key:=#0;
et la fonction de nico :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ((key = DecimalSeparator) and (Pos(DecimalSeparator,(Sender as
TEdit).Text) <> 0)) or (not (key in #8,
#13,DecimalSeparator,'0'..'9')) then key := #9; //