savoir si la valeur de ma variable a été modifiée

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

savoir si la valeur de ma variable a été modifiée

Message par david »

Bonjour,

j'ai une variable X qui se modife au fur et a mesure du temps qui passe automatiquement avec "ElapsedMilliseconds"
cette variable est utilisé pour définir le nom de ma fenetre affichée à l'écran avec "SetWindowTitle" intégré dans ma boucle

hors pour ne pas avoir d'effet de sacade dans mon affichage,
j'aurais aimé que "SetWindowTitle" n'intervienne que si X a été modifié

je ne sais pas si je suis clair...
comme ça n'est pas moi qui modifie X, c'est difficile de dire X a été modifié donc modifie le titre...
y a t'il une fonction qui test si ma variable est modifié ou comment parvenir a ca
(j'ai essayé avec un delay pour ralentir ma boucle mais il me bug dans mes calculs de temps...)

merci par avance
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: savoir si la valeur de ma variable a été modifiée

Message par Ar-S »

1 - Je te conseils le timer pour vérifier si toutes les X ms ta variable N à changé..

Pour ça Lors de ta création de Variable N tu fais N.s = "truc" et Noriginal.s = N.s
Et dans ton timer :

Code : Tout sélectionner

 If N.s <> Noriginal.s : Setwindowstitle(....) : Noriginal.s = N.s : endif
Mais je ne pige pas ton histoire de saccade. Pour éviter ça, essaye de passer par les BindEvent(). Regarde ICI
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: savoir si la valeur de ma variable a été modifiée

Message par microdevweb »

Bien que je comprenne pas tout, normalement au lancement de ton programme tu initialise "X", il suffit alors de créer une autre variable exemple "OldX" avec la même valeur que "X" ensuite tu teste et modifie OldX

Exemple:

Code : Tout sélectionner

if X<>OldX
   ; mon traitement
   OldX=X
endif
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

Re: savoir si la valeur de ma variable a été modifiée [RESOL

Message par david »

merci encore pour les conseils :wink:
boby
Messages : 261
Inscription : jeu. 07/juin/2007 22:54

Re: savoir si la valeur de ma variable a été modifiée

Message par boby »

Je rejoins Ar-S, pour moi le plus simple serait de AddWindowTimer()

Code : Tout sélectionner

Declare close()
Declare changenom()
Global window, x
window = OpenWindow(#PB_Any,0,0,10,10,"bla",#PB_Window_SystemMenu)
AddWindowTimer(window,0,3000)
BindEvent(#PB_Event_CloseWindow,@close())
BindEvent(#PB_Event_Timer,@changenom())
Repeat : WaitWindowEvent() : ForEver

Procedure close()
  End
EndProcedure
Procedure changenom()
  SetWindowTitle(window,"bla blaaaa")
  x + 1
  Debug x
EndProcedure
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: savoir si la valeur de ma variable a été modifiée

Message par Shadow »

Salut ici, ya un moyen de faire se que tu veux.
Tu peut savoir si une variable à été modifier en faisant comme les copain disent.

Voici un exemple:

Code : Tout sélectionner

A = 0 ; doit être modifier à l'avenir pour le bon fonctionnement du programme.
B = 1

; Tant que B est différent de A, alors la condition fonctionne, sinon, rien ne se passe.
If B <> A ; B a bien été modifié !
B = A
; Faire quelque chose...
EndIf
J’espère avoir répondus comme il faut...
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: savoir si la valeur de ma variable a été modifiée

Message par falsam »

Shadow a écrit :J’espère avoir répondus comme il faut...
Ne pas répondre aurait été aussi bien. Ta réponse n'apporte rien de plus ce qui a été dit précédemment. !!!
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre