Page 1 sur 1
[v4 beta 8] x = DrawText(x, y, "") [Corrigé]
Publié : lun. 13/mars/2006 16:55
par Dr. Dri
Code : Tout sélectionner
Dim mots.s(5)
mots(0) = "zero"
mots(1) = "un"
mots(2) = "deux"
mots(3) = "trois"
mots(4) = "quatre"
If OpenWindow(1, 0, 0, 200, 80, "DrawText Bug")
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Repaint And StartDrawing( WindowOutput(1) )
DrawingMode(#PB_2DDrawing_Transparent)
x = 10
For i = 0 To 4
x = DrawText(x, 10, mots(i)) ;exemple tout bête
Next i
mots(3) = "" ;avec une chaine nulle ca ne fonctionne plus
x = 10
For i = 0 To 4
x = DrawText(x, 30, mots(i))
Next i
;résultat attendu
x = 10
For i = 0 To 4
DrawText(x, 50, mots(i))
x + TextWidth(mots(i))
Next i
mots(3) = "trois " ;rétabli la situation de départ
StopDrawing()
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Dri

Publié : lun. 13/mars/2006 18:45
par Good07
Bonsoir Dri.
Bon, j'ai eu du mal à comprendre ton exemple, alors je l'ai modifié à ma façon, mais ça reste dans l'esprit de la démo.
Code : Tout sélectionner
Dim mots.s(5)
mots(0)="Zéro"
mots(1)="Un"
mots(2)="Deux"
mots(3)="trois"
mots(4)="Quatre"
If OpenWindow(1, 0, 0, 200, 80, "DrawText Bug")
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Repaint And StartDrawing( WindowOutput(1) )
DrawingMode(#PB_2DDrawing_Transparent)
Debug "------------------- exemple normal -----------------"
x = 10
For i = 0 To 4
x = DrawText(x, 10, mots(i)) ;exemple tout bête
Debug x
Next i
mots(3) = "" ;avec une chaine nulle ca ne fonctionne plus
Debug "------------- exemple avec chaine vide -------------"
x = 10
For i = 0 To 4
x = DrawText(x, 30, mots(i))
Debug x
Next i
Debug "------------- résultat attendu ----------------"
;résultat attendu
x = 10
For i = 0 To 4
DrawText(x, 50, mots(i))
x + TextWidth(mots(i))
Debug x
Next i
mots(3) = "trois " ;rétabli la situation de départ
StopDrawing()
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Effectivement quand l'instruction rencontre une chaine vide, X est égal à zéro ce qui fait que la prochaine instruction de DrawText ne se trouve plus à la suite, mais au début ce qui met une brave pagaille.
Décidemment Pure n'aime pas les cases de tableau vide.
J'ai eu aussi des problèmes d'une autre nature avec ValF...

Publié : jeu. 16/mars/2006 11:47
par Dr. Dri
Toujours d'actualité avec la beta 7
@Good07
En voulant tester mon code avec la beta 7 jme suis appercu qu'il en manquait un bout... c'est corrigé ^^
Dri
Publié : mer. 29/mars/2006 8:19
par Dr. Dri
Idem pour la beta 8...
Dri
Publié : mer. 29/mars/2006 17:43
par Fred
Corrigé.