Page 1 sur 1
Case 1
Publié : mar. 12/déc./2023 19:42
par SPH
Salut,
je serais tenté de charger en code un Case. Y a t'il des instructions ou une longueur max a mettre dans un Case ?
La notice laisse paraitre des exemples de case non chargé de beaucoup de code...
Re: Case 1
Publié : mar. 12/déc./2023 23:48
par case
je serais tenté de charger en code un Case. Y a t'il des instructions ou une longueur max a mettre dans un Case ?
La notice laisse paraitre des exemples de case non chargé de beaucoup de code...
j'ai rien compris a ta demande,
qu'apelle tu un case ?
est-ce un
qu'entend tu par charger en code un case ?
j'ai vraiment rien compris a ta demande

Re: Case 1
Publié : mer. 13/déc./2023 7:08
par SPH
Code : Tout sélectionner
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Case 1
If poly_x2(0)>0
For sph_ii=0 To 32
For u=-sph_ii To sph_ii
For i=-sph_ii To sph_ii
For sph_uu=1 To pointx(0)
If pointx(sph_uu)=Resx+i And pointy(sph_uu)=Resy+u
Beep_(1000,100)
If move=0
move=1
move_x=Resx+i
move_y=Resy+u
Goto fin2
EndIf
If move=1
move_x2=Resx+i
move_y2=Resy+u
Goto fin46
EndIf
EndIf
Next
Next
Next
Next
Else
move=0
EndIf
;;;;
fin46:
nb2=0
ii=0
While poly_y2(nb2)>0
ii=poly_y2(nb2)
For i=1 To poly_y2(nb2)-3 ;CORRIGE ;-ERROR?
If poly_x2(nb2+2+i)=move_x And poly_y2(nb2+2+i)=move_y
poly_x2(nb2+2+i)=move_x2
poly_y2(nb2+2+i)=move_y2
changement=1
Beep_(1000,100)
EndIf
Next
nb2+ii
Wend
move=0
fin2:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Case 2
save=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Case 3
polygon_on+1
If polygon_on>=poly_x2(0)
polygon_on=0
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EndSelect
Regarde comme je charge le Case 1 ! (par rapport au case 2 et 3)
Je me demandais si il y avait une limite de taille à ne pas dépasser et s'il y avait des instructions à ne pas utiliser !?
Danke

Re: Case 1
Publié : mer. 13/déc./2023 9:50
par Marc56
Déjà Goto ça devrait plus exister
Ensuite, une procédure c'est mieux
Non
Oui
Après pour sortir de la procédure avant la fin: ProcedureReturn suivi éventuellement d'un numéro qu'on réutilise pour la suite.
Pas de soucis pour mettre autant de lignes que tu veux, mais aux temps anciens (80') on disait que si un bloc de code dépassait une page écran (80x25 à l'époque) alors faites-en une procédure/fonction.

Re: Case 1
Publié : mer. 13/déc./2023 10:40
par SPH
Marc56 a écrit : mer. 13/déc./2023 9:50
Pas de soucis pour mettre autant de lignes que tu veux
tant qu'on est dans le Case, on ne traite pas les évènements. Je pense donc qu'il y a un "risque" de s'éterniser dans un Case...
Mes peurs sont fondées ?
Re: Case 1
Publié : mer. 13/déc./2023 11:03
par Marc56
Oui.
D'où l'intérêt de faire des procédures pour pouvoir les envoyer en threads.
Re: Case 1
Publié : mer. 13/déc./2023 11:30
par SPH
Marc56 a écrit : mer. 13/déc./2023 11:03
Oui.
D'où l'intérêt de faire des procédures pour pouvoir les envoyer en threads.
Ou bien de faire des procédures qui appellent régulièrement la procédure de gestion des évènements.
Je n'ai codé dans ma vie qu'un seul thread. C'est pas que je ne suis pas fan, c'est que j'en ai très peu l'occasion...

Re: Case 1
Publié : mer. 13/déc./2023 20:58
par case
sinon ajouter un waitwindowevent(0) de temps en temps empechera ton prog de 'ne plus repondre'
tout depend de ce que tu appelle s'eterniser aussi ^^