Jours /Date/heure

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Jours /Date/heure

Message par MLD »

Un petit code pour les débutants ou autres.
Fait aujourd'hui pour une appli perso :D

Code : Tout sélectionner

**** MLD le 22/3/2011 *****
Enumeration
#Fenpr
EndEnumeration

Procedure TimerProc2(hwnd.l, uMsg.l, idEvent.l, dwTime.l) ;timer pour faire date + pendule dans la barre de titre
     Select uMsg 
         Case #WM_TIMER 
             Select idEvent 
              Case 2
               Select DayOfWeek( Date())
                Case 0
                Jour$ = "Dimanche"
                Case 1
                Jour$ = "Lundi"
                Case 2
                Jour$ = "Mardi"
                Case 3
                Jour$ = "Mercredi"
                Case 4
                Jour$ = "Jeudi"
                Case 5
                Jour$ = "Vendredi"
                Case 6
                Jour$ = "Samedi"
               EndSelect
               Date$ = Jour$ +":" + FormatDate(" %dd : %mm : %yyyy | %hh : %ii : %ss", Date())                      
               SetWindowTitle(#Fenpr,"Ce jour  " + Date$) ;Affichage dans le titre, mais vous pouvez afficher ou vous voulez
           EndSelect 
     EndSelect      
EndProcedure 


OpenWindow(#Fenpr, 0, 0,380,280, "Ce jour  ", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget  | #PB_Window_ScreenCentered) 
StickyWindow(#Fenpr, 1)
SetWindowColor(#Fenpr,$B7D9D9)
Handle = WindowID (#Fenpr) ;Handle de la fenêtre 
Tim1 = SetTimer_ (Handle, 2, 50, @TimerProc2())

Repeat
  Event = WaitWindowEvent()
  
  
  
Until event = #PB_Event_CloseWindow  
KillTimer_(WindowID(#Fenpr),Tim1) 
End

Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Re: Jours /Date/heure

Message par Jacobus »

Avec le mois...

Code : Tout sélectionner

;**** MLD le 22/3/2011 *****
Enumeration
#Fenpr
EndEnumeration

Procedure TimerProc2(hwnd.l, uMsg.l, idEvent.l, dwTime.l) ;timer pour faire date + pendule dans la barre de titre
     Select uMsg
         Case #WM_TIMER
             Select idEvent
              Case 2
               Select DayOfWeek( Date())
                Case 0
                Jour$ = "Dimanche"
                Case 1
                Jour$ = "Lundi"
                Case 2
                Jour$ = "Mardi"
                Case 3
                Jour$ = "Mercredi"
                Case 4
                Jour$ = "Jeudi"
                Case 5
                Jour$ = "Vendredi"
                Case 6
                Jour$ = "Samedi"
               EndSelect
               
               Mois = Month(Date())
               If Mois = 1      : Mois$ = "Janvier"
               ElseIf Mois = 2  : Mois$ = "Février"
               ElseIf Mois = 3  : Mois$ = "Mars"
               ElseIf Mois = 4  : Mois$ = "Avril"
               ElseIf Mois = 5  : Mois$ = "Mai"
               ElseIf Mois = 6  : Mois$ = "Juin"
               ElseIf Mois = 7  : Mois$ = "Juillet"
               ElseIf Mois = 8  : Mois$ = "Août"
               ElseIf Mois = 9  : Mois$ = "Septembre"
               ElseIf Mois = 10 : Mois$ = "Octobre"
               ElseIf Mois = 11 : Mois$ = "Novembre"
               ElseIf Mois = 12 : Mois$ = "Décembre"
               EndIf 
               
                 
               Date$ = Jour$ +" " + FormatDate(" %dd ", Date()) + Mois$ + FormatDate("  %yyyy", Date()) +" - Il est : "+ FormatDate("%hh h %ii : %ss", Date())                     
               SetWindowTitle(#Fenpr,Date$) ;Affichage dans le titre, mais vous pouvez afficher ou vous voulez
           EndSelect
     EndSelect     
EndProcedure


OpenWindow(#Fenpr, 0, 0,450,150, "Ce jour  ", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget  | #PB_Window_ScreenCentered)
StickyWindow(#Fenpr, 1)
SetWindowColor(#Fenpr,$B7D9D9)
Handle = WindowID (#Fenpr) ;Handle de la fenêtre
Tim1 = SetTimer_ (Handle, 2, 50, @TimerProc2())

Repeat
  Event = WaitWindowEvent()
 
 
 
Until event = #PB_Event_CloseWindow 
KillTimer_(WindowID(#Fenpr),Tim1)
End
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Jours /Date/heure

Message par Backup »

..........
Dernière modification par Backup le mer. 22/juin/2011 12:06, modifié 11 fois.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Re: Jours /Date/heure

Message par Jacobus »

Y a pas photo... :lol:
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Jours /Date/heure

Message par MLD »

T'es un bon Dobro :lol:
qui peu en douter :?: :wink:
Merçi a Jacobus pour le complément :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Jours /Date/heure

Message par Backup »

j'aime vraiment cette fonction (stringfield()) je l'utilise a toute les sauces
parceque j'aime bien les Chaines de caracteres, c'est peut etre plus long traiter
mais tellement plus proche de l'homme

mettre :
if a.s="ok"

c'est pus parlant que :
if a=1
bien sur l'exemple est trivial, mais des que je peux je bosse avec les Strings
et en plus Stringfield() est un Tableau a 1 dimension

rien qu'en faisant a.s="toto,titi,tata"
une simple chaine de caractere deviens avec Stringfield() un Tableau 1 dimension

Code : Tout sélectionner

a.s="toto,titi,tata"
For i=1 To 3
  Debug StringField(a.s,i,",")
Next i
c'est puissant comme truc l'air de rien ..

ça peut simuler un tableau 1 dimension, mais aussi une list chainée,(avec mid() ...) etc ...

c'est vraiment a mon avis la plus belle fonction du language ... :)
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Jours /Date/heure

Message par MLD »

Salut Dobro
Tu as raison (stringfield()) est une bonne fonction. Je n'est pas le réflexe de son utilisation.Il faut que je comble cette lacune.
Bonne journée :lol:
Michel
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Re: Jours /Date/heure

Message par Jacobus »

Modifiez la procédure de Dobro comme ci-dessous

Code : Tout sélectionner

Procedure TimerProc2(hwnd.l, uMsg.l, idEvent.l, dwTime.l) ;timer pour faire date + pendule dans la barre de titre
  Jour$ = "Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi"
  Mois$ = "Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre"
  Select uMsg
    Case #WM_TIMER
      Select idEvent
        Case 2
          If DayOfWeek( Date()) = 0
            Jour$ = "Dimanche"
           Else 
            Jour$ = StringField(Jour$, DayOfWeek( Date()),",")
          EndIf             
          Mois$ = StringField(Mois$,Month(Date()),",")          
          Date$ = Jour$ +" " + FormatDate(" %dd ", Date()) + Mois$ + FormatDate("  %yyyy", Date()) +" et Il est : "+ FormatDate("%hh h %ii : %ss", Date()) 
          StatusBarText(#STATUSBAR, 1, Date$)
      EndSelect
  EndSelect     
EndProcedure
Pourquoi ?
L'index dans: StringField(Chaine$, Index, Delimiteur$) doit être au moins égal à 1
Le dimanche étant égal à 0 -> Plantage!

@+
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Jours /Date/heure

Message par Backup »

..........
Dernière modification par Backup le dim. 02/oct./2011 12:44, modifié 1 fois.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Re: Jours /Date/heure

Message par Jacobus »

Je ne doutais pas que tu allais corriger ce code à sa juste présentation :wink:
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Répondre