Basic Univers
Procedure test(index.l)
If EventwParam()= $6E
Texte$ = GetGadgetText(index)
If Texte$<>""
If FindString(Texte$, ",", 1)= 0
SetClipboardText(",")
SendMessage_(GadgetID(index), #wm_paste, 0, 0)
If Len(GetGadgetText(index))= 1
SetGadgetText(index, "")
EndIf
EndIf
EndIf
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 322, 275, #PB_Window_SystemMenu|#PB_Window_ScreenCentered, "StringGadget Flags") And CreateGadgetList(WindowID(0))
StringGadget(0, 8, 5, 306, 20, "", #PB_String_Numeric)
StringGadget(1, 8, 55, 306, 20, "", #PB_String_Numeric)
StringGadget(2, 8, 105, 306, 20, "", #PB_String_ReadOnly )
ButtonGadget(3, 8, 160, 306, 20, "Voir le résultat de l'addition")
TextGadget(4, 8, 35, 306, 20, "+", #PB_Text_Center)
TextGadget(5, 8, 135, 306, 20, " = ", #PB_Text_Center)
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #WM_KEYDOWN
Select GetFocus_()
Case GadgetID(0)
test(0)
Case GadgetID(1)
test(1)
EndSelect
Case #PB_EventGadget
Select EventGadgetID()
Case 3
Texte1$ = GetGadgetText(0)
Texte2$ = GetGadgetText(1)
Texte1$ = ReplaceString(Texte1$, ",", "." , 1 )
Texte2$ = ReplaceString(Texte2$, ",", "." , 1 )
number1.f = ValF(Texte1$)
number2.f = ValF(Texte2$)
total$ = StrF(number1 + number2)
SetGadgetText(2, total$)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf