Bha voilà, j'en avais besoin donc j'ai créer ça, c'est très simple mais rudement efficace !
Code : Tout sélectionner
Procedure.l IsNumerique(Chaine$)
If Chaine$ = "" Or Chaine$ = "."
ProcedureReturn #False
EndIf
For Caractere = 0 To 255
Select Caractere
Case 0 To 45, 47, 58 To 255
If FindString(Chaine$, Chr(Caractere), 1)
ProcedureReturn #False
EndIf
EndSelect
Next
If CountString(Chaine$, ".") > 1
ProcedureReturn #False
EndIf
ProcedureReturn #True
EndProcedure
If OpenWindow(0, 0, 0, 322, 205, "Entrez un nombre", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(1, 8, 35, 306, 20, "")
Repeat
Evenement = WaitWindowEvent(1)
EventType = EventType()
If EventType = #PB_EventType_Change
Chaine$ = GetGadgetText(1)
If Not IsNumerique(Chaine$)
If SauvegardeChaine$ > ""
SetGadgetText(1, SauvegardeChaine$)
keybd_event_(#VK_END,0,0,0)
keybd_event_(#VK_END,0,2,0)
Else
SetGadgetText(1, "")
EndIf
Else
SauvegardeChaine$ = Chaine$
EndIf
EndIf
Until Evenement = #PB_Event_CloseWindow
EndIf