appel de Procedure de façon indexé

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
pasbel
Messages : 40
Inscription : mer. 10/avr./2019 17:36

appel de Procedure de façon indexé

Message par pasbel »

Bonjour à tous

Ça va être compliqué à expliquer...
Je voudrais savoir s'il y aurait moyen d'appeler des Procedures par des appels indexés, par exemple j'ai une boucle for/next de 0 à 10, et je voudrais qu'à chaque incrémentation, une Procedure différente soit appelée, en utilisant l'index de la boucle, plutôt que d'utiliser ensuite des If/Endif ou Select ou autres pour tester ça ?
Pour l'exemple (qui ne marcherait pas) :
For a = 0 to 10
maProcedure-***-()
Next

a = 0 > maProcedure0()
a = 1 > maProcedure1()
...
a = 10 > maProcedure10()

Sinon, je passerai par une autre méthode plus longue ;-)
Avatar de l’utilisateur
Mindphazer
Messages : 760
Inscription : mer. 24/août/2005 10:42

Re: appel de Procedure de façon indexé

Message par Mindphazer »

Je ne sais pas si ça répond exactement à la problématique, mais tu peux stocker les adresses de tes procédures dans un tableau, puis utiliser CallFunctionFast()
un truc comme ça :

Code : Tout sélectionner

Procedure MaProcedure0()
  Debug "Procedure 0"
EndProcedure

Procedure MaProcedure1()
  Debug "Procedure 1"
EndProcedure

Procedure MaProcedure2()
  Debug "Procedure 2"
EndProcedure

; Tableau d'adresses de procédures
Global Dim ProcTable.i(2)

ProcTable(0) = @MaProcedure0()
ProcTable(1) = @MaProcedure1()
ProcTable(2) = @MaProcedure2()

For a = 0 To 2
  CallFunctionFast(ProcTable(a))
Next
Bureau : Win11 64bits
Maison : Macbook Pro M4 16" SSD 512 Go / Ram 24 Go - iPad Air 128 Go (pour madame) - iPhone 17 Pro Max 256 Go
pasbel
Messages : 40
Inscription : mer. 10/avr./2019 17:36

Re: appel de Procedure de façon indexé

Message par pasbel »

Je me posais la question après avoir fait le post, si cette méthode marcherait, ou avec une list.

Merci beaucoup à toi, je teste ça en rentrant.

Bon AM
Répondre