Bonjour,
Je fais face à une situation que j'aurais naturellement résolue en utilisant des pointeurs en C, mais ici je n'y arrive pas:
L'idée est que cette fonction est appelée en boucle (toutes les 0.01s) et qu'elle doit mettre à jour les variables globales MIDINOTE et FREQFLAG. Cependant mon programme comporte plusieurs fonctions de ce genre et il commence à être difficile de tout rassembler en un seul fichier source. Mais quand je déplace cette fonction dans un autre .py et que je l'importe au début du programme, les variables globales ne son plus reconnues. J'ai pensé à passer ces variables en paramètre mais il faudrait donc envoyer l'adresse de ces variables non ? Quelques test basiques m'ont montré que cela ne marchait pas en python...
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 def boucleFreq(): global MIDINOTE global FREQFLAG global freqMidiRound global freqCompteur new_freqMidi = freqFondamentaleMidi.get() new_freqMidiRound = round(new_freqMidi) if (new_freqMidiRound==freqMidiRound) | (abs(new_freqMidi-MIDINOTE)<=0.7): freqCompteur += 1 else: freqCompteur = 0 if freqCompteur == 2: MIDINOTE=freqFondamentale.get() #MIDINOTE=round(new_freqMidiRound) FREQFLAG=1 freqMidiRound = new_freqMidiRound
Merci d'avance !
Partager