salut,
je veux que la progression de la jauge reflète l'avancement de l'exécution de la fonction mais en fait jai un problème.dans ma fonctions jai plusieurs boucle while et for et je ne sait pas comment fairequelqu'un a une idée?voici le code de la fonction,jai mis la jauge mais elle n'est pas synchrone avec l'exécution de la fonction.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
def relations(self,event):
		self.g1.Show(True)
		liste=os.listdir(maissa.path1)
		liste2=glob.glob(maissa.path1)
		liste7=[]
		liste4=[]
		liste3=[]
		liste_glob=[]
		liste6=[]
		f2=open("relation.txt",'w')
		self.g1.SetRange(len(liste))
		for i in range(len (liste)):
			self.g1.SetValue(i)
			#wx.Yield()
			self.textcount.SetLabel(str((100*i/len(liste)))+" %")
			#****************************
			path_s=liste2[0]+'\\' + liste[i]
			if liste[i]=="KRN_ASW.H":
				f1=open(path_s,'r')
				liste_glob=relation_krn.proc3(liste_glob,f1)
			if (('_fct' in liste[i]) and (liste[i].endswith('.c'))or ('_FCT' in liste[i])) and (liste[i].endswith('.C')):
				liste3=tab5_fct.proc(liste3,path_s)
			X=path_s.endswith("_SCH.C") or path_s.endswith("_SCH.c")or path_s.endswith("_sch.c")or path_s.endswith("_sch.C")
			if X == True:
				liste4=tab5_sch.proc2(liste4,path_s)
		liste5=liste3+liste4
		print "len de liste5 est ",len(liste5)
		for i in range(len(liste_glob)):
			liste = liste_glob[i]
			for j in range(len(liste5)):
				listea=liste5[j]
				if liste[-1] == listea[0]:
					a=liste+listea[1:len(listea)+1]
					liste6.append(a)
		i=0
		cnt=0
		while i <= len(liste6):
			cnt=0
			liste=liste6[i]
			j=0
			while j<=len(liste5):
				listeb=liste5[j]
				if ( liste[-1]==listeb[0] ):
					b=liste+listeb[1:len(listeb)+1]
					liste6.append(b)
				j=j+1
				if (j > len(liste5)-1):
					break
			i=i+1
			if (i > len(liste6)-1):
				break
		print "len de liste6 est ",len(liste6)
#****************************************************************************
		k=0
		cnt=0
		while k <= len(liste6):
				cnt=0
				liste=liste6[k]
				j=0
				while j<=len(liste5):
					listeb=liste5[j]
					if ( liste[-1]!=listeb[0] ):
						cnt=cnt+1
					j=j+1
					if (j > len(liste5)-1):
						break
				if cnt==len(liste5):
					liste7.append(liste)
					f2.write(str(liste)+'\n')
				k=k+1
				if (k > len(liste6)-1):
					break
		print "liste7 ",len(liste7)
		self.textcount.SetLabel("100%")
		dlg = wx.MessageDialog(self, 'Fin dexecution', 'Import relations', wx.OK|wx.ICON_INFORMATION)
		dlg.ShowModal()
		dlg.Destroy()
		self.g1.Show(False)
		self.textcount.Show(False)