Page 1 sur 1

Mini pendule numérique en 30 lignes

Publié : mar. 01/avr./2025 12:21
par Marc56
Exemple de mini pendule numérique.
  • Bouton gauche pour déplacer
  • Clic droit pour fermer
Facile à modifier.

Code : Tout sélectionner

EnableExplicit

Enumeration 
    #Win
    #Timer
    #Txt_Timer
EndEnumeration

OpenWindow(#Win, 0, 0, 120, 28, "", #PB_Window_BorderLess | #PB_Window_ScreenCentered)
AddWindowTimer(#Win, #Timer, 1000)
TextGadget    (#Txt_Timer, 0, 0, WindowWidth(#Win), WindowHeight(#Win), "", #PB_Text_Center)
SetGadgetColor(#Txt_Timer, #PB_Gadget_BackColor, RGB(173, 255, 47))
SetGadgetFont (#Txt_Timer, FontID(LoadFont(#PB_Any, "Verdana", 16, #PB_Font_Bold)))

Repeat
    Select WaitWindowEvent()
        Case #PB_Event_Timer
            If EventTimer() = #Timer
                SetGadgetText(#Txt_Timer, FormatDate("%hh:%ii:%ss", Date()))
            EndIf
            
        Case #WM_LBUTTONDOWN
            SendMessage_(WindowID(#Win), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
            
        Case #PB_Event_RightClick
            End
    EndSelect
ForEver

End
Oui, SPH ce sera intégré à la prochaine version. :wink:

Re: Mini pendule numérique en 30 lignes

Publié : mar. 01/avr./2025 15:17
par falsam
SPH va être content 😉

Re: Mini pendule numérique en 30 lignes

Publié : mar. 01/avr./2025 15:37
par Ar-S
La même en non blocante si on bouge la fenêtre et en affichage dès qu'elle s'ouvre (pas au bout de la 1ère seconde)

Code : Tout sélectionner

Enumeration 
    #Win
    #Timer
    #Txt_Timer
EndEnumeration


Procedure ShowTime()
  SetGadgetText(#Txt_Timer, FormatDate("%hh:%ii:%ss", Date()))
EndProcedure

Procedure MoveWin()
    SendMessage_(WindowID(#Win), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
EndProcedure
          
OpenWindow(#Win, 0, 0, 120, 28, "", #PB_Window_BorderLess | #PB_Window_ScreenCentered)
StickyWindow(#win,1)
TextGadget    (#Txt_Timer, 0, 0, WindowWidth(#Win), WindowHeight(#Win), "", #PB_Text_Center)
SetGadgetColor(#Txt_Timer, #PB_Gadget_BackColor, RGB(173, 255, 47))
SetGadgetFont (#Txt_Timer, FontID(LoadFont(#PB_Any, "Verdana", 16, #PB_Font_Bold)))
SetGadgetText(#Txt_Timer, FormatDate("%hh:%ii:%ss", Date()))
AddWindowTimer(#Win, #Timer, 1000)
BindEvent(#PB_Event_Timer,@showTime())

Repeat
  ev = WaitWindowEvent()
  
  If ev = #WM_LBUTTONDOWN
    MoveWin()
  EndIf
  
Until ev = #PB_Event_RightClick

End

Re: Mini pendule numérique en 30 lignes

Publié : mar. 01/avr./2025 23:36
par SPH
Hi !

Ouai, je suis content. Je pourrais presque n'utiliser que ce code; cela me conviendrait. :P

Je patienterais quand meme jusqu'a l'ajout dans ACME. Pis ya le calendrier qui m'interesse...

THX :idea: :arrow: :mrgreen: