Page 1 sur 1
ON X GOSUB a,b,c,d,....
Publié : mar. 28/déc./2004 14:58
par Backup
ben oui je trouvais ça pratique les "on x gosub en GFA !!"
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

Publié : sam. 01/janv./2005 18:25
par Dr. Dri
bah euh solution possible...
Code : Tout sélectionner
dim fonctions(3)
fonctions(0) = a()
...
fonctions(3) = d()
...
x = random(3)
callfunctionfast( fonctions(x) )
Dri
Publié : sam. 01/janv./2005 19:39
par Backup
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 ..

Publié : sam. 01/janv./2005 20:08
par Oliv
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
Un peu plus lourd mais marche comme tu veux non ?
Publié : sam. 01/janv./2005 20:28
par Le Soldat Inconnu
oui, une simple condition if ou un select comme Oliv
Publié : sam. 01/janv./2005 21:48
par Dr. Dri
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 ..

Nan nan pas forcément...
Code : Tout sélectionner
procedure test()
debug "dobro"
endprocedure
ptr = @test()
callfunctionfast(ptr)
Dri