Salut.
Regarde les modifs et essaie de comprendre.
Le mieux est de mettre EnableExplicit en début de code pour s'éviter bien des problèmes.
Code : Tout sélectionner
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
EnableExplicit ;<--- A METTRE
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Text_1
#Text_2
#Text_3
#Text_4
#String_1
#String_2
#String_3
#Button_0
EndEnumeration
Global t.i = 10, EventID.i, i.i, j.i
Dim longueur$(t) : Dim largeur$(t) : Dim hauteur$(t)
If OpenWindow(#Window_0, 216, 0, 371, 195, "Test1", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
TextGadget(#Text_1, 100, 10, 110, 20, "TEST1", #PB_Text_Center)
TextGadget(#Text_2, 10, 50, 70, 20, "Longueur")
TextGadget(#Text_3, 10, 80, 70, 20, "Largeur")
TextGadget(#Text_4, 10, 110, 70, 20, "Hauteur")
StringGadget(#String_1, 100, 50, 90, 20, "")
StringGadget(#String_2, 100, 80, 90, 20, "")
StringGadget(#String_3, 100, 110, 90, 20, "")
ButtonGadget(#Button_0, 120, 150, 50, 20, "Garder")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
;CloseWindow(#Window_0) <------ A VIRER
Gosub recuperer : Gosub montrer
EndSelect
EndIf
Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
End
recuperer:
j=1
For i=1 To 20 ; <-- pour que ça fonctionne faut au moin atteindre 6 pour la valeur de #String_3
Select i
Case #String_1 :longueur$(j)=GetGadgetText(i) ; <--#String_1 = 4
Case #String_2 :largeur$(j)=GetGadgetText(i) ; <-- #String_2 = 5
Case #String_3 :hauteur$(j)=GetGadgetText(i) ; <-- #String_3 = 6
EndSelect
Next i
Return
montrer:
Debug "Longueur: "+longueur$(j)
Debug "Largeur: "+largeur$(j)
Debug "Hauteur: "+hauteur$(j)
Return
Comme déjà dit les procédures c'est tellement plus moderne et pour ce que cela coûte.
Code : Tout sélectionner
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
EnableExplicit ;<--- A METTRE
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Text_1
#Text_2
#Text_3
#Text_4
#String_1
#String_2
#String_3
#Button_0
EndEnumeration
Global t.i = 10, EventID.i, i.i, j.i
Declare recuperer()
Declare montrer()
Global Dim longueur$(t)
Global Dim largeur$(t)
Global Dim hauteur$(t)
If OpenWindow(#Window_0, 216, 0, 371, 195, "Test1", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
TextGadget(#Text_1, 100, 10, 110, 20, "TEST1", #PB_Text_Center)
TextGadget(#Text_2, 10, 50, 70, 20, "Longueur")
TextGadget(#Text_3, 10, 80, 70, 20, "Largeur")
TextGadget(#Text_4, 10, 110, 70, 20, "Hauteur")
StringGadget(#String_1, 100, 50, 90, 20, "")
StringGadget(#String_2, 100, 80, 90, 20, "")
StringGadget(#String_3, 100, 110, 90, 20, "")
ButtonGadget(#Button_0, 120, 150, 50, 20, "Garder")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
;CloseWindow(#Window_0) <------ A VIRER
;Gosub recuperer : Gosub montrer
recuperer()
montrer()
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
End
Procedure recuperer()
j=1
For i=1 To 20 ; <-- pour que ça fonctionne faut au moin atteindre 6 pour la valeur de #String_3
Select i
Case #String_1 :longueur$(j)=GetGadgetText(i) ; <--#String_1 = 4
Case #String_2 :largeur$(j)=GetGadgetText(i) ; <-- #String_2 = 5
Case #String_3 :hauteur$(j)=GetGadgetText(i) ; <-- #String_3 = 6
EndSelect
Next i
EndProcedure
Procedure montrer()
Debug "Longueur: "+longueur$(j)
Debug "Largeur: "+largeur$(j)
Debug "Hauteur: "+hauteur$(j)
EndProcedure
Tu aurais aussi pu combiner les 2 procédures en 1 seule
Code : Tout sélectionner
Procedure recuperer()
j=1
For i=1 To 20 ; <-- pour que ça fonctionne faut au moin atteindre 6 pour la valeur de #String_3
Select i
Case #String_1 :longueur$(j)=GetGadgetText(i) ; <--#String_1 = 4
Debug "Longueur: "+longueur$(j)
Case #String_2 :largeur$(j)=GetGadgetText(i) ; <-- #String_2 = 5
Debug "Largeur: "+largeur$(j)
Case #String_3 :hauteur$(j)=GetGadgetText(i) ; <-- #String_3 = 6
Debug "Hauteur: "+hauteur$(j)
EndSelect
Next i
EndProcedure