L'exemple de microdevweb fonctionne car il utilise la bonne syntaxe.
Ton exemple initial ne fonctionnait pas, car tu as tenté de passer une
valeur de date au lieu du
format d’affichages comme paramètre du dategadget
Resultat = DateGadget(#Gadget, X, Y, Largeur, Hauteur [,
Masque$ [, Date [, Options]]])
DateGadget reçevait donc "
26/06/2018" au lieu de "
%dd/%mm/%yy" qu'il ne peut donc interpréter, alors il met la date du jour et se fixe.
En mettant SetGadgetState(#Client_DateN,Date()), tu as donc "corrigé" le format et le gadget fonctionne.
Ton wMask$ est inutile si tu veux afficher la date du jour.
Code : Tout sélectionner
Enumeration
#WinTable
#client_txtDateN
#client_DateN
EndEnumeration
ExitTable=0
wMask$=FormatDate("%dd/%mm/%yyyy", Date())
OpenWindow(#Wintable,100,100,500,500, "Test date", #PB_Window_SystemMenu| #PB_Window_ScreenCentered)
TextGadget(#Client_TxtDateN,50,30, 120, 20, "Date de naissance:" )
DateGadget(#Client_DateN,180,30, 100, 20) ; --> ,wmask$ ne pouvait fonctionner car faux
Repeat
EventId=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
ExitTable=1
EndIf
Until ExitTable=1
CloseWindow(#Wintable)
End
Si tu veux isoler un masque, tu peux aussi faire ça.
Ne pas mettre FormatDate() car ça va donner une valeur texte et non pas un masque
Code : Tout sélectionner
Enumeration
#WinTable
#client_txtDateN
#client_DateN
EndEnumeration
ExitTable=0
;wMask$=FormatDate("%dd/%mm/%yyyy", Date())
wMask$="%dd/%mm/%yyyy"
OpenWindow(#Wintable,100,100,500,500, "Test date", #PB_Window_SystemMenu| #PB_Window_ScreenCentered)
TextGadget(#Client_TxtDateN,50,30, 120, 20, "Date de naissance:" )
DateGadget(#Client_DateN,180,30, 100, 20,wmask$)
Repeat
EventId=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
ExitTable=1
EndIf
Until ExitTable=1
CloseWindow(#Wintable)
End
On fait souvent des erreurs avec les dates. Même après 10 ans de PB je continue, avant de poster à repasser par F1 chaque fois que je pense avoir découvert un bug, et je perds à chaque fois