Jubilatthorr
Messages postés15Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention 5 septembre 2005
-
19 mai 2005 à 22:50
Jubilatthorr
Messages postés15Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention 5 septembre 2005
-
24 mai 2005 à 19:16
Bonjour,
j'essaie de développer un programme en dephi mais j'ai un petit problème. J'aimerais pouvoir rentrer une valeur numérique dans la case A (TEdit) lors de l'exécution, et calculer le double de cette valeur dans la case B (TEdit).
J'ai le code suivant:
procedure TForm1.AChange(Sender: TObject);
begin
B.Text:=IntToStr(2*StrToInt(A.Text))
end;
Le code marche mais lorsque j'efface les chiffres et que je me trouve avec un champ vide j'ai un message d'erreur; j'ai aussi un message d'erreur lorsque je rentre des lettres. Est-ce possible de ne pas afficher ces messages d'erreur et de lui dire quoi faire si l'une de ces situations se présente lors de l'utilisation?
J'aurais aussi une autre question. Un champ TEdit C est calculé à partir de plusieurs autres TEdit A et B. Est-il possible de calculer la valeur de C uniquement si les champs A et B sont remplis par des entiers, et aussitôt que A et B sont remplis?
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 20 mai 2005 à 14:53
Oui, il y a pas mal d'approches pour répondre à la première question.
On peut également filtrer l'Edit A au moment de la saisie :
procedure TForm1.AChange(Sender: TObject);
begin
if A.Text <> '' then
B.Text := IntToStr(2 * StrToInt(A.Text))
else
B.Text := '0';
end;
procedure TForm1.AKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8, #13])
then Key := #0;
end;
Pour la 2ème question, il faudrait préciser si "0" est une valeur
acceptable pour considérer que les champs des Edits A sont remplis, les
Edits B étant complétés automatiquement si j'ai bien compris...
Mike SN53477
Messages postés26Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention27 août 2005 21 mai 2005 à 21:37
Tu peux aussi utiliser un "SpinEdit" (onglet "samples")
C'est plus simple, il est impossible d'entrer des caractères.
Bien sûr tu dois ensuite gérer quelques erreurs de manipulation de la part de l'utilisateur.