scecim
Messages postés7Date d'inscriptionlundi 6 décembre 2004StatutMembreDernière intervention19 décembre 2006
-
9 déc. 2006 à 12:57
scecim
Messages postés7Date d'inscriptionlundi 6 décembre 2004StatutMembreDernière intervention19 décembre 2006
-
19 déc. 2006 à 12:08
bonjour à tous:
Voilà mon problème:
partant d'une variable 'x' qui à pour valeur de départ '0', (sachant que cette variable est mise à jour dés qu'elle recoit l'information par le Réseau 'protocole UDP'.)
'x' peut avoir pour valeur de '0 à +40' ou de '0 à -40'.
comment faire pour vérifier que 'x' est incrémenté de 1 ou décrémenté de 1, auquel cas un évenement sera déclenché, dans mon cas un Relais activé.
l'information arrive dans un Label que j'ai nommé [V0].
handle:=9115264;
Line:=2;
channel:=0;
if V0.Caption<floattostr(0) then
QAPIExtWriteDO32(handle,channel,Line,0);
if V0.Caption=floattostr(0) then
Reset();
end;
J'ai essayé avec (inc) et (dec) : For I:= 0 to 1 do
if V0.caption inc(i) then
QAPIExtWriteDO32(handle,channel,Line,0)
Rien à faire ,rien ne fonctionne,
merci à qui pourra m'aider
A voir également:
Incrémentation javascript
Incrémentation js - Meilleures réponses
Incrémentation et décrémentation en c - Meilleures réponses
scecim
Messages postés7Date d'inscriptionlundi 6 décembre 2004StatutMembreDernière intervention19 décembre 2006 19 déc. 2006 à 12:08
bonjour rt15,
effectivement, en déposant un nouveau label dans ma fiche et un timer, j'ai fait en sorte que label.caption prenne la valeur de mon premier label avec 1 seconde de décalage ce qui me permet de pouvoir comparer les deux.
A la place de mes relais , j'ai mis en place deux composant Edit qui change de couleur pour simuler l'allumage ou l'extinction des relais.
voila ce que ça donne:
procedure TForm1.changeC3(Sender: TObject);
begin
C3.Caption:=pitchlabel.Caption;
end;
if index=17 then begin
pitchlabel.caption:=floattostrF(V[0],ffFixed,6,0);
rolllabel.caption:=floattostrF(V[1],ffFixed,6,2);
if strtofloat(C3.Caption)< strtofloat(pitchlabel.Caption) then
Edit1.Color:=clRed
else Edit1.Color:=clgreen;
if strtofloat(C3.Caption)> strtofloat(pitchlabel.Caption) then
Edit2.Color:=clRed
else
Edit2.Color:=clGreen;
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 15 déc. 2006 à 17:32
Salut,
J'ai pas tout compris, et je dois pas être le seul, m'enfin...
Il y a certainement un meilleur moyen, m'enfin en voilà un ou deux :
1
Tu peux utiliser l'évènement OnChange du label, si y en a un. Tu peux
par exemple utiliser une variable dans ta fiche et comparé à la
nouvelle valeur du label à chaque changement.
2
Si y a pas de OnChange pour les labels, tu peux utiliser un timer qui vérifie périodiquement les changement de valeur du label.
dec et inc décrémentent et incrémentent. Ils ne permettent pas de savoir si ça à été fait.