Accueil > > > CALENDRIER PERPÉTUEL EN PICWIN
CALENDRIER PERPÉTUEL EN PICWIN
Information sur la source
Description
Il s'agit d'un calendrier perpétuel qui permet d'avoir les calendrier de toutes les années a partir de 2004. pour le lancer vous pouvez taper /calendrier dans le status a ce moment vous aurez le calendrier des année 2004 et 2005 sinon vous pouvez taper /calendrier année a ce moment vous aurez le calendrier de l'année désirée (si celle ci est superieure a 2004)
Source
- alias calendrier {
- if (!$1) { drawcld 2004 | drawcld 2005 | echo -a pour avoir d'autre année tapez : /calendrier année }
- elseif ($1 isnum ) && ( $1 >= 2004 ) { drawcld $1 }
- else { echo -a erreur de spécification pour l'année, vous devez spécifier un nombre supérieur a 2003. }
- }
-
- alias drawmoi {
- var %bi = $iif( $calc($1 /4) = $int($calc($1 /4)) ,$int($calc(($1 -2004)/4)),$int($calc(1+ ($1 -2004)/4)) ),%no = $calc($1 -2004 - %bi),%total = $calc(%bi *366 + %no *365),%itr = 1
- if ($calc($1 /4) = $int($calc($1 /4))) { var %moi = 31,29,31,30,31,30,31,31,30,31,30,31 }
- else { var %moi = 31,28,31,30,31,30,31,31,30,31,30,31 }
- while ( %itr < $2 ) { %total = $calc(%total + $gettok(%moi,%itr,44)) | inc %itr }
- var %itr = 1,%jour = Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche,%c = 4,%t = $calc(%total - 7* $int($calc(%total /7)))
- while ( %itr <= %t ) { if ( %c = 8 ) { %c = 1 } | inc %c | inc %itr }
- var %itr = 1,%fenetre = $+(@,$1,-,$2),%j = 25
- window -hkp %fenetre 0 0 291 153
- while ( %itr <= $gettok(%moi,$2,44) ) {
- if ( %c = 8 ) { %c = 1 }
- drawtext %fenetre 1 arial 9 $calc(40* (%c -1) +5) %j %itr
- if ( $calc(%itr /7) = $int($calc(%itr /7)) ) { inc %j 20 }
- inc %c
- inc %itr
- }
- var %i = 1,%j = 0
- while ($gettok(%jour,%i,44)) {
- while ( %j <= 140 ) { drawline %fenetre 1 0 0 %j 280 %j | inc %j 20 }
- drawtext %fenetre 1 arial 9 $calc((%i -1) * 40 +2) 5 $gettok(%jour,%i,44)
- drawline %fenetre 1 0 $calc(%i *40) 0 $calc(%i *40) 140
- inc %i
- }
- }
-
- alias drawtab {
- var %itr = 1
- if (!$window($1)) { halt }
- while ($gettok($4-,%itr,32)) {
- drawtext $1 1 arial 9 $calc( (%itr -1) * $2 +4) 3 $ifmatch
- drawline $1 1 0 $calc(%itr * $2) 0 $calc(%itr * $2) $3
- inc %itr
- }
- drawline $1 1 0 0 $3 $window($1).w $3
- }
-
- alias drawcld { window -ap $+(@Calendrier-,$1) -1 -1 293 183 | drawtab $+(@Calendrier-,$1) 23.5 15 1 2 3 4 5 6 7 8 9 10 11 12 }
-
- menu @Calendrier-* {
- sclick :{
- var %itr = 0,%c = 1,%p = 0,%window = $active,%date = $gettok(%window,2,45),%moi = Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Aout,Septembre,Octobre,Novembre,Décembre
- while ( %itr <= $window(%window).w ) {
- if ($inrect($mouse.x,$mouse.y,%itr,0,24,15)) { inc %p | goto end }
- inc %itr 23.5
- inc %c
- }
- :end
- if ( %p = 0 ) { halt }
- drawline %window 1 0 0 15 $window(%window).w 15
- drawline %window 0 0 %itr 15 $calc(%itr +24) 15
- drawrect -f %window 0 1 0 18 300 11
- drawtext %window 1 arial 9 0 18 $gettok(%moi,%c,44) %date
- if (!$window($+(@,%date,-,%c))) { drawmoi %date %c }
- drawcopy $+(@,%date,-,%c) 0 0 291 125 %window 2 30
- }
- Nouvelle Année : {
- :c
- var %a = $$?="Entrer une année s'il vous plait"
- if ( %a < 2004 ) { Echo -a [Calendrier] Année invalide | goto c }
- drawcld %a
- }
- }
-
- on *:close:@Calendrier-*:{ var %window = $active,%date = $gettok(%window,2,45),%itr = 1 | while ( %itr <= 12 ) { window -c $+(@,%date,-,%itr) | inc %itr } }
alias calendrier {
if (!$1) { drawcld 2004 | drawcld 2005 | echo -a pour avoir d'autre année tapez : /calendrier année }
elseif ($1 isnum ) && ( $1 >= 2004 ) { drawcld $1 }
else { echo -a erreur de spécification pour l'année, vous devez spécifier un nombre supérieur a 2003. }
}
alias drawmoi {
var %bi = $iif( $calc($1 /4) = $int($calc($1 /4)) ,$int($calc(($1 -2004)/4)),$int($calc(1+ ($1 -2004)/4)) ),%no = $calc($1 -2004 - %bi),%total = $calc(%bi *366 + %no *365),%itr = 1
if ($calc($1 /4) = $int($calc($1 /4))) { var %moi = 31,29,31,30,31,30,31,31,30,31,30,31 }
else { var %moi = 31,28,31,30,31,30,31,31,30,31,30,31 }
while ( %itr < $2 ) { %total = $calc(%total + $gettok(%moi,%itr,44)) | inc %itr }
var %itr = 1,%jour = Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche,%c = 4,%t = $calc(%total - 7* $int($calc(%total /7)))
while ( %itr <= %t ) { if ( %c = 8 ) { %c = 1 } | inc %c | inc %itr }
var %itr = 1,%fenetre = $+(@,$1,-,$2),%j = 25
window -hkp %fenetre 0 0 291 153
while ( %itr <= $gettok(%moi,$2,44) ) {
if ( %c = 8 ) { %c = 1 }
drawtext %fenetre 1 arial 9 $calc(40* (%c -1) +5) %j %itr
if ( $calc(%itr /7) = $int($calc(%itr /7)) ) { inc %j 20 }
inc %c
inc %itr
}
var %i = 1,%j = 0
while ($gettok(%jour,%i,44)) {
while ( %j <= 140 ) { drawline %fenetre 1 0 0 %j 280 %j | inc %j 20 }
drawtext %fenetre 1 arial 9 $calc((%i -1) * 40 +2) 5 $gettok(%jour,%i,44)
drawline %fenetre 1 0 $calc(%i *40) 0 $calc(%i *40) 140
inc %i
}
}
alias drawtab {
var %itr = 1
if (!$window($1)) { halt }
while ($gettok($4-,%itr,32)) {
drawtext $1 1 arial 9 $calc( (%itr -1) * $2 +4) 3 $ifmatch
drawline $1 1 0 $calc(%itr * $2) 0 $calc(%itr * $2) $3
inc %itr
}
drawline $1 1 0 0 $3 $window($1).w $3
}
alias drawcld { window -ap $+(@Calendrier-,$1) -1 -1 293 183 | drawtab $+(@Calendrier-,$1) 23.5 15 1 2 3 4 5 6 7 8 9 10 11 12 }
menu @Calendrier-* {
sclick :{
var %itr = 0,%c = 1,%p = 0,%window = $active,%date = $gettok(%window,2,45),%moi = Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Aout,Septembre,Octobre,Novembre,Décembre
while ( %itr <= $window(%window).w ) {
if ($inrect($mouse.x,$mouse.y,%itr,0,24,15)) { inc %p | goto end }
inc %itr 23.5
inc %c
}
:end
if ( %p = 0 ) { halt }
drawline %window 1 0 0 15 $window(%window).w 15
drawline %window 0 0 %itr 15 $calc(%itr +24) 15
drawrect -f %window 0 1 0 18 300 11
drawtext %window 1 arial 9 0 18 $gettok(%moi,%c,44) %date
if (!$window($+(@,%date,-,%c))) { drawmoi %date %c }
drawcopy $+(@,%date,-,%c) 0 0 291 125 %window 2 30
}
Nouvelle Année : {
:c
var %a = $$?="Entrer une année s'il vous plait"
if ( %a < 2004 ) { Echo -a [Calendrier] Année invalide | goto c }
drawcld %a
}
}
on *:close:@Calendrier-*:{ var %window = $active,%date = $gettok(%window,2,45),%itr = 1 | while ( %itr <= 12 ) { window -c $+(@,%date,-,%itr) | inc %itr } }
Conclusion
Ce code possede une limite, il ne va pas dans le passé, aussi une fois que la fenetre c'est lancé clicker sur les numéros de 1 a 12 pour voir le calendrier proprement dit.
J'ai essayé de copier tres sommairement des tabs mais l'effet est la. Graphiquement c'est tres simple mais c'est rapide ça ne bug et ça fonctionne pour toutes les années avec la meme vitesse.
Je n'ai pas prevu de mise a jour. Tout va dépendre de vos appréciations.
Vu la simplicité du design je ne met pas de capture vous verez de vous meme :)
c'est un code rédigé a l'occasion d'un defi sur mircstudio.tk (site de Remi34 merci au passage :) )
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
SIMULER FACILEMENT L'ENVOI DE MAILSIMULER FACILEMENT L'ENVOI DE MAIL par JeremyJeanson
il m'a été demandé, à plusieurs reprises, comment je faisais pour simuler l'envoi de mail lors de mes démos de Workflow Foundation. Ma solution est plutôt simple : j'utilise la configuration par défaut du SmtpClient et j'oriente les mails vers un dossier ...
Cliquez pour lire la suite de l'article par JeremyJeanson VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet [ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS.[ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS. par Patrick Guimonet
C'est un point peu mis en avant mais SharePoint 2013 a été l'occasion de remettre de l'ordre dans les modèles de sites. Tout d'abord, un certain nombre de modèles ont été tout simplement rendus obsolètes (cf. Fonctionnalités déco...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Forum
LANGAGE 4DLANGAGE 4D par wvalter
Cliquez pour lire la suite par wvalter PROBLEME MIRCPROBLEME MIRC par PaTaTe
Cliquez pour lire la suite par PaTaTe PERFECTIONPERFECTION par gorby10
Cliquez pour lire la suite par gorby10 CORBA IIOPCORBA IIOP par math31250
Cliquez pour lire la suite par math31250
Logiciels
Easy-Planning (4.5.0.11)EASY-PLANNING (4.5.0.11)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté a... Cliquez pour télécharger Easy-Planning CVEasy (3.1.0.51)CVEASY (3.1.0.51)PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante.
PHMSD-C... Cliquez pour télécharger CVEasy LettresFaciles 2011 (8.6.0.31)LETTRESFACILES 2011 (8.6.0.31)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011 sDEVIS-FACTURES vlPRO (8.4.2.62)SDEVIS-FACTURES VLPRO (8.4.2.62)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO Devis-Factures PHMSD (2.1.0.11)DEVIS-FACTURES PHMSD (2.1.0.11)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD
|