Page 1 sur 1

Macro ?

Publié : dim. 24/févr./2008 21:28
par Neosis
Bonjour tous le monde :D
Voila maintenant 4 mois que j'apprends le langage de Purebasic, j'ai beaucoup appris mais néanmoins j'ai quelques difficulté à comprendre certaine choses :?

J'aimerai comprendre ce qu'est une "Macro" , quel son ces avantages et inconvénients ? :roll:

Publié : dim. 24/févr./2008 22:00
par Anonyme
Macro plus()
+
EndMacro

Macro Moins()
-
EndMacro

Debug 1 plus() 3
Debug 1 Moins() 3
Bonjour & bienvenu(e)
voici un exemple simple d'une macro , y a des situation plus complexe que cela , mais si tu débutes , on va pas te bourré le mou.
Je t'invite aussi à lire la doc fournie, elle traite les macros.

@+

Publié : dim. 24/févr./2008 22:07
par Neosis
J'ai lu la doc de purebasic mais je n'est pas vraiment saisie les macro :?
C'est pour ça que je demande :)

Publié : dim. 24/févr./2008 22:20
par Anonyme
En gros , la macro n'est pas compilé , mais elle est rajouté à ton code au moment du parsing ( tu m'suis ? )

C'est a dire , si tu écrit cela :

Code : Tout sélectionner

Macro plus()
+
EndMacro

Macro Moins()
-
EndMacro

Debug 1 plus() 3
Debug 1 Moins() 3
la macro n'existe plus au moment de l'execution , elle est remplaçer par la macro appelé , d'ou le fait que l'on ne peut pas avoir de retour comme une procédure.

la macro simplifie la vie du programmeur au niveau de la syntaxe , par exemple :

Code : Tout sélectionner

Macro R(Val)
random(Val)
endmacro

debug R(6500)
R() est remplaçer par Random()...

Publié : dim. 24/févr./2008 22:31
par comtois
le compilateur remplace ta macro par le code qu'elle contient.

Contrairement à une procédure, le code est dupliqué à chaque fois que tu appelles la macro.

L'avantage ? écrire un truc plus élégamment, te simplifier la vie.

exemples de macros , si tu veux programmer en français

http://www.purebasic.fr/french/viewtopic.php?t=4421
autre exemple
http://www.purebasic.fr/french/viewtopic.php?t=6592

Publié : dim. 24/févr./2008 22:41
par Ar-S
encore un p'tit du genre :

Code : Tout sélectionner

Macro mr(S,T)
  MessageRequester(S,T)
EndMacro

mr("coucou","Comment ça va")

Publié : dim. 24/févr./2008 22:50
par Neosis
C'est bon je viens de comprendre... "maintenant que j'ai compris je me dit que c'était tout bête :? "
Merci de vos réponses rapide et encore merci d'avoir éclairé ma lanterne !

Publié : lun. 25/févr./2008 10:23
par nico
On peut aussi utiliser les macros pour se faire une collection de procédure, comme ça elle ne sont chargées que si on les appelle.