100% MACRO
Publié : lun. 06/févr./2006 22:24
Je viens de me faire un petit délire avec les macros, voici un code pour ceux qui aiment programmer en français

Code : Tout sélectionner
;{/ pliez-moi
Structure LG
NombreDeClics.l
EndStructure
Global NewList LGadget.LG()
Macro Si
If
EndMacro
Macro Donc
:
EndMacro
Macro Sinon
Else:
EndMacro
Macro FinSi
EndIf
EndMacro
Macro Fonction
Procedure
EndMacro
Macro FinFonction
EndProcedure
EndMacro
Macro Window(longueur,Hauteur,Titre)
OpenWindow(0,0,0,longueur,Hauteur,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,Titre)
CreateGadgetList(WindowID(0))
EndMacro
Macro TraitementDesEvenements
Repeat
EventID=WaitWindowEvent()
Select EventID
EndMacro
Macro EvenementsGadget
Case #PB_Event_Gadget
Select EventGadget()
EndMacro
Macro FinDuTraitement
Case #PB_Event_CloseWindow
Quit=1
EndSelect
Until Quit=1
End
EndMacro
Macro ClicSurGadget
Case
EndMacro
Macro FinEvenements
EndSelect
EndMacro
Macro Bouton
ButtonGadget
EndMacro
Macro EcrireNombre
Str
EndMacro
Macro Texte
TextGadget
EndMacro
Macro Gadget
LGadget()
EndMacro
Macro ModifieTexteGadget
SetGadgetText
EndMacro
Macro SelectionneGadget(NumeroDuGadget)
SelectElement(LGadget(),NumeroDuGadget)
EndMacro
Macro UnNouveauGadget
AddElement(LGadget.LG())
EndMacro
;}/ Debut du Programme
Enumeration
#Bouton1
#Bouton2
#Bouton3
#Texte1
EndEnumeration
Fonction Action(NumeroDuGadget)
SelectionneGadget(NumeroDuGadget)
Gadget\NombreDeClics + 1
Si Gadget\NombreDeClics=1 Donc ModifieTexteGadget(#Texte1,"C'est la première fois")
Sinon ModifieTexteGadget(#Texte1,"Déjà "+EcrireNombre(Gadget\NombreDeClics)+" fois")
FinSi
FinFonction
Window(400,100,"Test")
UnNouveauGadget : Bouton(#Bouton1,10,10,100,20,"Bouton1")
UnNouveauGadget : Bouton(#Bouton2,120,10,100,20,"Bouton2")
UnNouveauGadget : Bouton(#Bouton3,230,10,100,20,"Bouton3")
UnNouveauGadget : Texte(#Texte1,100,40,200,20,"Cliquez sur les boutons")
TraitementDesEvenements
EvenementsGadget
ClicSurGadget #Bouton1
Action(#Bouton1)
ClicSurGadget #Bouton2
Action(#Bouton2)
ClicSurGadget #Bouton3
Action(#Bouton3)
FinEvenements
FinDuTraitement