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
savoir si la valeur de ma variable a été modifiée
Re: savoir si la valeur de ma variable a été modifiée
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 :
Mais je ne pige pas ton histoire de saccade. Pour éviter ça, essaye de passer par les BindEvent(). Regarde ICI
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
~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
- microdevweb
- Messages : 1802
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: savoir si la valeur de ma variable a été modifiée
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:
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
Work at Centre Spatial de Liège
Re: savoir si la valeur de ma variable a été modifiée [RESOL
merci encore pour les conseils 

Re: savoir si la valeur de ma variable a été modifiée
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
Re: savoir si la valeur de ma variable a été modifiée
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:
J’espère avoir répondus comme il faut...
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
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.
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.
- 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
Ne pas répondre aurait été aussi bien. Ta réponse n'apporte rien de plus ce qui a été dit précédemment. !!!Shadow a écrit :J’espère avoir répondus comme il faut...
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%