Voila un bout de programme qui ouvre et ferme 2 vannes sur actions de la souris suivant le même princique qu'une action maintenue sur un bouton;
Je n'obtiens pas le même résultat en ouverture qu'en fermeture
Le Down et Up en fermeture donne le bon résulat càd ajoute et soustrait la valeur"cde" en byte.
Alors que pour l'ouverture, le système ne fait que ajouter dans les 2 cas.
Je ne comprend pas car le code est rigoureusement sur le même principe.
D'autre part, je voudrais réprésenter les positions de cette vanne avec un progressbar.
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 procedure TForm4.Btfer_vanne_atelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin cde:=cde-16; PortOut ($378,cde); Btfer_vanne_atel.Caption:='Fermeture vanne'; Affcde.caption:=Inttostr(cde); end; procedure TForm4.Btfer_vanne_atelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin cde:=cde+16; PortOut ($378,cde); Btfer_vanne_atel.Caption:='Fermeture en cours'; Affcde.caption:=Inttostr(cde); end; procedure TForm4.Btouv_vanne_atelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin {correspond à l'arrêt de l'ouverture lors du relachement de la souris} cde:=cde-32; PortOut ($378,cde); Btouv_vanne_atel.Caption:='Ouverture vanne'; Affcde.caption:=Inttostr(cde); end; procedure TForm4.Btouv_vanne_atelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin {ouverture tant que la souris est appuyée} cde:=cde+32; PortOut ($378,cde); Btouv_vanne_atel.Caption:='Ouverture en cours'; Affcde.caption:=Inttostr(cde); end;
J'ai regardé partout sur la faQ et les forums, pour je ne trouve pas mon bonheur (trop compliqué ) Je cherche plutôt n bon tutoriel qui décrit de A à Z
Ou est-il ?
Un progressbar peut bien avancer et recule ?
Merci d'avance
Partager