toujours dans les programmes éducatifs pour mes petits enfants, je leur ai concocté un logiciel de drag et drop où il suffit de glisser la réponse au bonne endroit, mais j'ai une erreur à la ligne 385 : Le #gadget spécifié n'est pas initialisé.
J'ai beau regarder et déboguer, mais je ne vois pas d'erreur ! S'il vous plait, quelqu'un pourrait-il venir à mon secours pour me sauver de la noyade cybernétique ? Merci.
Code : Tout sélectionner
;Drag & Drop
;Utilisation de BindGadgetEvent() (lier un événement à un gadget)
;Utilisation du Drag & Drop (Glisser-Déposer)
EnableExplicit
;Enumérations
Enumeration Fenetre
#Fenetre_principale
EndEnumeration
Enumeration Gadgets
#Cvs
#Txt_Definitions
#Txt_Enonce
#Str_1
#Str_2
#Str_3
#Str_4
#Str_5
#Str_6
#Str_Cible_1
#Str_Cible_2
#Str_Cible_3
#Str_Cible_4
#Str_Cible_5
#Str_Cible_6
#Str_Source_1
#Str_Source_2
#Str_Source_3
#Str_Source_4
#Str_Source_5
#Str_Source_6
#Btn_Valider
#Btn_Prec
#Btn_Suiv
EndEnumeration
Enumeration Fontes
#Font_Txt_Definitions
#Font_Txt_Enonce
#Font_Str_1
#Font_Str_2
#Font_Str_3
#Font_Str_4
#Font_Str_5
#Font_Str_6
#Font_rep_1
#Font_rep_2
#Font_rep_3
#Font_rep_4
#Font_rep_5
#Font_rep_6
#Font_Source_1
#Font_Source_2
#Font_Source_3
#Font_Source_4
#Font_Source_5
#Font_Source_6
#Font_Btn_Valider
#Font_Btn_Prec
#Font_Btn_Suiv
EndEnumeration
;}
;- déclarations des variables et des tableaux
Global Evenement, EvenementGadget, TypeEvenement, S = 1, cx, cy, gadx, gady, i
Global Dim Question.s(5), Dim Source.s(5)
;Structure
Structure GadgetUtilise
ID.l
x.l
y.l
Largeur.i
Hauteur.i
DeplacementActif.i
Texte.s
EndStructure
Global Dim Cible.GadgetUtilise(5)
Cible(0)\x = 15
Cible(0)\y = 510
Cible(1)\x = 370
Cible(1)\y = 510
Cible(2)\x = 725
Cible(2)\y = 510
Cible(3)\x = 15
Cible(3)\y = 575
Cible(4)\x = 370
Cible(4)\y = 575
Cible(5)\x = 725
Cible(5)\y = 575
For i = 0 To ArraySize(Cible())
Cible(i)\Largeur = 350
Cible(i)\Hauteur = 60
Next i
Restore S1
; Procédures
Procedure Lire_les_donnees()
For i = 0 To 5
Read.s Question(i)
Read.s Source(i)
Cible(i)\Texte = Source(i)
Next
RandomizeArray(Cible(),1,5)
EndProcedure
Procedure Valider()
If GetGadgetText(#Str_Cible_1) = Source(1)
SetGadgetColor(#Str_Cible_1, #PB_Gadget_FrontColor, $007F00)
SetGadgetColor(#Str_Cible_1, #PB_Gadget_BackColor, $00FFFF)
For i = 13 To 18
If GetGadgetText(i) = GetGadgetText(#Str_Cible_1)
HideGadget(i, 1)
EndIf
Next
EndIf
If GetGadgetText(#Str_Cible_2) = Source(2)
SetGadgetColor(#Str_Cible_2, #PB_Gadget_FrontColor, $007F00)
SetGadgetColor(#Str_Cible_2, #PB_Gadget_BackColor, $00FFFF)
For i = 13 To 18
If GetGadgetText(i) = GetGadgetText(#Str_Cible_2)
HideGadget(i, 1)
EndIf
Next
EndIf
If GetGadgetText(#Str_Cible_3) = Source(3)
SetGadgetColor(#Str_Cible_3, #PB_Gadget_FrontColor, $007F00)
SetGadgetColor(#Str_Cible_3, #PB_Gadget_BackColor, $00FFFF)
For i = 13 To 18
If GetGadgetText(i) = GetGadgetText(#Str_Cible_3)
HideGadget(i, 1)
EndIf
Next
EndIf
If GetGadgetText(#Str_Cible_4) = Source(4)
SetGadgetColor(#Str_Cible_4, #PB_Gadget_FrontColor, $007F00)
SetGadgetColor(#str_cible_4, #PB_Gadget_BackColor, $00FFFF)
For i = 13 To 18
If GetGadgetText(i) = GetGadgetText(#Str_Cible_4)
HideGadget(i, 1)
EndIf
Next
EndIf
If GetGadgetText(#Str_Cible_5) = Source(5)
SetGadgetColor(#Str_Cible_5, #PB_Gadget_FrontColor, $007F00)
SetGadgetColor(#str_cible_5, #PB_Gadget_BackColor, $00FFFF)
For i = 13 To 18
If GetGadgetText(i) = GetGadgetText(#Str_Cible_5)
HideGadget(i, 1)
EndIf
Next
EndIf
If GetGadgetText(#Str_Cible_6) = Source(6)
SetGadgetColor(#Str_Cible_6, #PB_Gadget_FrontColor, $007F00)
SetGadgetColor(#str_cible_6, #PB_Gadget_BackColor, $00FFFF)
For i = 13 To 18
If GetGadgetText(i) = GetGadgetText(#Str_Cible_6)
HideGadget(i, 1)
EndIf
Next
EndIf
EndProcedure
Procedure Clic_Btn_Precedant()
S - 1
If S = 4
Restore S5
ElseIf S = 3
Restore S4
ElseIf S = 2
Restore S3
ElseIf S = 1
Restore S2
ElseIf S = 0
Restore S1
Else
S = 5
Restore S6
EndIf
SetGadgetColor(#Str_Cible_1, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_2, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_3, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_4, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_5, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_6, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_1, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_2, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_3, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_4, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_5, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_6, #PB_Gadget_BackColor, $FFFFFF)
Lire_les_donnees()
SetGadgetText(#Str_1, Question(0))
SetGadgetText(#Str_2, Question(1))
SetGadgetText(#Str_3, Question(2))
SetGadgetText(#Str_4, Question(3))
SetGadgetText(#Str_5, Question(4))
SetGadgetText(#Str_6, Question(5))
HideGadget(#Str_Source_1, 0)
HideGadget(#Str_Source_2, 0)
HideGadget(#Str_Source_3, 0)
HideGadget(#Str_Source_4, 0)
HideGadget(#Str_Source_5, 0)
HideGadget(#Str_Source_6, 0)
SetGadgetText(#Str_Source_1, Cible(0)\Texte)
SetGadgetText(#Str_Source_2, Cible(1)\Texte)
SetGadgetText(#Str_Source_3, Cible(2)\Texte)
SetGadgetText(#Str_Source_4, Cible(3)\Texte)
SetGadgetText(#Str_Source_5, Cible(4)\Texte)
SetGadgetText(#Str_Source_6, Cible(5)\Texte)
SetGadgetText(#Str_Cible_1, "")
SetGadgetText(#Str_Cible_2, "")
SetGadgetText(#Str_Cible_3, "")
SetGadgetText(#Str_Cible_4, "")
SetGadgetText(#Str_Cible_5, "")
SetGadgetText(#Str_Cible_6, "")
EndProcedure
Procedure Clic_Btn_Suivant()
S + 1
If S = 1
Restore S2
ElseIf S = 2
Restore S3
ElseIf S = 3
Restore S4
ElseIf S = 4
Restore S5
ElseIf S = 5
Restore S6
Else
S = 0
Restore S1
EndIf
SetGadgetColor(#Str_Cible_1, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_2, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_3, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_4, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_5, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_6, #PB_Gadget_FrontColor, 0)
SetGadgetColor(#Str_Cible_1, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_2, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_3, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_4, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_5, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(#Str_Cible_6, #PB_Gadget_BackColor, $FFFFFF)
Lire_les_donnees()
SetGadgetText(#Str_1, Question(0))
SetGadgetText(#Str_2, Question(1))
SetGadgetText(#Str_3, Question(2))
SetGadgetText(#Str_4, Question(3))
SetGadgetText(#Str_5, Question(4))
SetGadgetText(#Str_6, Question(5))
HideGadget(#Str_Source_1, 0)
HideGadget(#Str_Source_2, 0)
HideGadget(#Str_Source_3, 0)
HideGadget(#Str_Source_4, 0)
HideGadget(#Str_Source_5, 0)
HideGadget(#Str_Source_6, 0)
SetGadgetText(#Str_Source_1, Cible(0)\Texte)
SetGadgetText(#Str_Source_2, Cible(1)\Texte)
SetGadgetText(#Str_Source_3, Cible(2)\Texte)
SetGadgetText(#Str_Source_4, Cible(3)\Texte)
SetGadgetText(#Str_Source_5, Cible(4)\Texte)
SetGadgetText(#Str_Source_6, Cible(5)\Texte)
SetGadgetText(#Str_Cible_1, "")
SetGadgetText(#Str_Cible_2, "")
SetGadgetText(#Str_Cible_3, "")
SetGadgetText(#Str_Cible_4, "")
SetGadgetText(#Str_Cible_5, "")
SetGadgetText(#Str_Cible_6, "")
EndProcedure
Procedure Quitter()
CloseWindow(#Fenetre_principale)
End
EndProcedure
Procedure Ouvrir_Fenetre_principale()
If OpenWindow(#Fenetre_principale, 479, 41, 1090, 705, "Drag & Drop © Micoute - 13/09/2014", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
SetWindowColor(#Fenetre_principale, $007F00) ;CFCF)
BindEvent(#PB_Event_CloseWindow, @Quitter(), #Fenetre_principale)
CanvasGadget(#Cvs, 10, 110, WindowWidth(#Fenetre_principale)-20, WindowHeight(#Fenetre_principale)-170)
TextGadget(#Txt_Definitions, 20, 10, 200, 40, "Définitions")
TextGadget(#Txt_Enonce, 0, 65, 1100, 40, "Place chaque mot en face de sa définition avec la souris et clique sur valider", #PB_Text_Center)
StringGadget(#Str_1, 15, 120, 705, 60, Question(0), #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_2, 15, 185, 705, 60, Question(1), #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_3, 15, 250, 705, 60, Question(2), #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_4, 15, 315, 705, 60, Question(3), #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_5, 15, 380, 705, 60, Question(4), #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_6, 15, 445, 705, 60, Question(5), #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_Cible_1, 725, 120, 350, 60, "", #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_Cible_2, 725, 185, 350, 60, "", #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_Cible_3, 725, 250, 350, 60, "", #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_Cible_4, 725, 315, 350, 60, "", #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_Cible_5, 725, 380, 350, 60, "", #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
StringGadget(#Str_Cible_6, 725, 445, 350, 60, "", #ES_CENTER|#ES_MULTILINE|#WS_BORDER)
Cible(0)\ID = ButtonGadget(#Str_Source_1, Cible(0)\x, Cible(0)\y, Cible(0)\Largeur, Cible(0)\Hauteur, Cible(0)\Texte)
Cible(1)\ID = ButtonGadget(#Str_Source_2, Cible(1)\x, Cible(1)\y, Cible(1)\Largeur, Cible(1)\Hauteur, Cible(1)\Texte)
Cible(2)\ID = ButtonGadget(#Str_Source_3, Cible(2)\x, Cible(2)\y, Cible(2)\Largeur, Cible(2)\Hauteur, Cible(2)\Texte)
Cible(3)\ID = ButtonGadget(#Str_Source_4, Cible(3)\x, Cible(3)\y, Cible(3)\Largeur, Cible(3)\Hauteur, Cible(3)\Texte)
Cible(4)\ID = ButtonGadget(#Str_Source_5, Cible(4)\x, Cible(4)\y, Cible(4)\Largeur, Cible(4)\Hauteur, Cible(4)\Texte)
Cible(5)\ID = ButtonGadget(#Str_Source_6, Cible(5)\x, Cible(5)\y, Cible(5)\Largeur, Cible(5)\Hauteur, Cible(5)\Texte)
ButtonGadget(#Btn_Valider, 455, 650, 170, 40, "Valider")
ButtonGadget(#Btn_Prec, 15, 650, 170, 40, "Précédant")
ButtonGadget(#Btn_Suiv, 910, 650, 170, 40, "Suivant")
BindGadgetEvent(#Btn_Valider,@Valider())
BindGadgetEvent(#Btn_Prec,@Clic_Btn_Precedant())
BindGadgetEvent(#Btn_Suiv,@Clic_Btn_Suivant())
; Couleurs
SetGadgetColor(#Txt_Definitions, #PB_Gadget_BackColor, GetWindowColor(#Fenetre_principale))
SetGadgetColor(#Txt_Enonce, #PB_Gadget_BackColor, GetWindowColor(#Fenetre_principale))
SetGadgetColor(#Txt_Definitions, #PB_Gadget_FrontColor, $007FFF)
SetGadgetColor(#Txt_Enonce, #PB_Gadget_FrontColor, $007FFF)
; Fontes
SetGadgetFont(#Txt_Definitions, LoadFont(#Font_Txt_Definitions, "Arial", 30, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Txt_Enonce, LoadFont(#Font_Txt_Enonce, "Arial", 20, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_1, LoadFont(#Font_Str_1, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_2, LoadFont(#Font_Str_2, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_3, LoadFont(#Font_Str_3, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_4, LoadFont(#Font_Str_4, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_5, LoadFont(#Font_Str_5, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_6, LoadFont(#Font_Str_6, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Cible_1, LoadFont(#Font_rep_1, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Cible_2, LoadFont(#Font_rep_2, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Cible_3, LoadFont(#Font_rep_3, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Cible_4, LoadFont(#Font_rep_4, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Cible_5, LoadFont(#Font_rep_5, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Cible_6, LoadFont(#Font_rep_6, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Source_1, LoadFont(#Font_Source_1, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Source_2, LoadFont(#Font_Source_2, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Source_3, LoadFont(#Font_Source_3, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Source_4, LoadFont(#Font_Source_4, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Source_5, LoadFont(#Font_Source_5, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Str_Source_6, LoadFont(#Font_Source_6, "Arial", 16, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Btn_Valider, LoadFont(#Font_Btn_Valider, "Arial", 12, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Btn_Prec, LoadFont(#Font_Btn_Prec, "Arial", 12, #PB_Font_Bold|#PB_Font_HighQuality))
SetGadgetFont(#Btn_Suiv, LoadFont(#Font_Btn_Suiv, "Arial", 12, #PB_Font_Bold|#PB_Font_HighQuality))
EndIf
EndProcedure
Lire_les_donnees()
Ouvrir_Fenetre_principale()
Macro Verifier_Si_Sur_Gadget(ID, x, y)
(((Not x < Cible(id)\x) & (Not y < Cible(id)\y)) & (Not x >= (Cible(id)\x + Cible(id)\Largeur)) & (Not y >= (Cible(id)\y + Cible(id)\Hauteur)))
EndMacro
Procedure.i Test_d_atteinte(ID, x, y)
If Verifier_Si_Sur_Gadget(ID, x, y)
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
Procedure DeplacerGadget(ID, x, y)
Cible(id)\x = GadgetX(Cible(id)\ID)
Cible(id)\y = GadgetY(Cible(id)\ID)
ResizeGadget(Cible(id)\ID, x, y, #PB_Ignore, #PB_Ignore)
EndProcedure
;- Boucle principale
Repeat
Evenement = WaitWindowEvent()
Select Evenement
Case #PB_Event_Gadget
EvenementGadget = EventGadget()
Select EvenementGadget
Case #Cvs
TypeEvenement = EventType()
Select TypeEvenement
Case #PB_EventType_LeftButtonDown
;Obtenir les coordonnées actuelles de la souris
cx = WindowMouseX(#Fenetre_principale)
cy = WindowMouseY(#Fenetre_principale)
If Test_d_atteinte(0, cx, cy)
gadx = cx - Cible(0)\x
gady = cy - Cible(0)\y
Cible(0)\DeplacementActif = #True
ElseIf Test_d_atteinte(1, cx, cy)
gadx = cx - Cible(1)\x
gady = cy - Cible(1)\y
Cible(1)\DeplacementActif = #True
ElseIf Test_d_atteinte(2, cx, cy)
gadx = cx - Cible(2)\x
gady = cy - Cible(2)\y
Cible(2)\DeplacementActif = #True
ElseIf Test_d_atteinte(3, cx, cy)
gadx = cx - Cible(3)\x
gady = cy - Cible(3)\y
Cible(3)\DeplacementActif = #True
ElseIf Test_d_atteinte(4, cx, cy)
gadx = cx - Cible(4)\x
gady = cy - Cible(4)\y
Cible(4)\DeplacementActif = #True
ElseIf Test_d_atteinte(5, cx, cy)
gadx = cx - Cible(5)\x
gady = cy - Cible(5)\y
Cible(5)\DeplacementActif = #True
EndIf
Case #PB_EventType_LeftButtonUp
Cible(0)\DeplacementActif = #False
Cible(0)\x = GadgetX(Cible(0)\ID)
Cible(0)\y = GadgetY(Cible(0)\ID)
Cible(1)\DeplacementActif = #False
Cible(1)\x = GadgetX(Cible(1)\ID)
Cible(1)\y = GadgetY(Cible(1)\ID)
Cible(2)\DeplacementActif = #False
Cible(2)\x = GadgetX(Cible(2)\ID)
Cible(2)\y = GadgetY(Cible(2)\ID)
Cible(3)\DeplacementActif = #False
Cible(3)\x = GadgetX(Cible(3)\ID)
Cible(3)\y = GadgetY(Cible(3)\ID)
Cible(4)\DeplacementActif = #False
Cible(4)\x = GadgetX(Cible(4)\ID)
Cible(4)\y = GadgetY(Cible(4)\ID)
Cible(5)\DeplacementActif = #False
Cible(5)\x = GadgetX(Cible(5)\ID)
Cible(5)\y = GadgetY(Cible(5)\ID)
Case #PB_EventType_MouseMove
If Cible(0)\DeplacementActif
;Obtenir les coordonnées actuelles de la souris
cx = WindowMouseX(#Fenetre_principale)
cy = WindowMouseY(#Fenetre_principale)
If cx > -1 And cy > -1
DeplacerGadget(0, cx - gadx,cy - gady)
EndIf
EndIf
If Cible(1)\DeplacementActif
;Obtenir les coordonnées actuelles de la souris
cx = WindowMouseX(#Fenetre_principale)
cy = WindowMouseY(#Fenetre_principale)
If cx > -1 And cy > -1
DeplacerGadget(1, cx - gadx,cy - gady)
EndIf
EndIf
If Cible(2)\DeplacementActif
;Obtenir les coordonnées actuelles de la souris
cx = WindowMouseX(#Fenetre_principale)
cy = WindowMouseY(#Fenetre_principale)
If cx > -1 And cy > -1
DeplacerGadget(2, cx - gadx,cy - gady)
EndIf
EndIf
If Cible(3)\DeplacementActif
;Obtenir les coordonnées actuelles de la souris
cx = WindowMouseX(#Fenetre_principale)
cy = WindowMouseY(#Fenetre_principale)
If cx > -1 And cy > -1
DeplacerGadget(3, cx - gadx,cy - gady)
EndIf
EndIf
If Cible(4)\DeplacementActif
;Obtenir les coordonnées actuelles de la souris
cx = WindowMouseX(#Fenetre_principale)
cy = WindowMouseY(#Fenetre_principale)
If cx > -1 And cy > -1
DeplacerGadget(4, cx - gadx,cy - gady)
EndIf
EndIf
If Cible(5)\DeplacementActif
;Obtenir les coordonnées actuelles de la souris
cx = WindowMouseX(#Fenetre_principale)
cy = WindowMouseY(#Fenetre_principale)
If cx > -1 And cy > -1
DeplacerGadget(5, cx - gadx,cy - gady)
EndIf
EndIf
EndSelect ;TypeEvenement
EndSelect ;EvenementGadget
EndSelect ;Evenement
Until Evenement = #PB_Event_CloseWindow
; Données
DataSection
S1: :Data.s "Habitude, manière de faire qui se transmet depuis très longtemps.","une tradition",
"Herbe courte et fine.","un gazon",
"Long vêtement sans manche que l'on porte sur les épaules.","une cape",
"Outil à manche en bois et à tête d'acier qui sert à frapper.","un marteau",
"Repos que l'on prend après le repas de midi.","une sieste",
"Avantage remporté sur les ennemis dans une guerre.","une victoire"
S2: :Data.s "Plante potagère dont la racine est comestible.", "une carotte",
"Bande de cuir, d'étoffe, etc..., dont on s'entoure la taille.", "une ceinture",
"Passage étroit et long dans une maison.", "un couloir",
"Art de combiner les sons.", "la musique",
"Jour de la semaine.", "un dimanche",
"Nourriture que l'on prend à certaines heures réglèes de la journée.", "un repas"
S3: :Data.s "Qui est proche, qui demeure près de ...", "un voisin",
"Ustensile de table pour porter à la bouche les aliments liquides.", "une cuillère",
"Appareil de prise de vue utilisé pour le cinéma et la télévision.", "une caméra",
"Coffre de bois pour le transport et la conservation de marchandises.", "une caisse",
"Vêtement féminin plus ou moins long et d'un seul tenant.", "une robe",
"Potage épais.", "une soupe"
S4: :Data.s "Ensemble de page reliées entre elles.", "un livre",
"Instrument qui permet d'ouvrir et de fermer une porte.", "une clé",
"Pendule qui sonne à une heure déterminée à l'avance.", "un réveil",
"Appareil utilisé par 2 personnes, pour mener une conversation à distance.", "un téléphone",
"Appareil de cuisine équipé d'un four.", "une cuisinière",
"Espace qui sépare un lieu d'un autre.", "une distance"
S5: :Data.s "Culotte qui couvre entièrement les jambes.", "un pantalon",
"Personne élue pour diriger les affaires de la commune.", "un maire",
"Tour la plus haute et la plus importante d'un château fort.", "un donjon",
"Les irrégularités de la surface terrestre.", "le relief",
"Petit couteau de poche dont la lame se replie.", "un canif","Solide à angles droits et à six faces.", "un cube"
S6: :Data.s "Ustensile servant à égoutter.","une passoire",
"Grande cuillère munie q'un lonf manche pour servir le potage.","une louche",
"Verre à anse pour boire la bière.","une chope",
"Plat creux pour servir la salade.","un saladier",
"Récipient avec une bec verseur et anse pour servir les liquides.","une cruche",
"Récipient avec lequel on sert le sel.","une salière"
EndDataSection