@Micoute
On peut désormais rajouter ou enlever des unités dans TC_Text sans devoir modifier quoique ce soit d'autre.
Essaie d'enlever les milliards d'années pour tester.
Code : Tout sélectionner
;**************************************************************************************************************************************************************************************************************************************
#TC_Spin = 16
#TC_String = 48
SetGadgetFont(#PB_Default, FontID(LoadFont(#PB_Any, "Arial", 16) ) )
Define.I X0 = 16, Y0 = 40, Xc = 128, Yc = 32, Y = Y0
Global TC_Text.S = "Milliard(s) d'annees;2;31557600000000000;Million(s) d'annees;2;31557600000000;Millenaire(s);2;31557600000;Annee(s);2;31557600;Mois;3;2629800;Semaine(s);3;604800;Jour(s);4;86400;Heure(s);5;3600;Minute(s);7;60;Seconde(s);9;1"
Global TC_UnitQty = ((CountString(TC_Text, ";") + 1) / 3)
Global TC_Window = OpenWindow(#PB_Any, 100, 100, 800, 2 * Y0 + Yc * TC_UnitQty, "TC", #PB_Window_SystemMenu)
Global Dim TC_Gadget(63)
For I = 0 To (TC_UnitQty - 1)
X = X0: TC_Gadget(I) = TextGadget(#PB_Any, X, Y, Xc, 30, StringField(TC_Text, I * 3 + 1, ";"), #PB_Text_Center)
X + (Xc * 1): TC_Gadget(I + #TC_Spin) = SpinGadget(#PB_Any, X, Y, Xc * 2, 30, 0, Pow(10, Val(StringField(TC_Text, I * 3 + 2, ";") ) ) - 1, #PB_Spin_Numeric)
X + (Xc * 2): TC_Gadget(I + 32) = TextGadget(#PB_Any, X, Y, Xc, 30, StringField(TC_Text, I * 3 + 1, ";"), #PB_Text_Center)
X + (Xc * 1): TC_Gadget(I + #TC_String) = StringGadget(#PB_Any, X, Y, Xc * 2, 30, "")
Y + Yc
Next
Procedure TC_Update()
For I = 0 To (TC_UnitQty - 1)
ParSec.D + ((GetGadgetState(TC_Gadget(I + #TC_Spin) ) * Val(StringField(TC_Text, I * 3 + 3, ";") ) ) )
Next
For I = 0 To (TC_UnitQty - 1)
SetGadgetText(TC_Gadget(I + #TC_String), StrD((ParSec) / Val(StringField(TC_Text, I * 3 + 3, ";") ) ) )
Next
EndProcedure
BindEvent(#PB_Event_Gadget, @TC_Update(), TC_Window, #PB_All, #PB_All)
Repeat: Until WaitWindowEvent() = #PB_Event_CloseWindow
Zorro a écrit :"optimiser" n'est pas toujours révélateur du quotient intellectuel
Ça m'a fatigué. Désolé !