begin process at 2013 05 22 18:23:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > CALENDRIER PERPÉTUEL EN PICWIN

CALENDRIER PERPÉTUEL EN PICWIN


 Information sur la source

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :AddOns Niveau :Expert Date de création :30/07/2004 Vu :7 078

Auteur : Kerrigan

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 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

Source avec une capture HOLORGE À AIGUILLE EN PICWIN
Source avec une capture PICWIN CLIPBOARD ET LISTE DE CARACTERES
Source avec Zip Source avec une capture DÉGRADÉ.H , LIBRAIRIE DE DEGRADE.
CRYPTAGE AVEC UN ENDOMORPHISME INVOLUTIF
GAGNEZ EN VITESSE DANS UN MP3 PLAYER GRACE AU HASH TABLE

 Sources de la même categorie

Source avec Zip Source avec une capture MIRC GUI 8 REV.C par DEATHJ0KER
Source avec Zip Source avec une capture DCX XPOPUPS par DEATHJ0KER
Source avec Zip Source avec une capture GESTIONNAIRE YOUTUBE par nooxx
PACMAN MULTI-JOUEUR EN LIGNE par wims
PROXY&SOCKS SCANNER+LEECHER par independentt

Commentaires et avis

Commentaire de Allan007 le 30/07/2004 05:07:53

Bien ta sources mais sa serai mieux si on pourai mettre
des commentaires a un jours prési je c'est que c'est pas
trés facil a faire mais bon c'est une idée

une erreur quand on ferme les calendriers:

* /while: close bracket not found

Quand tu l'auras améliorer je voterai

Bonne continuation!!!!!

Commentaire de winwarrior le 30/07/2004 09:02:37

J'ai pas testé mais il manque un screen ...

Commentaire de SornDrixer le 30/07/2004 11:26:53 administrateur CS

Terrible ! Graphiquement un peu triste (blanc et noir) mais vraiment bien réalisé.

Commentaire de Kerrigan le 30/07/2004 13:55:27

je sais d'ou viens l'erreur, c'est la } de la derniere ligne qui manque. Sinon mettre un commentaire a un jour précis ça ne devrait pas etre trop compliqué a faire c'est juste que je voulais faire un calendrier pas un agenda  :D

Commentaire de darkyojimbo2 le 31/07/2004 00:44:08

c'est celui que tu as fait pr notre defi ?

Sinon il est cool
10/10

Commentaire de KiNdErMaXi le 05/11/2004 18:33:05

tu a du en ch*** pour les années bissextiles

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales