Je suis débutant en Delphi et j'essaie de faire un prog avec un TEdit (ou on écrit une équation de premier ou second degré) et un Tboutton qui servirait à lancer le calcul mais quel est la fonction pour lancer le calcul.
Merci d'avance
Je suis débutant en Delphi et j'essaie de faire un prog avec un TEdit (ou on écrit une équation de premier ou second degré) et un Tboutton qui servirait à lancer le calcul mais quel est la fonction pour lancer le calcul.
Merci d'avance
salut ,
Tous les composants possedent des evements qui se trouvent dans la partie droite de l'explorateur . Selectionne l'evement adequat en doucle cliquant dessus . Un corps de code s'incrit dans ton unité , a toi ensuite de rajouter le code que tu veux executer dans c'est evement .
dans ton cas , selectionne ton bouton , va dans la partie droite de l'explorateur , double clique dans l'evement Onclick , dans ton unité il va s'incrire :
il te reste plus qu'a renseigner ton code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.Button1Click(Sender: TObject); begin end;
Remarque pour Onclick du bouton , tu as le meme effet si tu double clique directement sur ton bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.Button1Click(Sender: TObject); begin bla .. bla .. bla .. end;
bye et bon code
Bye et bon code...
Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .
c'est plutôt vague ton histoire...
tu devrais commencer par placer trois edits sur ta form où tu rentres les
valeurs de a,b et c pour une équation du type ax² + bx +c =0, placer
ensuite un label pour afficher les solutions de l'équation et un bouton où tu fais calculer tes solutions par le discriminent.... (dans le onclick du bouton) à la fin de ton calcul de solutions, tu rentres celles-ci dans le
caption du label.
commence déjà par quelque chose de modeste... si tu découvres delphi.
![]()
je t'ai démarré la résolution d'une équation du second degré pour t'aider.
tu rentres a,b et c dans trois edits.
j'ai testé ça a l'air de rouler.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 function Tform1.delta(a,b,c:extended):extended; begin result:=sqr(b)-4*a*c; end; function Tform1.solution1(a,b,c:extended):extended; begin result:=(-b+sqrt(delta(a,b,c)))/2*a; end; function Tform1.solution2(a,b,c:extended):extended; begin result:=(-b-sqrt(delta(a,b,c)))/2*a; end; procedure TForm1.Button1Click(Sender: TObject); begin if delta(a,b,c)<0 then label1.Caption:='solutions complexes' else if delta(a,b,c)=0 then label1.Caption:='solution='+floattostrf(-b/2*a,ffgeneral,4,4) else label1.Caption:='solution1='+floattostrf(solution1(a,b,c),ffgeneral,4,4)+' solution2='+floattostrf(solution2(a,b,c),ffgeneral,4,4); end; procedure TForm1.Edit1Change(Sender: TObject); begin if edit1.Text<>'' then val(edit1.text,a,code); end; procedure TForm1.Edit2Change(Sender: TObject); begin if edit2.Text<>'' then val(edit2.text,b,code); end; procedure TForm1.Edit3Change(Sender: TObject); begin if edit3.Text<>'' then val(edit3.text,c,code); end;
associe des événements onkeypress à tes édits pour limiter l'accès des touches pour la saisie. ajoute une condition pour a=0...
Si je me souviens bien de mes cours sur les complexesEnvoyé par Archimède
Dans le cas de Delta = 0, il y a une solution réelle et une autre complexe. Si tu le signales pour Delta < 0, c'est plus logique de le signaler aussi pour Delta = 0...
Mais sinon c'est la bonne méthode, bien que je ferais plus court
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 procedure TForm1.Button1Click(Sender: TObject); var Delta : Extended; begin Delta := sqrt(b) - 4*a*c; if Delta < 0 then Label1.Caption := '2 solutions complexes' else if Delta > 0 then Label2.Caption := Format('Solution 1 = %f ; Solution 2 = %f', [(-b-sqrt(Delta))/(2*a), (-b+sqrt(Delta))/(2*a)]) else Label2.Caption := Format('1 solution réelle : %f ; et 1 solution complexe', [(-b)/(2*a)]); end;
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
mes souvenirs de cours de maths sont déjà lointains... autant pour moi.
les complexes pour moi, à part en élec....
a+
je reponds peut etre un peu tard mais mes souvenirs a moi me disent que le cas delta=0 ne correspond nullement a des solutions complexes le programme était donc bon
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager