pour memo
x=1 ; va envoyer vers a
x=2 ; va envoyer vers b
x=3 ; va envoyer vers c
x=4 ; va envoyer vers d
Code : Tout sélectionner
; dans cet exemple une procedure au hasar va etre choisie !
x=rnd(3)+1
on x gosub a,b,c,d

Code : Tout sélectionner
; dans cet exemple une procedure au hasar va etre choisie !
x=rnd(3)+1
on x gosub a,b,c,d
Code : Tout sélectionner
dim fonctions(3)
fonctions(0) = a()
...
fonctions(3) = d()
...
x = random(3)
callfunctionfast( fonctions(x) )
Resultat = CallFunctionFast(*PointeurFonction [,Parametre1 [, Parametre2...]])
Description
Appelle une fonction en librairie en utilisant son pointeur obtenu par IsFunction() ou par LibraryFunctionAddress().
Code : Tout sélectionner
Select Random(3) + 1
Case 1
fonction 1()
Case 2
fonction 2()
Case 3
fonction 3()
Case 4
fonction 4()
endselect
Nan nan pas forcément...Dobro a écrit :heu en pure basic !!
Resultat = CallFunctionFast(*PointeurFonction [,Parametre1 [, Parametre2...]])
Description
Appelle une fonction en librairie en utilisant son pointeur obtenu par IsFunction() ou par LibraryFunctionAddress().
oblige a l'enploi de IsFunction() et des pointeurs !
je crois que le X Gosub reste plus simple et plus clair ..
Code : Tout sélectionner
procedure test()
debug "dobro"
endprocedure
ptr = @test()
callfunctionfast(ptr)