begin process at 2010 02 08 23:28:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > MANAGER - CALENDRIER EN PICWIN (PERPETUEL)

MANAGER - CALENDRIER EN PICWIN (PERPETUEL)


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :AddOns Classé sous :manager, calendrier, perpetuel, picwin, quicksystem Niveau :Initié Date de création :04/06/2006 Date de mise à jour :18/06/2006 17:53:04 Vu / téléchargé :4 669 / 95

Auteur : RCA ArKanis

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

 Description

Cliquez pour voir la capture en taille normale
Voici une autre de mes picwin que je viens à peine de réaliser. Si vous connaissez QS (Quick System, dispo ici : http://www.ircfr.com/codes/QUICK-SYSTEM-BUREAU-SUR -MIRC_36244.aspx), vous y verrez quelques points de ressemblance, notamment le drag&drop.

Lancer le manager en tapant /manager

Il s'agit ici d'un calendrier perpetuel, qui utilise le calcul de temps de l'ordinateur (avec les fonctions $time, $ctime, $date)
Contrairement à la première version, celle-ci présente un calendrier perpetuel.

Les jours sont classées par colonne, la première ne regroupera que des Lundi, la deuxième que des Mardi, ...

Le principe, c'est de voir un calendrier, de cliquer sur un jour, de gérer les évènements (comme par exemple mettre un rendez-vous, mémo, ou tout autre rappel) de ce jour.
Il fonctionne aussi bien dans le passé que dans le futur (il peut donc fonctionner en journal : vous mettez ce que vous avez vécu, ... Utile pour noter un anniversaire) ;)

Il dispose de deux modes d'affichage.

1] Le mode Big
   1) Le premier est plus grand que le second et permet d'ajouter une image de fond dans le reste de la fenêtre.
      Cette fenêtre est dimensionable via le menu (clic droit)
      Vous pourrez également déplacer le calendrier à l'intérieur de la fenêtre, et bouger cette fenêtre par rapport à l'écran.
   2) Quand vous cliquez sur un jour, une autre fenêtre vient s'ajouter sur la première. Encore une fois, cette dernière fenêtre peut avoir un fond d'écran configuré.
      Une zone de texte (la zone où s'afficheront les évènements du jour en particulier) peut être placée n'importe où sur la fenêtre et peut également prendre la taille souhaitée (permet de ne pas masquer une partie de l'image de fond que vous aimez bien par exemple :p).
      Avec cette seconde fenêtre, vous pourrez visionner la fête du jour (à condition d'avoir placé le fichier saint.ini dans le dossier ArKanis placé dans le dossier mIRC)

2] Le mode Alone
   1) Le deuxième mode est un mode réduit. Vous ne disposerez pas d'arrière-plan. La fenêtre a la taille du calendrier, que vous pourrez bouger n'importe où.
   2) En cliquant sur un jour, vous aurez ici aussi une autre fenêtre qui s'affichera au dessus de la précédente, avec le même fond que dans le I]2). La différence ici est que la zone de texte est agrandie au maximum, et ne peut être redimensionnée.
   Ce mode est pratique pour les personnes qui ne veulent pas de fond. Il permet aussi de ne pas prendre beaucoup de place quand la fenêtre est placée en mode on-top (au dessus de tout)

Pour changer de mode, soit vous utiliser le menu, soit vous cliquez sur la barre verticale entre les deux ascenseurs à droite.

Une alarme peut être placée pour chaque jour et se déclenchera à l'heure indiquée le jour même. Pour cela, déplacer la souris en bas à gauche de la case représentant le jour souhaité.

Le jour actuel est coloré en bleu, les jours où un planning/journal existe sont en rouge.

Si vous avez des idées d'amélioration, merci d'en faire part :)
Comme dit tout au début, il est en quelque sorte la suite de QS, j'espère que vous l'apprécierez tout autant :)

Source

  • ;*********************
  • ; Manager by ArKanis
  • ; www.arkanis.eu
  • ; v1.3
  • ;*********************
  • alias manager {
  • if ($window(@Manager)) {
  • if ($1 == -x) window -c @Manager
  • else window -a @Manager
  • }
  • else {
  • if ($hget(Manager)) hfree Manager
  • manager.debug
  • hadd -m Manager Date $date
  • if ($readini(Config.ini,Manager,Mode) == Alone) {
  • window -aBCdg0k0pRz +dl @Manager 0 0 265 230 ArKanis/Icones/qs.ico
  • hadd -m Manager Mode Alone
  • }
  • else {
  • hadd -m Manager Mode Big
  • var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32)
  • window -aBCdg0k0pRz +dl @Manager -1 -1 %maxx %maxy ArKanis/Icones/qs.ico
  • drawfill -nr @Manager 0 $getdot(@Manager,5,5) 5 5
  • if ($readini(Config.ini,Manager,Background)) {
  • var %img = $ifmatch
  • if ($exists($ifmatch)) drawpic -cnms @Manager 0 0 %maxx %maxy $+(",%img,")
  • }
  • }
  • manager.calendar
  • drawdot @Manager
  • manager.copy
  • .timermanager.heure 0 1 manager.heure
  • }
  • }
  • alias -l manager.calendar {
  • titlebar @Manager by ArKanis
  • if ($hget(Manager,Mode) == Alone) var %ox = 0, %oy = 0, %maxx = 370, %maxy = 230
  • else {
  • var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32), %origin = $iif($hget(Manager,Origin),$ifmatch,$readini(Config.ini,Manager,Origin)), %ox = $gettok(%origin,1,32), %oy = $gettok(%origin,2,32)
  • var %v1 = $calc(%maxx - 7 * 35 -26), %v2 = $calc(%maxy - 6 * 35 -35)
  • if (!%ox) var %ox = 10
  • elseif (%ox > %v1) var %ox = %v1
  • if (!%oy) var %oy = $calc(%maxy - 190)
  • elseif (%oy > %v2) var %oy = %v2
  • }
  • hadd -m Manager Origin %ox %oy
  • drawrect -frn @Manager 16777215 1 %ox %oy $calc(35*7 -1) $calc(35*6)
  • drawrect -rn @Manager 0 1 $calc(%ox -1) $calc(%oy -1) $calc(35*7 +1) $calc(35*6 +2)
  • var %month = $iif($gettok($1,2,47),$ifmatch,$asctime(mm)), %year = $iif($gettok($1,3,47),$ifmatch,$asctime(yyyy))
  • var %1st = $ctime($+(01/,%month,/,%year)), %y = %oy, %id = 0
  • var %j = $gettok($manager.translate($+(01/,%month,/,%year)),1,32), %i = $findtok(Lundi-Mardi-Mercredi-Jeudi-Vendredi-Samedi-Dimanche,%j,45), %x = $calc(%ox + %i * 35 -35)
  • hadd -m Manager 1st %i
  • var %max = $gettok($+(30-,$iif($manager.bisex(%year),29,28),-31-30-31-30-31-31-30-31-30-31),%month,45)
  • hadd -m Manager Month $+(01/,%month,/,%year)
  • while %id < %max {
  • var %date = $+($base($calc(%id +1),10,10,2),/,$base(%month,10,10,2),/,%year)
  • drawrect -rn @Manager 0 1 %x %y 35 35
  • drawrect -frn @Manager $iif(%date == $date,16437970,$iif($lines($+(Manager/,$replace(%date,$chr(47),-),.txt)),12632319,16777215)) 1 $calc(%x +1) $calc(%y +1) 33 33
  • drawtext -rn @Manager 0 Tahoma 10 $calc(%x + 5) $calc(%y + 5) $gettok(%date,1-2,47)
  • if (!$hget(ManagerAlarmes)) manager.alarmes
  • if ($hmatch(ManagerAlarmes,$+(Date:,%date,*),0).data) {
  • drawline -rn @Manager 255 1 $calc(%x + 4) $calc(%y + 32) $calc(%x + 8) $calc(%y + 24) $calc(%x + 12) $calc(%y + 32) $calc(%x + 2) $calc(%y + 32)
  • drawfill -srn @Manager 255 $getdot(@Manager,$calc(%x + 6),$calc(%y + 30)) $calc(%x + 6) $calc(%y + 30)
  • }
  • drawline -nr @Manager 15767190 1 $calc(%x + 33) $calc(%y + 23) $calc(%x + 33) $calc(%y + 33) $calc(%x + 23) $calc(%y + 33) $calc(%x + 33) $calc(%y + 23)
  • drawfill -snr @Manager 15767190 $getdot(@Manager,$calc(%x + 32),$calc(%y + 32)) $calc(%x + 32) $calc(%y + 32)
  • if (7 \\ %i) inc %x 35
  • else { var %x = %ox | inc %y 35 }
  • inc %id
  • inc %i
  • }
  • drawrect -frn @Manager 0 1 $calc(%ox + 210) $calc(%oy + 175) 35 35
  • if ($exists(ArKanis/Icones/engrenage.jpg)) {
  • drawpic -cnms @Manager $calc(%ox + 211) $calc(%oy + 176) 33 33 ArKanis/Icones/engrenage.jpg
  • }
  • else drawrect -frn @Manager 16755370 1 $calc(%ox + 211) $calc(%oy + 176) 33 33
  • if (stop isin $2-) { if (copy isin $2-) { manager.copy } | return }
  • var %o1 = $calc(%ox + 7*35 -1), %o2 = $calc(%ox + 7*35), %i = 1, %p1 = $+(%ox,|,$calc(%ox +1),|,%o1,|,%o2,|,%o1,|,%o2,|,%o1,|,%o2,|,%o1,|,%o2)
  • var %p2 = $+($calc(%oy + 6*35),|,$calc(%oy + 6*35 +1),|,%oy,|,$calc(%oy +20),|,%oy,|,$calc(%oy +1),|,$calc(%oy + 35*6 -20),|,$calc(%oy + 35*6 -19),|,$calc(%oy + 35*6),|,$calc(%oy + 35*6 +1))
  • var %p3 = 245|243|20|18|20|18|20|18|20|18, %p4 = $+(20|18|,$calc(35*6 +20),|,$calc(6*35),|20|18|20|18|20|18), %p5 = $+(0|12706303|0|16448240|0|16435400|0|16435400|0|1317140,$iif($hget(Manager,Mode) == Alone,1,0))
  • while %i <= 10 {
  • drawrect $iif(2 // %i,-frn,-rn) @Manager $gettok(%p5,%i,124) 1 $gettok(%p1,%i,124) $gettok(%p2,%i,124) $gettok(%p3,%i,124) $gettok(%p4,%i,124)
  • inc %i
  • }
  • manager.heure
  • manager.encoche
  • if (copy isin $2-) manager.copy
  • }
  • ;************
  • ; Paramètres
  • ;************
  • alias -l manager.width {
  • if ($hget(Manager,Mode) == Alone) return 264 229
  • if (!$hget(Manager,Width)) hadd -m Manager Width $iif($readini(Config.ini,Manager,Width),$ifmatch,800 600)
  • var %r = $hget(Manager,Width)
  • return $iif($gettok(%r,1,32) isnum 600-1600,$ifmatch,800) $iif($gettok(%r,2,32) isnum 400-1200,$ifmatch,600)
  • }
  • alias -l manager.copy {
  • var %w = $manager.width, %w1 = $gettok(%w,1,32), %w2 = $gettok(%w,2,32)
  • if ($window(@Manager.copy)) window -c @Manager.copy
  • window -BCg0hk0pRz +dL @Manager.copy 0 0 %w1 %w2
  • drawcopy @Manager 0 0 %w1 %w2 @Manager.copy 0 0
  • }
  • alias -l manager.copy.calendar {
  • var %w = $hget(Manager,Origin), %w1 = $gettok(%w,1,32), %w2 = $gettok(%w,2,32)
  • if ($window(@Manager.copy.calendar)) window -c @Manager.copy.calendar
  • if (!$window(@Manager.copy.calendar)) window -BCg0hk0pRz +dL @Manager.copy.calendar 1 1 265 231
  • drawcopy @Manager %w1 %w2 265 231 @Manager.copy.calendar 1 1
  • }
  • alias -l manager.backup {
  • if ($hget(Manager,Date) != $date) {
  • manager -x
  • manager
  • }
  • if (!$window(@Manager.copy)) return
  • var %w = $manager.width, %w1 = $gettok(%w,1,32), %w2 = $gettok(%w,2,32)
  • drawcopy -n @Manager.copy 0 0 %w1 %w2 @Manager 0 0
  • titlebar @Manager by ArKanis
  • }
  • ;******
  • ; Menu
  • ;******
  • menu @Manager {
  • sclick:manager.sclick $mouse.x $mouse.y
  • mouse:manager.mouse $mouse.x $mouse.y
  • -
  • Changer l'Arrière-Plan
  • .Général:{
  • if (!$input.request.y.n(Voulez-vous vraiment changer l'arrière plan ?)) return
  • var %img = $sfile($mircdir,Fichier Image,Sélectionner)
  • if (!$exists(%img)) { input.request.ok Ce fichier n'existe pas ! | return }
  • writeini -n Config.ini Manager Background %img
  • manager -x
  • manager
  • input.request.ok L'image de fond a correctement été changée.
  • }
  • .Des informations d'un jour:{
  • if (!$input.request.y.n(Voulez-vous vraiment changer l'arrière plan des informations d'un jour ?)) return
  • var %img = $sfile($mircdir,Fichier Image,Sélectionner)
  • if (!$exists(%img)) { input.request.ok Ce fichier n'existe pas ! | return }
  • writeini -n Config.ini Manager Day %img
  • input.request.ok L'image de fond a correctement été changée.
  • }
  • Changer le mode d'affichage:manager.chgmode
  • Afficher le calendrier actuel:manager.calendar -3 stop
  • $iif($hget(Manager,Infos) || $hget(Manager(Config),$style(2)) Changer la date:{
  • var %i = $input.request(Quelle date voulez-vous visionner ?)
  • manager.calendar %i stop
  • }
  • -
  • Deplacer $iif($hget(Manager,Infos) || $hget(Manager,Config),la zone de texte,le calendrier):{
  • var %nom = $iif($hget(Manager,Infos) || $hget(Manager,Config),la zone de texte,le calendrier)
  • if (!$input.request.y.n(Voulez-vous réellement déplacer %nom ?)) return
  • input.request.ok Votre prochain clic sur la fenêtre déplacera %nom à cet endroit. Si les calculs indiquent que %nom sortira de la fenêtre, %nom sera déplacé le plus proche possible de l'emplacement souhaité.
  • hadd -m Manager Clic 1
  • }
  • Modifier la taille de la fenêtre:{
  • if (!$input.request.y.n(Etes-vous sûr(e) de vouloir redimensionner la fenêtre ?)) return
  • var %x = $iif($input.request(Largeur (horizontale) ?) isnum 600-1600,$ifmatch,800)
  • var %y = $iif($input.request(Hauteur (Verticale) ?) isnum 400-1200,$ifmatch,600)
  • writeini -n Config.ini Manager Width %x %y
  • manager -x
  • manager
  • input.request.ok La taille de la fenêtre a changé
  • }
  • -
  • $iif($readini(Manager\Manager.ini,Config,Alarmes),$style(1) Alarmes activées,Alarmes désactivées):writeini -n Manager\Manager.ini Config Alarmes $iif($readini(Manager\Manager.ini,Config,Alarmes),0,1)
  • -
  • $iif($hget(Manager,OnTop),$style(1)) On Top:{
  • if ($hget(Manager,OnTop)) { hdel Manager OnTop | window -u @Manager }
  • else { hadd -m Manager OnTop 1 | window -o @Manager }
  • }
  • -
  • Fermer:window -c @Manager
  • }
  • alias -l manager.sclick {
  • ;echo -a Souris : $mouse.x $mouse.y - $getdot(@Manager,$mouse.x,$mouse.y)
  • var %r = $manager.width, %maxx = $gettok(%r,1,32), %maxy = $gettok(%r,2,32)
  • if ($0 < 2) return
  • if ($hget(Manager,Clic)) {
  • if ($hget(Manager,Infos) || $hget(Manager,Config)) {
  • if ($hget(Manager,Clic) == 2) {
  • writeini -n Config.ini Manager $+($iif($hget(Manager,Config),Alarm,Infos),Origin) $hget(Manager,Memo) $calc($1 - $gettok($hget(Manager,Memo),1,32)) $calc($2 - $gettok($hget(Manager,Memo),2,32))
  • hdel Manager Memo
  • hdel Manager Clic
  • input.request.ok La position de la zone de texte a correctement été modifiée.
  • if ($hget(Manager,Config)) manager.display.zone.alarmes
  • else manager.display.day $hget(Manager,DayInfo)
  • }
  • else {
  • hadd -m Manager Memo $1-2
  • hadd -m Manager Clic 2
  • input.request.ok Votre second clic déterminera la largeur et la hauteur de la zone de texte.
  • }
  • }
  • else {
  • writeini -n Config.ini Manager Origin $1-2
  • manager -x
  • manager
  • input.request.ok La position du calendrier a correctement été modifié.
  • hdel Manager Clic
  • }
  • }
  • elseif ($hget(Manager,Infos)) {
  • if ($inrect($1,$2,15,$calc(%maxy - 35),100,20)) { manager.backup | manager.calendar $hget(Manager,Month) | hdel Manager Infos | drawdot @Manager }
  • elseif ($inrect($1,$2,$iif($hget(Manager,Mode) == Alone,120,140),$calc(%maxy -35),80,20)) {
  • if (!$isdir(Manager)) .mkdir Manager
  • var %file = $+(Manager/,$replace($gettok($hget(Manager,DayInfo),2,32),$chr(47),-),.txt)
  • if (!$exists(%file)) write -c %file
  • var %m = $lines(%file)
  • if (!%m) var %l = 1, %mode = $null
  • else {
  • var %l = $input.request(Quelle est la ligne à modifier ? Ne mettez rien si vous voulez la mettre à la fin.)
  • if (!%l) unset %mode %l
  • else var %mode = $iif($input.request.y.n(Souhaitez-vous ajouter une ligne ? Si non : écrire par dessus),il,l)
  • }
  • if (%mode == il) var %new = $input.request(Evènement à ajouter sur la ligne %l pour le $gettok($hget(Manager,DayInfo),2,32))
  • elseif (%mode == l) var %r = $read(%file,%l), %new = $input.request(Evènement à placer sur la ligne %l pour le $gettok($hget(Manager,DayInfo),2,32) - Actuellement $iif(%r,%r,vide))
  • else var %new = $input.request(Quel est le nouvel évènement à ajouter ?)
  • if (!$input.request.y.n(Etes-vous sûr(e) de vouloir écrire votre nouvel évènement $iif(%l,sur la ligne %l) ?)) return
  • if (%l !isnum) var %l = $null, %mode = %l
  • if ((%l > %m) && (%l isnum) && (%m isnum)) {
  • if ((%mode == il) || (!%mode)) inc %m
  • while (%m < %l) {
  • write %file $crlf
  • inc %m
  • }
  • }
  • write $iif(%mode,$+(-,$iif((%mode == l) && (!%new),dl,%mode),%l)) %file %new
  • manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
  • drawdot @Manager
  • }
  • else {
  • var %x = $1, %y = $2
  • tokenize 32 $hget(Manager,Asc1)
  • if ($inrect(%x,%y,$1,$2,$3,$4)) {
  • if ($hget(Manager,Line) <= 0) return
  • hdec Manager Line 2
  • hdel Manager AscBloque
  • manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
  • drawdot @Manager
  • }
  • tokenize 32 $hget(Manager,Asc2)
  • if ($inrect(%x,%y,$1,$2,$3,$4)) {
  • if ($hget(Manager,AscBloque)) return
  • hinc Manager Line 2
  • manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
  • drawdot @Manager
  • }
  • tokenize 32 $hget(Manager,Liste)
  • if ($inrect(%x,%y,$1,$2,$3,$4)) {
  • var %n = 1, %max = $hget(ManagerListe,0).item, %i = 0
  • while %n <= %max {
  • if ($hget(ManagerListe,%n).item <= %y) {
  • var %o = $hget(ManagerListe,$ifmatch), %last = $iif(%last > %o,%last,%o)
  • }
  • else var %i = %last
  • inc %n
  • }
  • if (!%i) var %i = $hget(ManagerListe,0).item
  • if (!%i) return
  • if (!$input.request.y.n(Voulez-vous opérer une opération de nettoyage sur la ligne %i ?)) return
  • if (!$isdir(Manager)) .mkdir Manager
  • var %file = $+(Manager/,$replace($gettok($hget(Manager,DayInfo),2,32),$chr(47),-),.txt)
  • if (!$exists(%file)) write -c %file
  • write $+(-,$iif($input.request.y.n(Effacer la ligne ? Si non : la vider),d),l,%i) %file
  • manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
  • }
  • drawdot @Manager
  • }
  • }
  • elseif ($hget(Manager,Config)) {
  • var %x = $1, %y = $2
  • tokenize 32 $hget(Manager,Asc1)
  • if ($inrect(%x,%y,$1,$2,$3,$4)) {
  • if ($hget(Manager,Line) <= 1) return
  • hdec Manager Line 3
  • if ($hget(Manager,Line) <= 0) hadd -m Manager Line 1
  • hdel Manager AscBloque
  • manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
  • drawdot @Manager
  • }
  • tokenize 32 $hget(Manager,Asc2)
  • if ($inrect(%x,%y,$1,$2,$3,$4)) {
  • if ($hget(Manager,AscBloque)) return
  • hinc Manager Line 3
  • manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
  • drawdot @Manager
  • }
  • if ($inrect(%x,%y,15,$calc(%maxy - 35),145,20)) { hsave -i ManagerListe Manager\Manager.ini Hebdo | manager.alarmes | manager.backup | manager.calendar $hget(Manager,Month) | hdel Manager Config | drawdot @Manager }
  • elseif ($inrect(%x,%y,200,$calc(%maxy -35),42,20)) {
  • var %n = $replace($input.request(Quel sera le nom de l'alarme ?),$chr(32),$chr(165))
  • var %h = $input.request(Quelle sera l'heure de son déclenchement ?)
  • if (!$regex(%h,^([0-1][0-9]|[0-9]|2[0-4]):([0-6][0-9])$)) { input.request.ok Heure invalide | return }
  • var %file = Manager\Manager.ini, %nb = $calc($readini(%file,Config,Id) +1)
  • writeini -n %file Config Id %nb
  • hadd -m ManagerListe %nb $+(Heure:,%h) $+(Objet:,%n)
  • manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
  • drawdot @Manager
  • }
  • elseif ($inrect(%x,%y,40,50,$calc(%maxx - 80),$calc(%maxy - 100))) {
  • var %n = 1, %max = $hget(ManagerList,0).item, %i = 0, %last = 67
  • while %n <= %max {
  • var %1 = $gettok($hget(ManagerList,%n).item,1,45), %2 = $gettok($hget(ManagerList,%n).item,2,45)
  • if (%y isnum $+(%1,-,%2)) {
  • var %old = %last, %last = $hget(ManagerList,%n).item, %i = $hget(ManagerList,%last)
  • }
  • inc %n
  • }
  • var %x1 = $gettok($hget(Manager,Liste),1,32), %x2 = $gettok($hget(Manager,Liste),3,32), %y1 = $gettok($hget(Manager,Liste),2,32), %y2 = $gettok($hget(Manager,Liste),4,32), %j = $calc(%x2 + %x1), %jo = 8
  • while %x <= %j {
  • dec %j 60
  • dec %jo
  • }
  • if (%i) {
  • var %j = $gettok(L-M-W-J-V-S-D,%jo,45)
  • if ((%jo >= 1) && ($getdot(@Manager,%x,%y) != 0)) {
  • var %read = $hget(ManagerListe,%i), %r = $regex(%read,Jours:([^\s]+)), %r = $regml(1), %r2 = $regsub(%read,Jours:([^\s]+),,%re)
  • var %mm = $calc(%last - %old), %ll = 59
  • if (%jo = 7) dec %ll 3
  • if (%j isin %r) {
  • var %r = $remtok(%r,%j,1,45), %d = $calc(%x2 - 17 - (7 - %jo) * 60)
  • drawfill -nr @Manager 16777215 0 %x %y
  • hadd -m ManagerListe %i %re $iif(%r,$+(Jours:,%r))
  • }
  • else {
  • var %r = $addtok(%r,%j,45), %d = $calc(%x2 - 17 - (7 - %jo) * 60)
  • drawfill -nr @Manager 16752800 0 %x %y
  • hadd -m ManagerListe %i %re $+(Jours:,%r)
  • }
  • }
  • elseif (%jo <= 0) {
  • var %read = $hget(ManagerListe,%i), %r = $regex(%read,Status:([^\s]+)), %r = $regml(1), %r2 = $regsub(%read,Status:([^\s]+),,%re)
  • if ($getdot(@Manager,%x,%y) == 255) {
  • var %h = $regex(%read,Heure:([^\s]+)), %h = $regml(1)
  • var %o = $regex(%read,Objet:([^\s]+)), %o = $regml(1)
  • if (!$input.request.y.n(Voulez-vous supprimer l'alerte se déclenchant à %h concernant %o ?)) return
  • hdel ManagerListe %i
  • }
  • else {
  • hadd -m ManagerListe %i %re $+(Status:,$iif(%r != 0,0,1))
  • }
  • manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
  • }
  • }
  • drawdot @Manager
  • }
  • }
  • elseif ($manager.case($1,$2)) {
  • var %i = $ifmatch, %d = $hget(Manager,Month)
  • if (%i == Prev) {
  • var %month = $calc($gettok(%d,2,47) -1), %y = $gettok(%d,3,47)
  • if (%month <= 0) var %month = 12, %y = $calc(%y -1)
  • manager.calendar $+(01/,%month,/,%y) copy stop
  • }
  • elseif (%i == Next) {
  • var %month = $calc($gettok(%d,2,47) +1), %y = $gettok(%d,3,47)
  • if (%month >= 13) var %month = 1, %y = $calc(%y +1)
  • manager.calendar $+(01/,%month,/,%y) copy stop
  • }
  • elseif ($gettok(%i,1,32) == Alarme) {
  • var %date = $gettok(%i,3,32)
  • if (!$isdir(Manager)) .mkdir Manager
  • if (!$hget(ManagerAlarmes)) manager.alarmes
  • if ($hmatch(ManagerAlarmes,$+(Date:,%date,*),0).data) {
  • var %m = $ifmatch, %i = 1
  • while %i <= %m {
  • var %hm = $hmatch(ManagerAlarmes,$+(Date:,%date,*),%i).data, %j = $hget(ManagerAlarmes,%hm)
  • var %a = $regex(%j,Heure:([\S]+)), %heure = $regml(1)
  • if ($input.request.y.n(Voulez-vous désactiver l'alarme du %date $iif(%heure,se déclenchant à $+(%heure,$chr(41))) ?)) { remini Manager\Manager.ini Alarmes %hm | hdel ManagerAlarmes %hm }
  • inc %i
  • }
  • }
  • else {
  • var %u = $+($r(a,z),$r(a,z),$r(a,z),$r(a,z),$r(0,9))
  • writeini -n Manager\Manager.ini Alarmes %u $+(Date:,%date) $+(Heure:,$input.request(A quelle heure doit-elle sonner ?)) $+(Nom:,$iif($input.request(Quelle nom donner à l'alarme ?),$ifmatch,1))
  • hadd -m ManagerAlarmes %u $readini(Manager\Manager.ini,Alarmes,%u)
  • manager.alarmes
  • }
  • manager.calendar $hget(Manager,Month)
  • }
  • elseif ($gettok(%i,1,32) == Config) manager.display.zone.alarmes
  • elseif ($gettok(%i,1,32) == Texte) {
  • if (!$isdir(Manager)) .mkdir Manager
  • var %txt = $+(Manager\,$replace($gettok(%i,3-,32),$chr(47),-),.txt)
  • if (!$exists(%txt)) write -c %txt
  • run %txt
  • }
  • elseif ($numtok(%i,32) > 1) manager.display.day %i
  • }
  • elseif ($getdot(@Manager,$1,$2) == 13171400) {
  • manager.copy.calendar
  • .timermove.calendar -h 0 50 manager.move.calendar $1 $2
  • }
  • elseif ($getdot(@Manager,$1,$2) == 16448240) manager.chgmode
  • elseif ($inpoly($1,$2,$calc(%maxx - 21),%maxy,%maxx,%maxy,%maxx,$calc(%maxy - 21))) .timermove.manager -h 0 0 move.manager $1 $2
  • }
  • alias -l manager.mouse {
  • if (($timer(move.manager)) || ($timer(move.calendar))) return
  • if ($0 < 2) return
  • if (!$hget(Manager,Infos) && !$hget(Manager,Config)) {
  • if ($manager.case($1,$2)) {
  • var %donnees = $ifmatch, %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
  • if (%donnees == Prev) var %nom = Cliquez ici pour voir le mois précédent
  • elseif (%donnees == Next) var %nom = Cliquez ici pour voir le mois suivant
  • elseif ($gettok(%donnees,1,32) == Alarme) {
  • if (!$hget(ManagerAlarmes)) manager.alarmes
  • var %nom = $iif($hmatch(ManagerAlarmes,$+(Date:,$gettok(%donnees,3,32),*)).data,Désactiver l'alarme du,Mettre une alarme pour le) $manager.translate($gettok(%donnees,3-,32))
  • }
  • elseif ($gettok(%donnees,1,32) == Config) var %nom = Configurer l'alarme quotidienne
  • elseif ($gettok(%donnees,1,32) == Texte) var %nom = Lancer le fichier texte du $manager.translate($gettok(%donnees,3-,32))
  • elseif ($gettok(%donnees,2,32)) {
  • var %nom = $iif($manager.compare($ifmatch,$date),Planifier la journée du,Consulter le journal du) $manager.translate($gettok(%donnees,2,32))
  • }
  • drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
  • if (%nom) drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 %nom
  • else manager.heure force
  • drawdot @Manager
  • hadd -m Manager Help 1
  • }
  • elseif ($getdot(@Manager,$1,$2) == 13171400) {
  • var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
  • drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
  • drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 Cliquez ici pour déplacer la fenêtre
  • drawdot @Manager
  • hadd -m Manager Help 1
  • }
  • elseif ($getdot(@Manager,$1,$2) == 16448240) {
  • var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
  • drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
  • drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 Changer le mode d'apparence
  • drawdot @Manager
  • hadd -m Manager Help 1
  • }
  • elseif ($hget(Manager,Help)) {
  • if (!$window(@Manager.copy)) return
  • var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
  • drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
  • drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 $manager.translate($date) - $time
  • drawdot @Manager
  • hdel Manager Help
  • }
  • }
  • }
  • ;******************
  • ; Calculs de temps
  • ;******************
  • alias -l manager.case {
  • if ($0 < 2) return
  • var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
  • if ($inrect($1,$2,$calc(%ox + 210),$calc(%oy + 175),35,35)) return Config %id %e
  • elseif (($1 isnum $+(%ox,-,$calc(%ox + 35 * 7))) && ($2 isnum $+(%oy,-,$calc(%oy + 35 * 6)))) {
  • var %casex = $gettok($calc(($1 - %ox)/35),1,46), %casey = $gettok($calc(($2 - %oy)/35),1,46), %id = $calc(%casey * 7 + %casex - $hget(Manager,1st) +1)
  • var %year = $gettok($hget(Manager,Month),3,47), %month = $gettok($hget(Manager,Month),2,47)
  • var %max = $calc($gettok($+(30-,$iif($manager.bisex(%year),29,28),-31-30-31-30-31-31-30-31-30-31),%month,45) -1)
  • if (%id !isnum $+(0-,%max)) return
  • var %d = $+($base($calc(%id + 1),10,10,2),/,$base(%month,10,10,2),/,$base(%year,10,10,2))
  • var %x = $calc(%ox + 35 * %casex), %y = $calc(%oy + 35 * %casey), %e = $iif($gettok(%d,2,47) == %month,%d)
  • if ($getdot(@Manager,$1,$2) == 255) return Alarme %id %e
  • if ($inpoly($1,$2,$calc(%x + 4),$calc(%y + 32),$calc(%x + 8),$calc(%y + 24),$calc(%x + 12),$calc(%y + 32),$calc(%x + 2),$calc(%y + 32))) return Alarme %id %e
  • if ($getdot(@Manager,$1,$2) == 15767190) return Texte %id %e
  • if ($inpoly($1,$2,$calc(%x + 23),$calc(%y + 33),$calc(%x + 33),$calc(%y + 33),$calc(%x + 33),$calc(%y + 23))) {
  • ;Ce procédé est utile pour ceux qui ont des vieux PC ne pouvant pas correctement récupérer une couleur (comme Wims :D)
  • return Texte %id %e
  • }
  • return %id %e
  • }
  • elseif ($1 isnum $+($calc(%ox + 35 * 7),-,$calc(%ox + 35 * 7 +19))) {
  • if ($2 isnum $+(%oy,-,$calc(%oy +20))) return Prev
  • elseif ($2 isnum $+($calc(%oy + 6 * 35 -20),-,$calc(%oy + 6 * 35))) return Next
  • }
  • }
  • alias -l manager.bisex {
  • if (!$1) return
  • if (4 // $1) {
  • if (100 // $1) {
  • if (400 // $1) return 1
  • return 0
  • }
  • return 1
  • }
  • return 0
  • }
  • alias -l manager.translate {
  • if (!$1) return
  • var %j = $gettok($1,1,47), %m = $gettok($1,2,47), %a = $gettok($1,3,47)
  • if (%m < 3) var %n = $calc($int($calc(365.25*(%a - 1))) + $int($calc(30.6*(%m + 13))) + %j - 621049)
  • else var %n = $calc($int($calc(365.25 * %a)) + $int($calc(30.6*(%m +1))) + %j - 621049)
  • var %d = $calc(%n % 7)
  • if (%d == 0) var %d = 7
  • return $gettok(Lundi-Mardi-Mercredi-Jeudi-Vendredi-Samedi-Dimanche,%d,45) $int(%j) $gettok(Janvier-Février-Mars-Avril-Mai-Juin-Juillet-Août-Septembre-Octobre-Novembre-Décembre,$int(%m),45) $int(%a)
  • }
  • alias -l manager.compare {
  • if ($0 < 2) return
  • tokenize 47 $+($1,/,$2)
  • if ($3 < $6) return 0
  • elseif ($3 > $6) return 1
  • else {
  • if ($2 < $5) return 0
  • elseif ($2 > $5) return 1
  • else {
  • if ($1 < $4) return 0
  • return 1
  • }
  • }
  • }
  • ;***********************
  • ; Draw (avec option -n)
  • ;***********************
  • alias -l manager.button {
  • if ($0 < 4) return
  • drawrect -rn @Manager 0 1 $1-
  • drawrect -frn @Manager 12706303 1 $calc($1 +1) $calc($2 +1) $calc($3 -2) $calc($4 -2)
  • if (($5 isnum) && ($6-)) drawtext -crn @Manager 0 Tahoma $5 $calc($1 +4) $calc($2 +4) $calc($3 -8) $calc($4 -8) $6-
  • }
  • alias -l manager.display.day {
  • if (!$0) return
  • hadd -m Manager DayInfo $1-
  • unset %img
  • var %r = $manager.width, %maxx = $gettok(%r,1,32), %maxy = $gettok(%r,2,32), %donnees = $1-
  • if ($readini(Config.ini,Manager,Day)) var %img = $ifmatch
  • if (!$exists(%img)) {
  • drawrect -rn @Manager 0 1 5 5 $calc(%maxx - 10) $calc(%maxy - 10)
  • drawrect -frn @Manager 16777215 1 11 11 $calc(%maxx - 22) $calc(%maxy - 22)
  • }
  • else drawpic -cnms @Manager 10 10 $calc(%maxx - 20) $calc(%maxy - 20) $+(",%img,")
  • var %texte = $iif($manager.compare($gettok(%donnees,2,32),$date),Planning,Journal) du $manager.translate($gettok(%donnees,2-,32)), %width = $width(%texte,Tahoma,12)
  • manager.button $calc(%maxx / 2 - %width / 2 -6) 20 $calc(%width +11) 25 12 %texte
  • drawline -rn @Manager 0 1 $calc(%maxx / 2 - %width / 2 -2) 38 $calc(%maxx / 2 + %width /2) 38
  • manager.button $iif($hget(Manager,Mode) == Alone,120,140) $calc(%maxy -35) 80 20 10 Ajouter/Effacer
  • manager.button 15 $calc(%maxy -35) 100 20 10 Retour au calendrier
  • if ($hget(Manager,Mode) != Alone) {
  • var %saint = Saint(e) $readini(ArKanis/saint.ini,$gettok($gettok(%donnees,2,32),2,47),$gettok($gettok(%donnees,2,32),1,47))
  • manager.button 245 $calc(%maxy - 35) $calc($width(%saint,Tahoma,10) +8) 20 10 %saint
  • if ($readini(Config.ini,Manager,InfosOrigin)) var %x1 = $gettok($ifmatch,1,32), %y1 = $gettok($ifmatch,2,32), %x2 = $gettok($ifmatch,3,32), %y2 = $gettok($ifmatch,4,32)
  • var %v1 = $calc(%maxx - 120), %b1 = $calc(%maxy - 120)
  • if (!%x1) var %x1 = 50
  • if (!%x2) var %x2 = 150
  • if (!%y1) var %y1 = 75
  • if (!%y2) var %y2 = 300
  • if (%x1 < 25) var %x1 = 25
  • elseif (%x1 > %v1) var %x1 = %v1
  • if (%y1 < 50) var %y1 = 50
  • elseif (%y1 > %b1) var %y1 = %b1
  • var %v2 = $calc(%maxx - %x1 - 40), %b2 = $calc(%maxy - %y1 - 45)
  • if (%x2 > %v2) var %x2 = %v2
  • if (%x2 < 95) var %x1 = $calc(%x1 - 95 + %x2), %x2 = 95
  • if (%y2 > %b2) var %y2 = %b2
  • if (%y2 < 95) var %y1 = $calc(%y1 - 95 + %y2), %y2 = 95
  • }
  • else var %x1 = 15, %x2 = $calc(%maxx - 45), %y1 = 47, %y2 = 140
  • drawrect -nr @Manager 0 1 %x1 %y1 %x2 %y2
  • drawrect -nr @Manager 0 1 $calc(%x1 + %x2 -1) %y1 15 %y2
  • drawrect -fnr @Manager 15180752 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 $calc(%y2 -2)
  • hadd -m Manager Asc1 $calc(%x1 + %x2 -1) %y1 15 15
  • drawrect -nr @Manager 0 1 $hget(Manager,Asc1)
  • drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 13
  • hadd -m Manager Asc2 $calc(%x1 + %x2 -1) $calc(%y1 + %y2 -15) 15 15
  • drawrect -nr @Manager 0 1 $hget(Manager,Asc2)
  • drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 + %y2 -14) 13 13
  • hadd -m Manager Liste %x1 %y1 %x2 %y2
  • hadd -m Manager Line 1
  • manager.display.texte %x1 %y1 %x2 %y2 1
  • titlebar @Manager - $gettok(%donnees,2,32)
  • drawdot @Manager
  • hadd -m Manager Infos 1
  • }
  • alias -l manager.display.texte {
  • if ($0 < 5) return
  • var %x1 = $1, %y1 = $2, %x2 = $3, %y2 = $4, %nb = $5
  • drawrect -fnr @Manager 16777215 1 $calc(%x1 +1) $calc(%y1 +1) $calc(%x2 -2) $calc(%y2 -2)
  • if (!$isdir(Manager)) .mkdir Manager
  • if ($hget(ManagerListe)) hfree ManagerListe
  • var %file = $+(Manager/,$replace($gettok($hget(Manager,DayInfo),2,32),$chr(47),-),.txt), %l = $lines(%file), %posy = $calc(%y1 + 2), %width = $calc(%x2 - 6), %posx = $calc(%x1 + 3), %max = $calc(%y1 + %y2 -10)
  • if (%nb <= 0) var %nb = 1
  • while ((%posy <= %max) && (%nb <= %l)) {
  • var %text = %nb - $read(%file,%nb), %n2 = 0
  • if (!%text) inc %posy 10
  • while ((%text) && (%posy <= %max)) {
  • var %n = 2, %m = $len(%text)
  • while (($width($left(%text,$calc(%n +1)),Tahoma,10) <= $calc(%width - $iif(%n2 > 0,5,0))) && (%n <= %m)) inc %n
  • drawtext -nr @Manager 0 Tahoma 10 $calc(%posx + $iif(%n2 > 0,5,0)) %posy $left(%text,%n)
  • if (%n2 == 0) hadd -m ManagerListe %posy %nb
  • inc %posy 10
  • var %text = $right(%text,$+(-,%n))
  • inc %n2
  • }
  • inc %nb
  • }
  • if (%nb > %l) hadd -m Manager AscBloque 1
  • }
  • alias -l manager.encoche {
  • var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32), %i = 21
  • while %i >= 3 {
  • drawline -rn @Manager 0 1 $calc(%maxx - %i) %maxy %maxx $calc(%maxy - %i)
  • dec %i 3
  • }
  • }
  • alias -l manager.heure {
  • var %r = $hget(Manager,Origin), %ox = $gettok(%r,1,32), %oy = $gettok(%r,2,32)
  • if ($1 != force) {
  • if (!$window(@Manager)) { .timermanager.heure off | return }
  • if (($timer(manager.move)) || ($timer(manager.calendar))) return
  • if (($hget(Manager,Infos)) || ($hget(Manager,Config))) return
  • if ($getdot(@Manager,$mouse.x,$mouse.y) == 13171400) return
  • if ($inrect($mouse.x,$mouse.y,%ox,%oy,$calc(10*35 +20),$calc(6*35))) return
  • }
  • drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
  • drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 $manager.translate($date) - $time
  • drawdot @Manager
  • }
  • alias -l manager.chgmode {
  • writeini -n Config.ini Manager Mode $iif($readini(Config.ini,Manager,Mode) != Alone,Alone,Big)
  • manager -x
  • manager
  • }
  • ;******
  • ; Move
  • ;******
  • alias -l move.manager {
  • var %x = $mouse.dx, %y $mouse.dy
  • if (!$window(@Manager)) .timermove.manager off
  • if ($mouse.key & 1) {
  • hadd -m Manager Move 1
  • .timermove.manager -h 0 0 move.manager $1-
  • window @Manager $calc(%x - $1) $calc(%y - $2)
  • }
  • elseif ($hget(Manager,Move)) { hdel Manager Move | .timermove.manager off }
  • }
  • alias -l manager.move.calendar {
  • if (!$window(@Manager.copy.calendar)) return
  • var %x = $calc($mouse.dx - $window(@Manager).dx - 7*35 -10), %y = $calc($mouse.dy - $window(@Manager).dy - 6*35 - 10)
  • if ($mouse.key & 1) {
  • var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32)
  • drawrect -frn @Manager 16777215 1 0 0 %maxx %maxy
  • if ($readini(Config.ini,Manager,Background)) {
  • var %img = $ifmatch
  • if ($exists(%img)) drawpic -cnms @Manager 0 0 %maxx %maxy $+(",%img,")
  • }
  • var %v1 = $calc(%maxx - 7 * 35 -26), %v2 = $calc(%maxy - 6 * 35 -35)
  • if (!%x) var %x = 10
  • elseif (%x > %v1) var %x = %v1
  • elseif (%x < 5) var %x = 5
  • if (!%y) var %y = $calc(%maxy - 190)
  • elseif (%y > %v2) var %y = %v2
  • elseif (%y < 5) var %y = 5
  • hadd -m Manager Origin %x %y
  • drawcopy -n @Manager.copy.calendar 1 1 265 231 @Manager %x %y
  • manager.encoche
  • drawdot @Manager
  • }
  • else { .timermove.calendar off | manager.copy | writeini -n Config.ini Manager Origin $hget(Manager,Origin) }
  • }
  • ;*********
  • ; Alarmes
  • ;*********
  • on *:start:{
  • .timermanager.alarmes -o 0 7200 manager.alarmes
  • manager.alarmes Prevenir
  • }
  • alias -l manager.alarmes {
  • if (!$hget(ManagerAlarmes)) hmake ManagerAlarmes 10
  • hload -i ManagerAlarmes Manager\Manager.ini Alarmes
  • var %max = $hmatch(ManagerAlarmes,$+(Date:,$date,*),0).data, %i = 1
  • while %i <= %max {
  • unset %heure %nom %du
  • var %hm = $hmatch(ManagerAlarmes,$+(Date:,$date,*),%i).data, %j = $hget(ManagerAlarmes,%hm)
  • var %a = $regex(%j,Heure:([\S]+)), %heure = $regml(1), %c = $ctime(%heure $date)
  • if (%c >= $ctime) var %du = $duration($calc(%c - $ctime))
  • else {
  • remini Manager\Manager.ini %hm
  • hdel ManagerAlarmes %hm
  • unset %heure
  • }
  • var %a = $regex(%j,Nom:([\S]+)), %nom = $regml(1)
  • if ($1 == Prevenir) input.request.ok Vous avez une alarme aujourd'hui $iif(%heure,à %heure (dans $+(%du,$chr(41)))) ! $iif(%nom,$+($chr(40),$ifmatch,$chr(41)))
  • .timeralarme. $+ %i %heure 1 0 manager.alarmes.declencher %hm %nom
  • inc %i
  • }
  • if (!$hget(ManagerListe)) { hmake ManagerListe 20 | hload -i ManagerListe Manager\Manager.ini Hebdo }
  • var %i = 1, %max = $hget(ManagerListe,0).item
  • while %i <= %max {
  • var %r = $hget(ManagerListe,%i).data
  • if ($regex(%r,Jours:([^\s]+))) {
  • var %j = $regml(1), %j2 = $gettok(L-M-W-J-V-S-D,$findtok(Mon-Tue-Wed-Thu-Fri-Sat-Sun,$asctime(ddd),45),45)
  • if (%j2 isin %j) {
  • unset %e %o %s
  • var %e = $regex(%r,Heure:([^\s]+)), %e = $regml(1), %s = $regex(%r,Status:([^\s]+)), %s = $regml(1), %o = $regex(%r,Objet:([^\s]+)), %o = $regml(1)
  • if ((%e) && (%s != 0)) {
  • var %c = $ctime(%e $date)
  • if (%c > $ctime) {
  • var %du = $duration($calc(%c - $ctime))
  • .timeralarmehebdo. $+ %i %e 1 0 manager.alarmes.declencher $hget(ManagerListe,%i).item %o
  • if ($1 == Prevenir) input.request.ok Vous avez une alarme aujourd'hui $iif(%e,à %e (dans $+(%du,$chr(41)))) ! $iif(%o,$+($chr(40),$ifmatch,$chr(41)))
  • }
  • }
  • }
  • }
  • inc %i
  • }
  • }
  • alias -l manager.alarmes.declencher {
  • if (!$readini(Manager\Manager.ini,Config,Alarmes)) return
  • if ($hget(ManagerAlarmes,$1)) hdel ManagerAlarmes $1
  • remini Manager\Manager.ini Alarmes %hm
  • manager.beep Alarme déclenchée : il est $asctime(HH:nn) $iif($2,$+($chr(40),$2-,$chr(41)))
  • if (($window(@Manager)) && (!$hget(Manager,Infos))) manager.calendar $hget(Manager,Month)
  • }
  • alias -l manager.beep {
  • beep 5 1
  • if ($0) hadd -mu5 Manager Temp $1-
  • if ($dialog(manager.beep)) dialog -v manager.beep
  • if (!$dialog(manager.beep)) dialog -rmdao manager.beep manager.beep
  • }
  • dialog manager.beep {
  • title Alarme
  • size -1 -1 150 50
  • option dbu
  • icon ArKanis/Icones/qs.ico
  • button "Alarme" 11, 1 0 149 50, ok default
  • }
  • on *:dialog:manager.beep:init:*:if ($hget(Manager,Temp)) did -o $dname 11 1 $ifmatch
  • alias -l manager.display.zone.alarmes {
  • if ($hget(Manager,Mode) == Alone) {
  • writeini -n Config.ini Manager Mode Big
  • manager -x
  • manager
  • .timer -h 1 1 manager.display.zone.alarmes
  • }
  • unset %img
  • var %r = $manager.width, %maxx = $gettok(%r,1,32), %maxy = $gettok(%r,2,32)
  • if ($readini(Config.ini,Manager,Day)) var %img = $ifmatch
  • if (!$exists(%img)) {
  • drawrect -rn @Manager 0 1 5 5 $calc(%maxx - 10) $calc(%maxy - 10)
  • drawrect -frn @Manager 16777215 1 11 11 $calc(%maxx - 22) $calc(%maxy - 22)
  • }
  • else drawpic -cnms @Manager 10 10 $calc(%maxx - 20) $calc(%maxy - 20) $+(",%img,")
  • var %texte = Alarmes hebdomadaires, %width = $width(%texte,Tahoma,12)
  • manager.button $calc(%maxx / 2 - %width / 2 -6) 20 $calc(%width +11) 25 12 %texte
  • drawline -rn @Manager 0 1 $calc(%maxx / 2 - %width / 2 -2) 38 $calc(%maxx / 2 + %width /2) 38
  • manager.button 200 $calc(%maxy -35) 42 20 10 Ajouter
  • manager.button 15 $calc(%maxy -35) 145 20 10 Sauvegarder les changements
  • var %x1 = 40, %y1 = 50, %x2 = $calc(%maxx - 80), %y2 = $calc(%maxy - 100)
  • drawrect -nr @Manager 0 1 %x1 %y1 %x2 %y2
  • drawrect -nr @Manager 0 1 $calc(%x1 + %x2 -1) %y1 15 %y2
  • drawrect -fnr @Manager 15180752 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 $calc(%y2 -2)
  • hadd -m Manager Asc1 $calc(%x1 + %x2 -1) %y1 15 15
  • drawrect -nr @Manager 0 1 $hget(Manager,Asc1)
  • drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 13
  • hadd -m Manager Asc2 $calc(%x1 + %x2 -1) $calc(%y1 + %y2 -15) 15 15
  • drawrect -nr @Manager 0 1 $hget(Manager,Asc2)
  • drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 + %y2 -14) 13 13
  • hadd -m Manager Liste %x1 %y1 %x2 %y2
  • hadd -m Manager Line 1
  • if ($hget(ManagerListe)) hfree ManagerListe
  • hmake ManagerListe 20
  • hload -i ManagerListe Manager\Manager.ini Hebdo
  • manager.display.alarmes %x1 %y1 %x2 %y2 1
  • titlebar @Manager - Alarmes hebdomadaires
  • hadd -m Manager Config 1
  • drawdot @Manager
  • }
  • alias -l manager.display.alarmes {
  • if ($0 < 5) return
  • var %x1 = $1, %y1 = $2, %x2 = $3, %y2 = $4, %nb = $5
  • drawrect -fnr @Manager 16777215 1 $calc(%x1 +1) $calc(%y1 +1) $calc(%x2 -2) $calc(%y2 -2)
  • var %l = $hget(ManagerListe,0).item, %posy = $calc(%y1 + 17), %width = $calc(%x2 - 6), %posx = $calc(%x1 + 3), %max = $calc(%y1 + %y2 -10)
  • var %1 = $calc(%x1 + %x2 -58), %2 = $calc(%y1 + %y2), %min = $calc(%x1 + %x2 - 7 * 60), %j = 7
  • drawtext -nr @Manager 0 Tahoma 10 $calc(%x1 + 10) $calc(%y1 + 2) Nom de l'alarme
  • drawline -nr @Manager 0 1 %x1 $calc(%y1 + 16) $calc(%x1 + %x2) $calc(%y1 + 16)
  • while %1 >= %min {
  • drawtext -nr @Manager 0 Tahoma 10 $calc(%1 + 5) $calc(%y1 + 2) $gettok(Lundi-Mardi-Mercredi-Jeudi-Vendredi-Samedi-Dimanche,%j,45)
  • drawline -nr @Manager 0 1 %1 %y1 %1 %2
  • dec %1 60
  • dec %j
  • }
  • if ($hget(ManagerList)) hfree ManagerList
  • hmake ManagerList 15
  • var %nb = $hget(Manager,Line)
  • if (!%nb) var %nb = 1
  • drawline -nr @Manager 0 1 $calc(%x1 + 14) $calc(%y1 +17) $calc(%x1 + 14) %2
  • while ((%posy <= %max) && (%nb <= %l)) {
  • var %i = $hget(ManagerListe,%nb).item, %text = $hget(ManagerListe,%i), %n2 = 0
  • if (!%text) inc %posy 10
  • unset %r %s
  • var %d = %posy
  • while ((%text) && (%posy <= %max)) {
  • if ($regex(%text,Jours:([^\s]+))) var %r = $regml(1)
  • if ($regex(%text,Status:([^\s]+))) var %s = $regml(1)
  • var %e = $regsub(%text,Jours:([^\s]+),,%text), %e = $regsub(%text,Status([^\s]+),,%text), %text = $replace(%text,$chr(165),$chr(32))
  • var %n = 2, %m = $len(%text)
  • while (($width($left(%text,$calc(%n +1)),Tahoma,10) <= $calc(%x2 - 7*60 - $iif(%n2 > 0,5,0))) && (%n <= %m)) inc %n
  • if (%s == 0) drawrect -fnr @Manager 11184810 0 $calc(%x1 +15) $calc(%posy + $iif(%posy > 68,1,0)) $calc(%1 +5) $iif(%posy > 68,11,12)
  • drawrect -fnr @Manager 255 1 $calc(%x1 +1) $calc(%posy + $iif(%posy > 68,1,0)) 13 $iif(%posy > 68,11,12)
  • drawtext -nr @Manager 0 Tahoma 10 $calc(%posx + 15+ $iif(%n2 > 0,5,0)) %posy $left(%text,%n)
  • inc %posy 10
  • var %text = $right(%text,$+(-,%n))
  • inc %n2
  • }
  • hadd -m ManagerList $+(%d,-,$calc(%posy +2)) %i
  • inc %nb
  • drawline -nr @Manager 0 1 %x1 $calc(%posy + 2) $calc(%x2 + %x1) $calc(%posy + 2)
  • var %ii = 1, %te = L-M-W-J-V-S-D
  • while %ii <= 7 {
  • if ($gettok(%te,%ii,45) isin %r) drawfill -snr @Manager 16752800 16777215 $calc(%x1 + %x2 - (8 - %ii) * 60 + 5) $calc(%posy - 6)
  • inc %ii
  • }
  • inc %posy 2
  • }
  • if (%nb > %l) hadd -m Manager AscBloque 1
  • }
  • ;********
  • ; Others
  • *********
  • on *:load:{
  • if (!$isalias(input.request.ok)) alias input.request.ok return $input($1-,o)
  • if (!$isalias(input.request.y.n)) alias input.request.y.n return $input($1-,y)
  • if (!$isalias(input.request)) alias input.request return $input($1-)
  • if ($exists(ArKanis/Icones/backgroundManager.jpg)) writeini -n Config.ini Manager Background ArKanis/Icones/backgroundManager.jpg
  • if ($exists(ArKanis/Icones/backgroundDay.jpg)) writeini -n Config.ini Manager Day ArKanis/Icones/backgroundDay.jpg
  • }
  • on *:unload:{
  • .timermanager.* off
  • if ($window(@Manager)) window -c @Manager
  • if ($window(@Manager.copy)) window -c @Manager.copy
  • if ($window(@Manager.copy.calendar)) window -c @Manager.copy.calendar
  • }
  • alias manager.debug {
  • if ($script(Script-ArKanis.mrc)) .disable #inputrequest
  • else .enable #inputrequest
  • return Manager debuggué
  • }
  • #inputrequest off
  • alias input.request.ok {
  • if ($script(Script-ArKanis.mrc)) return
  • return $input($1-,o)
  • }
  • alias input.request.y.n {
  • if ($script(Script-ArKanis.mrc)) return
  • return $input($1-,y)
  • }
  • alias input.request {
  • if ($script(Script-ArKanis.mrc)) return
  • return $input($1-,e)
  • }
  • #inputrequest end
  • ;End Of File
;*********************
; Manager by ArKanis
;   www.arkanis.eu
;       v1.3
;*********************

alias manager {
  if ($window(@Manager)) {
    if ($1 == -x) window -c @Manager
    else window -a @Manager
  }
  else {
    if ($hget(Manager)) hfree Manager
    manager.debug
    hadd -m Manager Date $date
    if ($readini(Config.ini,Manager,Mode) == Alone) {
      window -aBCdg0k0pRz +dl @Manager 0 0 265 230 ArKanis/Icones/qs.ico
      hadd -m Manager Mode Alone
    }
    else {
      hadd -m Manager Mode Big
      var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32)
      window -aBCdg0k0pRz +dl @Manager -1 -1 %maxx %maxy ArKanis/Icones/qs.ico
      drawfill -nr @Manager 0 $getdot(@Manager,5,5) 5 5
      if ($readini(Config.ini,Manager,Background)) {
        var %img = $ifmatch
        if ($exists($ifmatch)) drawpic -cnms @Manager 0 0 %maxx %maxy $+(",%img,")
      }
    }
    manager.calendar
    drawdot @Manager
    manager.copy
    .timermanager.heure 0 1 manager.heure
  }
}
alias -l manager.calendar {
  titlebar @Manager by ArKanis
  if ($hget(Manager,Mode) == Alone) var %ox = 0, %oy = 0, %maxx = 370, %maxy = 230
  else {
    var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32), %origin = $iif($hget(Manager,Origin),$ifmatch,$readini(Config.ini,Manager,Origin)), %ox = $gettok(%origin,1,32), %oy = $gettok(%origin,2,32)
    var %v1 = $calc(%maxx - 7 * 35 -26), %v2 = $calc(%maxy - 6 * 35 -35)
    if (!%ox) var %ox = 10
    elseif (%ox > %v1) var %ox = %v1
    if (!%oy) var %oy = $calc(%maxy - 190)
    elseif (%oy > %v2) var %oy = %v2
  }
  hadd -m Manager Origin %ox %oy
  drawrect -frn @Manager 16777215 1 %ox %oy $calc(35*7 -1) $calc(35*6)
  drawrect -rn @Manager 0 1 $calc(%ox -1) $calc(%oy -1) $calc(35*7 +1) $calc(35*6 +2)
  var %month = $iif($gettok($1,2,47),$ifmatch,$asctime(mm)), %year = $iif($gettok($1,3,47),$ifmatch,$asctime(yyyy))
  var %1st = $ctime($+(01/,%month,/,%year)), %y = %oy, %id = 0
  var %j = $gettok($manager.translate($+(01/,%month,/,%year)),1,32), %i = $findtok(Lundi-Mardi-Mercredi-Jeudi-Vendredi-Samedi-Dimanche,%j,45), %x = $calc(%ox + %i * 35 -35)
  hadd -m Manager 1st %i
  var %max = $gettok($+(30-,$iif($manager.bisex(%year),29,28),-31-30-31-30-31-31-30-31-30-31),%month,45)
  hadd -m Manager Month $+(01/,%month,/,%year)
  while %id < %max {
    var %date = $+($base($calc(%id +1),10,10,2),/,$base(%month,10,10,2),/,%year)
    drawrect -rn @Manager 0 1 %x %y 35 35
    drawrect -frn @Manager $iif(%date == $date,16437970,$iif($lines($+(Manager/,$replace(%date,$chr(47),-),.txt)),12632319,16777215)) 1 $calc(%x +1) $calc(%y +1) 33 33
    drawtext -rn @Manager 0 Tahoma 10 $calc(%x + 5) $calc(%y + 5) $gettok(%date,1-2,47)
    if (!$hget(ManagerAlarmes)) manager.alarmes
    if ($hmatch(ManagerAlarmes,$+(Date:,%date,*),0).data) {
      drawline -rn @Manager 255 1 $calc(%x + 4) $calc(%y + 32) $calc(%x + 8) $calc(%y + 24) $calc(%x + 12) $calc(%y + 32) $calc(%x + 2) $calc(%y + 32)
      drawfill -srn @Manager 255 $getdot(@Manager,$calc(%x + 6),$calc(%y + 30)) $calc(%x + 6) $calc(%y + 30)
    }
    drawline -nr @Manager 15767190 1 $calc(%x + 33) $calc(%y + 23) $calc(%x + 33) $calc(%y + 33) $calc(%x + 23) $calc(%y + 33) $calc(%x + 33) $calc(%y + 23)
    drawfill -snr @Manager 15767190 $getdot(@Manager,$calc(%x + 32),$calc(%y + 32)) $calc(%x + 32) $calc(%y + 32)
    if (7 \\ %i) inc %x 35
    else { var %x = %ox | inc %y 35 }
    inc %id
    inc %i
  }
  drawrect -frn @Manager 0 1 $calc(%ox + 210) $calc(%oy + 175) 35 35
  if ($exists(ArKanis/Icones/engrenage.jpg)) {
    drawpic -cnms @Manager $calc(%ox + 211) $calc(%oy + 176) 33 33 ArKanis/Icones/engrenage.jpg 
  }
  else drawrect -frn @Manager 16755370 1 $calc(%ox + 211) $calc(%oy + 176) 33 33
  if (stop isin $2-) { if (copy isin $2-) { manager.copy } | return }
  var %o1 = $calc(%ox + 7*35 -1), %o2 = $calc(%ox + 7*35), %i = 1, %p1 = $+(%ox,|,$calc(%ox +1),|,%o1,|,%o2,|,%o1,|,%o2,|,%o1,|,%o2,|,%o1,|,%o2)
  var %p2 = $+($calc(%oy + 6*35),|,$calc(%oy + 6*35 +1),|,%oy,|,$calc(%oy +20),|,%oy,|,$calc(%oy +1),|,$calc(%oy + 35*6 -20),|,$calc(%oy + 35*6 -19),|,$calc(%oy + 35*6),|,$calc(%oy + 35*6 +1))
  var %p3 = 245|243|20|18|20|18|20|18|20|18, %p4 = $+(20|18|,$calc(35*6 +20),|,$calc(6*35),|20|18|20|18|20|18), %p5 = $+(0|12706303|0|16448240|0|16435400|0|16435400|0|1317140,$iif($hget(Manager,Mode) == Alone,1,0))
  while %i <= 10 {
    drawrect $iif(2 // %i,-frn,-rn) @Manager $gettok(%p5,%i,124) 1 $gettok(%p1,%i,124) $gettok(%p2,%i,124) $gettok(%p3,%i,124) $gettok(%p4,%i,124)
    inc %i
  }
  manager.heure
  manager.encoche
  if (copy isin $2-) manager.copy
}

;************
; Paramètres
;************
alias -l manager.width {
  if ($hget(Manager,Mode) == Alone) return 264 229
  if (!$hget(Manager,Width)) hadd -m Manager Width $iif($readini(Config.ini,Manager,Width),$ifmatch,800 600)
  var %r = $hget(Manager,Width)
  return $iif($gettok(%r,1,32) isnum 600-1600,$ifmatch,800) $iif($gettok(%r,2,32) isnum 400-1200,$ifmatch,600)
}
alias -l manager.copy {
  var %w = $manager.width, %w1 = $gettok(%w,1,32), %w2 = $gettok(%w,2,32)
  if ($window(@Manager.copy)) window -c @Manager.copy
  window -BCg0hk0pRz +dL @Manager.copy 0 0 %w1 %w2
  drawcopy @Manager 0 0 %w1 %w2 @Manager.copy 0 0
}
alias -l manager.copy.calendar {
  var %w = $hget(Manager,Origin), %w1 = $gettok(%w,1,32), %w2 = $gettok(%w,2,32)
  if ($window(@Manager.copy.calendar)) window -c @Manager.copy.calendar
  if (!$window(@Manager.copy.calendar)) window -BCg0hk0pRz +dL @Manager.copy.calendar 1 1 265 231
  drawcopy @Manager %w1 %w2 265 231 @Manager.copy.calendar 1 1
}
alias -l manager.backup {
  if ($hget(Manager,Date) != $date) {
    manager -x
    manager
  }
  if (!$window(@Manager.copy)) return
  var %w = $manager.width, %w1 = $gettok(%w,1,32), %w2 = $gettok(%w,2,32)
  drawcopy -n @Manager.copy 0 0 %w1 %w2 @Manager 0 0
  titlebar @Manager by ArKanis
}


;******
; Menu
;******
menu @Manager {
  sclick:manager.sclick $mouse.x $mouse.y
  mouse:manager.mouse $mouse.x $mouse.y
  -
  Changer l'Arrière-Plan
  .Général:{
    if (!$input.request.y.n(Voulez-vous vraiment changer l'arrière plan ?)) return
    var %img = $sfile($mircdir,Fichier Image,Sélectionner)
    if (!$exists(%img)) { input.request.ok Ce fichier n'existe pas ! | return }
    writeini -n Config.ini Manager Background %img
    manager -x
    manager
    input.request.ok L'image de fond a correctement été changée.
  }
  .Des informations d'un jour:{
    if (!$input.request.y.n(Voulez-vous vraiment changer l'arrière plan des informations d'un jour ?)) return
    var %img = $sfile($mircdir,Fichier Image,Sélectionner)
    if (!$exists(%img)) { input.request.ok Ce fichier n'existe pas ! | return }
    writeini -n Config.ini Manager Day %img
    input.request.ok L'image de fond a correctement été changée.
  }
  Changer le mode d'affichage:manager.chgmode
  Afficher le calendrier actuel:manager.calendar -3 stop
  $iif($hget(Manager,Infos) || $hget(Manager(Config),$style(2)) Changer la date:{
    var %i = $input.request(Quelle date voulez-vous visionner ?)
    manager.calendar %i stop
  }
  -
  Deplacer $iif($hget(Manager,Infos) || $hget(Manager,Config),la zone de texte,le calendrier):{
    var %nom = $iif($hget(Manager,Infos) || $hget(Manager,Config),la zone de texte,le calendrier)
    if (!$input.request.y.n(Voulez-vous réellement déplacer %nom ?)) return
    input.request.ok Votre prochain clic sur la fenêtre déplacera %nom à cet endroit. Si les calculs indiquent que %nom sortira de la fenêtre, %nom sera déplacé le plus proche possible de l'emplacement souhaité.
    hadd -m Manager Clic 1
  }
  Modifier la taille de la fenêtre:{
    if (!$input.request.y.n(Etes-vous sûr(e) de vouloir redimensionner la fenêtre ?)) return
    var %x = $iif($input.request(Largeur (horizontale) ?) isnum 600-1600,$ifmatch,800)
    var %y = $iif($input.request(Hauteur (Verticale) ?) isnum 400-1200,$ifmatch,600)
    writeini -n Config.ini Manager Width %x %y
    manager -x
    manager
    input.request.ok La taille de la fenêtre a changé
  }
  -
  $iif($readini(Manager\Manager.ini,Config,Alarmes),$style(1) Alarmes activées,Alarmes désactivées):writeini -n Manager\Manager.ini Config Alarmes $iif($readini(Manager\Manager.ini,Config,Alarmes),0,1)
  -
  $iif($hget(Manager,OnTop),$style(1)) On Top:{
    if ($hget(Manager,OnTop)) { hdel Manager OnTop | window -u @Manager }
    else { hadd -m Manager OnTop 1 | window -o @Manager }
  }
  -
  Fermer:window -c @Manager
}
alias -l manager.sclick {
  ;echo -a Souris : $mouse.x $mouse.y - $getdot(@Manager,$mouse.x,$mouse.y)
  var %r = $manager.width, %maxx = $gettok(%r,1,32), %maxy = $gettok(%r,2,32)
  if ($0 < 2) return
  if ($hget(Manager,Clic)) {
    if ($hget(Manager,Infos) || $hget(Manager,Config)) {
      if ($hget(Manager,Clic) == 2) {
        writeini -n Config.ini Manager $+($iif($hget(Manager,Config),Alarm,Infos),Origin) $hget(Manager,Memo) $calc($1 - $gettok($hget(Manager,Memo),1,32)) $calc($2 - $gettok($hget(Manager,Memo),2,32))
        hdel Manager Memo
        hdel Manager Clic
        input.request.ok La position de la zone de texte a correctement été modifiée.
        if ($hget(Manager,Config)) manager.display.zone.alarmes
        else manager.display.day $hget(Manager,DayInfo)
      }
      else {
        hadd -m Manager Memo $1-2
        hadd -m Manager Clic 2
        input.request.ok Votre second clic déterminera la largeur et la hauteur de la zone de texte.
      }
    }
    else {
      writeini -n Config.ini Manager Origin $1-2
      manager -x
      manager
      input.request.ok La position du calendrier a correctement été modifié.
      hdel Manager Clic
    }
  }
  elseif ($hget(Manager,Infos)) {
    if ($inrect($1,$2,15,$calc(%maxy - 35),100,20)) { manager.backup | manager.calendar $hget(Manager,Month) | hdel Manager Infos | drawdot @Manager }
    elseif ($inrect($1,$2,$iif($hget(Manager,Mode) == Alone,120,140),$calc(%maxy -35),80,20)) {
      if (!$isdir(Manager)) .mkdir Manager
      var %file = $+(Manager/,$replace($gettok($hget(Manager,DayInfo),2,32),$chr(47),-),.txt)
      if (!$exists(%file)) write -c %file
      var %m = $lines(%file)
      if (!%m) var %l = 1, %mode = $null
      else {
        var %l = $input.request(Quelle est la ligne à modifier ? Ne mettez rien si vous voulez la mettre à la fin.)
        if (!%l) unset %mode %l
        else var %mode = $iif($input.request.y.n(Souhaitez-vous ajouter une ligne ? Si non : écrire par dessus),il,l)
      }
      if (%mode == il) var %new = $input.request(Evènement à ajouter sur la ligne %l pour le $gettok($hget(Manager,DayInfo),2,32))
      elseif (%mode == l) var %r = $read(%file,%l), %new = $input.request(Evènement à placer sur la ligne %l pour le $gettok($hget(Manager,DayInfo),2,32) - Actuellement $iif(%r,%r,vide))
      else var %new = $input.request(Quel est le nouvel évènement à ajouter ?)
      if (!$input.request.y.n(Etes-vous sûr(e) de vouloir écrire votre nouvel évènement $iif(%l,sur la ligne %l) ?)) return
      if (%l !isnum) var %l = $null, %mode = %l
      if ((%l > %m) && (%l isnum) && (%m isnum)) {
        if ((%mode == il) || (!%mode)) inc %m
        while (%m < %l) {
          write %file $crlf
          inc %m
        }
      }
      write $iif(%mode,$+(-,$iif((%mode == l) && (!%new),dl,%mode),%l)) %file %new
      manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
      drawdot @Manager
    }
    else {
      var %x = $1, %y = $2
      tokenize 32 $hget(Manager,Asc1)
      if ($inrect(%x,%y,$1,$2,$3,$4)) {
        if ($hget(Manager,Line) <= 0) return
        hdec Manager Line 2
        hdel Manager AscBloque
        manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
        drawdot @Manager
      }
      tokenize 32 $hget(Manager,Asc2)
      if ($inrect(%x,%y,$1,$2,$3,$4)) {
        if ($hget(Manager,AscBloque)) return
        hinc Manager Line 2
        manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
        drawdot @Manager
      }
      tokenize 32 $hget(Manager,Liste)
      if ($inrect(%x,%y,$1,$2,$3,$4)) {
        var %n = 1, %max = $hget(ManagerListe,0).item, %i = 0
        while %n <= %max {
          if ($hget(ManagerListe,%n).item <= %y) {
            var %o = $hget(ManagerListe,$ifmatch), %last = $iif(%last > %o,%last,%o)
          }
          else var %i = %last
          inc %n
        }
        if (!%i) var %i = $hget(ManagerListe,0).item
        if (!%i) return
        if (!$input.request.y.n(Voulez-vous opérer une opération de nettoyage sur la ligne %i ?)) return
        if (!$isdir(Manager)) .mkdir Manager
        var %file = $+(Manager/,$replace($gettok($hget(Manager,DayInfo),2,32),$chr(47),-),.txt)
        if (!$exists(%file)) write -c %file
        write $+(-,$iif($input.request.y.n(Effacer la ligne ? Si non : la vider),d),l,%i) %file
        manager.display.texte $hget(Manager,Liste) $hget(Manager,Line)
      }
      drawdot @Manager
    }
  }
  elseif ($hget(Manager,Config)) {
    var %x = $1, %y = $2
    tokenize 32 $hget(Manager,Asc1)
    if ($inrect(%x,%y,$1,$2,$3,$4)) {
      if ($hget(Manager,Line) <= 1) return
      hdec Manager Line 3
      if ($hget(Manager,Line) <= 0) hadd -m Manager Line 1
      hdel Manager AscBloque
      manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
      drawdot @Manager
    }
    tokenize 32 $hget(Manager,Asc2)
    if ($inrect(%x,%y,$1,$2,$3,$4)) {
      if ($hget(Manager,AscBloque)) return
      hinc Manager Line 3
      manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
      drawdot @Manager
    }
    if ($inrect(%x,%y,15,$calc(%maxy - 35),145,20)) { hsave -i ManagerListe Manager\Manager.ini Hebdo | manager.alarmes | manager.backup | manager.calendar $hget(Manager,Month) | hdel Manager Config | drawdot @Manager }
    elseif ($inrect(%x,%y,200,$calc(%maxy -35),42,20)) {
      var %n = $replace($input.request(Quel sera le nom de l'alarme ?),$chr(32),$chr(165))
      var %h = $input.request(Quelle sera l'heure de son déclenchement ?)
      if (!$regex(%h,^([0-1][0-9]|[0-9]|2[0-4]):([0-6][0-9])$)) { input.request.ok Heure invalide | return }
      var %file = Manager\Manager.ini, %nb = $calc($readini(%file,Config,Id) +1)
      writeini -n %file Config Id %nb
      hadd -m ManagerListe %nb $+(Heure:,%h) $+(Objet:,%n)
      manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
      drawdot @Manager
    }
    elseif ($inrect(%x,%y,40,50,$calc(%maxx - 80),$calc(%maxy - 100))) {
      var %n = 1, %max = $hget(ManagerList,0).item, %i = 0, %last = 67
      while %n <= %max {
        var %1 = $gettok($hget(ManagerList,%n).item,1,45), %2 = $gettok($hget(ManagerList,%n).item,2,45)
        if (%y isnum $+(%1,-,%2)) {
          var %old = %last, %last = $hget(ManagerList,%n).item, %i = $hget(ManagerList,%last)
        }
        inc %n
      }
      var %x1 = $gettok($hget(Manager,Liste),1,32), %x2 = $gettok($hget(Manager,Liste),3,32), %y1 = $gettok($hget(Manager,Liste),2,32), %y2 = $gettok($hget(Manager,Liste),4,32), %j = $calc(%x2 + %x1), %jo = 8
      while %x <= %j {
        dec %j 60
        dec %jo
      }
      if (%i) {
        var %j = $gettok(L-M-W-J-V-S-D,%jo,45)
        if ((%jo >= 1) && ($getdot(@Manager,%x,%y) != 0)) {
          var %read = $hget(ManagerListe,%i), %r = $regex(%read,Jours:([^\s]+)), %r = $regml(1), %r2 = $regsub(%read,Jours:([^\s]+),,%re)
          var %mm = $calc(%last - %old), %ll = 59
          if (%jo = 7) dec %ll 3
          if (%j isin %r) {
            var %r = $remtok(%r,%j,1,45), %d = $calc(%x2 - 17 - (7 - %jo) * 60)
            drawfill -nr @Manager 16777215 0 %x %y
            hadd -m ManagerListe %i %re $iif(%r,$+(Jours:,%r))
          }
          else {
            var %r = $addtok(%r,%j,45), %d = $calc(%x2 - 17 - (7 - %jo) * 60)
            drawfill -nr @Manager 16752800 0 %x %y
            hadd -m ManagerListe %i %re $+(Jours:,%r)
          }
        }
        elseif (%jo <= 0) {
          var %read = $hget(ManagerListe,%i), %r = $regex(%read,Status:([^\s]+)), %r = $regml(1), %r2 = $regsub(%read,Status:([^\s]+),,%re)
          if ($getdot(@Manager,%x,%y) == 255) {
            var %h = $regex(%read,Heure:([^\s]+)), %h = $regml(1)
            var %o = $regex(%read,Objet:([^\s]+)), %o = $regml(1)
            if (!$input.request.y.n(Voulez-vous supprimer l'alerte se déclenchant à %h concernant %o ?)) return
            hdel ManagerListe %i
          }
          else {
            hadd -m ManagerListe %i %re $+(Status:,$iif(%r != 0,0,1))
          }
          manager.display.alarmes $hget(Manager,Liste) $hget(Manager,Line)
        }
      }
      drawdot @Manager
    }
  }
  elseif ($manager.case($1,$2)) {
    var %i = $ifmatch, %d = $hget(Manager,Month)
    if (%i == Prev) {
      var %month = $calc($gettok(%d,2,47) -1), %y = $gettok(%d,3,47)
      if (%month <= 0) var %month = 12, %y = $calc(%y -1)
      manager.calendar $+(01/,%month,/,%y) copy stop
    }
    elseif (%i == Next) {
      var %month = $calc($gettok(%d,2,47) +1), %y = $gettok(%d,3,47)
      if (%month >= 13) var %month = 1, %y = $calc(%y +1)
      manager.calendar $+(01/,%month,/,%y) copy stop
    }
    elseif ($gettok(%i,1,32) == Alarme) {
      var %date = $gettok(%i,3,32)
      if (!$isdir(Manager)) .mkdir Manager
      if (!$hget(ManagerAlarmes)) manager.alarmes
      if ($hmatch(ManagerAlarmes,$+(Date:,%date,*),0).data) {
        var %m = $ifmatch, %i = 1
        while %i <= %m {
          var %hm = $hmatch(ManagerAlarmes,$+(Date:,%date,*),%i).data, %j = $hget(ManagerAlarmes,%hm)
          var %a = $regex(%j,Heure:([\S]+)), %heure = $regml(1)
          if ($input.request.y.n(Voulez-vous désactiver l'alarme du %date $iif(%heure,se déclenchant à $+(%heure,$chr(41))) ?)) { remini Manager\Manager.ini Alarmes %hm | hdel ManagerAlarmes %hm }
          inc %i
        }
      }
      else {
        var %u = $+($r(a,z),$r(a,z),$r(a,z),$r(a,z),$r(0,9))
        writeini -n Manager\Manager.ini Alarmes %u $+(Date:,%date) $+(Heure:,$input.request(A quelle heure doit-elle sonner ?)) $+(Nom:,$iif($input.request(Quelle nom donner à l'alarme ?),$ifmatch,1))
        hadd -m ManagerAlarmes %u $readini(Manager\Manager.ini,Alarmes,%u)
        manager.alarmes
      }
      manager.calendar $hget(Manager,Month)
    }
    elseif ($gettok(%i,1,32) == Config) manager.display.zone.alarmes
    elseif ($gettok(%i,1,32) == Texte) {
      if (!$isdir(Manager)) .mkdir Manager
      var %txt = $+(Manager\,$replace($gettok(%i,3-,32),$chr(47),-),.txt)
      if (!$exists(%txt)) write -c %txt
      run %txt
    }
    elseif ($numtok(%i,32) > 1) manager.display.day %i
  }
  elseif ($getdot(@Manager,$1,$2) == 13171400) {
    manager.copy.calendar
    .timermove.calendar -h 0 50 manager.move.calendar $1 $2
  }
  elseif ($getdot(@Manager,$1,$2) == 16448240) manager.chgmode
  elseif ($inpoly($1,$2,$calc(%maxx - 21),%maxy,%maxx,%maxy,%maxx,$calc(%maxy - 21))) .timermove.manager -h 0 0 move.manager $1 $2
}
alias -l manager.mouse {
  if (($timer(move.manager)) || ($timer(move.calendar))) return
  if ($0 < 2) return
  if (!$hget(Manager,Infos) && !$hget(Manager,Config)) {
    if ($manager.case($1,$2)) {
      var %donnees = $ifmatch, %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
      if (%donnees == Prev) var %nom = Cliquez ici pour voir le mois précédent
      elseif (%donnees == Next) var %nom = Cliquez ici pour voir le mois suivant
      elseif ($gettok(%donnees,1,32) == Alarme) {
        if (!$hget(ManagerAlarmes)) manager.alarmes
        var %nom = $iif($hmatch(ManagerAlarmes,$+(Date:,$gettok(%donnees,3,32),*)).data,Désactiver l'alarme du,Mettre une alarme pour le) $manager.translate($gettok(%donnees,3-,32))
      }
      elseif ($gettok(%donnees,1,32) == Config) var %nom = Configurer l'alarme quotidienne
      elseif ($gettok(%donnees,1,32) == Texte) var %nom = Lancer le fichier texte du $manager.translate($gettok(%donnees,3-,32))
      elseif ($gettok(%donnees,2,32)) {
        var %nom = $iif($manager.compare($ifmatch,$date),Planifier la journée du,Consulter le journal du) $manager.translate($gettok(%donnees,2,32))
      }
      drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
      if (%nom) drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 %nom
      else manager.heure force
      drawdot @Manager
      hadd -m Manager Help 1
    }
    elseif ($getdot(@Manager,$1,$2) == 13171400) {
      var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
      drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
      drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 Cliquez ici pour déplacer la fenêtre
      drawdot @Manager
      hadd -m Manager Help 1
    }
    elseif ($getdot(@Manager,$1,$2) == 16448240) {
      var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
      drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
      drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 Changer le mode d'apparence
      drawdot @Manager
      hadd -m Manager Help 1
    }
    elseif ($hget(Manager,Help)) {
      if (!$window(@Manager.copy)) return
      var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
      drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
      drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 $manager.translate($date) - $time
      drawdot @Manager
      hdel Manager Help
    }
  }
}

;******************
; Calculs de temps
;******************
alias -l manager.case {
  if ($0 < 2) return
  var %ox = $gettok($hget(Manager,Origin),1,32), %oy = $gettok($hget(Manager,Origin),2,32)
  if ($inrect($1,$2,$calc(%ox + 210),$calc(%oy + 175),35,35)) return Config %id %e
  elseif (($1 isnum $+(%ox,-,$calc(%ox + 35 * 7))) && ($2 isnum $+(%oy,-,$calc(%oy + 35 * 6)))) {
    var %casex = $gettok($calc(($1 - %ox)/35),1,46), %casey = $gettok($calc(($2 - %oy)/35),1,46), %id = $calc(%casey * 7 + %casex - $hget(Manager,1st) +1)
    var %year = $gettok($hget(Manager,Month),3,47), %month = $gettok($hget(Manager,Month),2,47)
    var %max = $calc($gettok($+(30-,$iif($manager.bisex(%year),29,28),-31-30-31-30-31-31-30-31-30-31),%month,45) -1)
    if (%id !isnum $+(0-,%max)) return
    var %d = $+($base($calc(%id + 1),10,10,2),/,$base(%month,10,10,2),/,$base(%year,10,10,2))
    var %x = $calc(%ox + 35 * %casex), %y = $calc(%oy + 35 * %casey), %e = $iif($gettok(%d,2,47) == %month,%d)
    if ($getdot(@Manager,$1,$2) == 255) return Alarme %id %e
    if ($inpoly($1,$2,$calc(%x + 4),$calc(%y + 32),$calc(%x + 8),$calc(%y + 24),$calc(%x + 12),$calc(%y + 32),$calc(%x + 2),$calc(%y + 32))) return Alarme %id %e
    if ($getdot(@Manager,$1,$2) == 15767190) return Texte %id %e
    if ($inpoly($1,$2,$calc(%x + 23),$calc(%y + 33),$calc(%x + 33),$calc(%y + 33),$calc(%x + 33),$calc(%y + 23))) {
      ;Ce procédé est utile pour ceux qui ont des vieux PC ne pouvant pas correctement récupérer une couleur (comme Wims :D)
      return Texte %id %e
    }
    return %id %e
  }
  elseif ($1 isnum $+($calc(%ox + 35 * 7),-,$calc(%ox + 35 * 7 +19))) {
    if ($2 isnum $+(%oy,-,$calc(%oy +20))) return Prev
    elseif ($2 isnum $+($calc(%oy + 6 * 35 -20),-,$calc(%oy + 6 * 35))) return Next
  }
}
alias -l manager.bisex {
  if (!$1) return
  if (4 // $1) {
    if (100 // $1) {
      if (400 // $1) return 1
      return 0
    }
    return 1
  }
  return 0
}
alias -l manager.translate {
  if (!$1) return
  var %j = $gettok($1,1,47), %m = $gettok($1,2,47), %a = $gettok($1,3,47)
  if (%m < 3) var %n = $calc($int($calc(365.25*(%a - 1))) + $int($calc(30.6*(%m + 13))) + %j - 621049)
  else var %n = $calc($int($calc(365.25 * %a)) + $int($calc(30.6*(%m +1))) + %j - 621049)
  var %d = $calc(%n % 7)
  if (%d == 0) var %d = 7
  return $gettok(Lundi-Mardi-Mercredi-Jeudi-Vendredi-Samedi-Dimanche,%d,45) $int(%j) $gettok(Janvier-Février-Mars-Avril-Mai-Juin-Juillet-Août-Septembre-Octobre-Novembre-Décembre,$int(%m),45) $int(%a)
}
alias -l manager.compare {
  if ($0 < 2) return
  tokenize 47 $+($1,/,$2)
  if ($3 < $6) return 0
  elseif ($3 > $6) return 1
  else {
    if ($2 < $5) return 0
    elseif ($2 > $5) return 1
    else {
      if ($1 < $4) return 0
      return 1
    }
  }
}
;***********************
; Draw (avec option -n)
;***********************
alias -l manager.button {
  if ($0 < 4) return
  drawrect -rn @Manager 0 1 $1-
  drawrect -frn @Manager 12706303 1 $calc($1 +1) $calc($2 +1) $calc($3 -2) $calc($4 -2)
  if (($5 isnum) && ($6-)) drawtext -crn @Manager 0 Tahoma $5 $calc($1 +4) $calc($2 +4) $calc($3 -8) $calc($4 -8) $6-
}
alias -l manager.display.day {
  if (!$0) return
  hadd -m Manager DayInfo $1-
  unset %img
  var %r = $manager.width, %maxx = $gettok(%r,1,32), %maxy = $gettok(%r,2,32), %donnees = $1-
  if ($readini(Config.ini,Manager,Day)) var %img = $ifmatch
  if (!$exists(%img)) {
    drawrect -rn @Manager 0 1 5 5 $calc(%maxx - 10) $calc(%maxy - 10)
    drawrect -frn @Manager 16777215 1 11 11 $calc(%maxx - 22) $calc(%maxy - 22)
  }
  else drawpic -cnms @Manager 10 10 $calc(%maxx - 20) $calc(%maxy - 20) $+(",%img,")
  var %texte = $iif($manager.compare($gettok(%donnees,2,32),$date),Planning,Journal) du $manager.translate($gettok(%donnees,2-,32)), %width = $width(%texte,Tahoma,12)
  manager.button $calc(%maxx / 2 - %width / 2 -6) 20 $calc(%width +11) 25 12 %texte
  drawline -rn @Manager 0 1 $calc(%maxx / 2 - %width / 2 -2) 38 $calc(%maxx / 2 + %width /2) 38
  manager.button $iif($hget(Manager,Mode) == Alone,120,140) $calc(%maxy -35) 80 20 10 Ajouter/Effacer
  manager.button 15 $calc(%maxy -35) 100 20 10 Retour au calendrier
  if ($hget(Manager,Mode) != Alone) {
    var %saint = Saint(e) $readini(ArKanis/saint.ini,$gettok($gettok(%donnees,2,32),2,47),$gettok($gettok(%donnees,2,32),1,47))
    manager.button 245 $calc(%maxy - 35) $calc($width(%saint,Tahoma,10) +8) 20 10 %saint
    if ($readini(Config.ini,Manager,InfosOrigin)) var %x1 = $gettok($ifmatch,1,32), %y1 = $gettok($ifmatch,2,32), %x2 = $gettok($ifmatch,3,32), %y2 = $gettok($ifmatch,4,32)
    var %v1 = $calc(%maxx - 120), %b1 = $calc(%maxy - 120)
    if (!%x1) var %x1 = 50
    if (!%x2) var %x2 = 150
    if (!%y1) var %y1 = 75
    if (!%y2) var %y2 = 300
    if (%x1 < 25) var %x1 = 25
    elseif (%x1 > %v1) var %x1 = %v1
    if (%y1 < 50) var %y1 = 50
    elseif (%y1 > %b1) var %y1 = %b1
    var %v2 = $calc(%maxx - %x1 - 40), %b2 = $calc(%maxy - %y1 - 45)
    if (%x2 > %v2) var %x2 = %v2
    if (%x2 < 95) var %x1 = $calc(%x1 - 95 + %x2), %x2 = 95
    if (%y2 > %b2) var %y2 = %b2
    if (%y2 < 95) var %y1 = $calc(%y1 - 95 + %y2), %y2 = 95
  }
  else var %x1 = 15, %x2 = $calc(%maxx - 45), %y1 = 47, %y2 = 140
  drawrect -nr @Manager 0 1 %x1 %y1 %x2 %y2
  drawrect -nr @Manager 0 1 $calc(%x1 + %x2 -1) %y1 15 %y2
  drawrect -fnr @Manager 15180752 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 $calc(%y2 -2)
  hadd -m Manager Asc1 $calc(%x1 + %x2 -1) %y1 15 15
  drawrect -nr @Manager 0 1 $hget(Manager,Asc1)
  drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 13
  hadd -m Manager Asc2 $calc(%x1 + %x2 -1) $calc(%y1 + %y2 -15) 15 15
  drawrect -nr @Manager 0 1 $hget(Manager,Asc2)
  drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 + %y2 -14) 13 13
  hadd -m Manager Liste %x1 %y1 %x2 %y2
  hadd -m Manager Line 1
  manager.display.texte %x1 %y1 %x2 %y2 1
  titlebar @Manager - $gettok(%donnees,2,32)
  drawdot @Manager
  hadd -m Manager Infos 1
}
alias -l manager.display.texte {
  if ($0 < 5) return
  var %x1 = $1, %y1 = $2, %x2 = $3, %y2 = $4, %nb = $5
  drawrect -fnr @Manager 16777215 1 $calc(%x1 +1) $calc(%y1 +1) $calc(%x2 -2) $calc(%y2 -2)
  if (!$isdir(Manager)) .mkdir Manager
  if ($hget(ManagerListe)) hfree ManagerListe
  var %file = $+(Manager/,$replace($gettok($hget(Manager,DayInfo),2,32),$chr(47),-),.txt), %l = $lines(%file), %posy = $calc(%y1 + 2), %width = $calc(%x2 - 6), %posx = $calc(%x1 + 3), %max = $calc(%y1 + %y2 -10)
  if (%nb <= 0) var %nb = 1
  while ((%posy <= %max) && (%nb <= %l)) {
    var %text = %nb - $read(%file,%nb), %n2 = 0
    if (!%text) inc %posy 10
    while ((%text) && (%posy <= %max)) {
      var %n = 2, %m = $len(%text)
      while (($width($left(%text,$calc(%n +1)),Tahoma,10) <= $calc(%width - $iif(%n2 > 0,5,0))) && (%n <= %m)) inc %n
      drawtext -nr @Manager 0 Tahoma 10 $calc(%posx + $iif(%n2 > 0,5,0)) %posy $left(%text,%n)
      if (%n2 == 0) hadd -m ManagerListe %posy %nb
      inc %posy 10
      var %text = $right(%text,$+(-,%n))
      inc %n2
    }
    inc %nb
  }
  if (%nb > %l) hadd -m Manager AscBloque 1
}
alias -l manager.encoche {
  var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32), %i = 21
  while %i >= 3 {
    drawline -rn @Manager 0 1 $calc(%maxx - %i) %maxy %maxx $calc(%maxy - %i)
    dec %i 3
  }
}
alias -l manager.heure {
  var %r = $hget(Manager,Origin), %ox = $gettok(%r,1,32), %oy = $gettok(%r,2,32)
  if ($1 != force) {
    if (!$window(@Manager)) { .timermanager.heure off | return }
    if (($timer(manager.move)) || ($timer(manager.calendar))) return
    if (($hget(Manager,Infos)) || ($hget(Manager,Config))) return
    if ($getdot(@Manager,$mouse.x,$mouse.y) == 13171400) return
    if ($inrect($mouse.x,$mouse.y,%ox,%oy,$calc(10*35 +20),$calc(6*35))) return
  }
  drawrect -frn @Manager 12706303 1 $calc(%ox +1) $calc(%oy + 6*35 +1) 243 18
  drawtext -crn @Manager 0 Tahoma 10 $calc(%ox +5) $calc(%oy + 6*35 +5) 235 15 $manager.translate($date) - $time
  drawdot @Manager
}
alias -l manager.chgmode {
  writeini -n Config.ini Manager Mode $iif($readini(Config.ini,Manager,Mode) != Alone,Alone,Big)
  manager -x
  manager
}

;******
; Move
;******
alias -l move.manager {
  var %x = $mouse.dx, %y $mouse.dy
  if (!$window(@Manager)) .timermove.manager off
  if ($mouse.key & 1) {
    hadd -m Manager Move 1
    .timermove.manager -h 0 0 move.manager $1-
    window @Manager $calc(%x - $1) $calc(%y - $2)
  }
  elseif ($hget(Manager,Move)) { hdel Manager Move | .timermove.manager off }
}
alias -l manager.move.calendar {
  if (!$window(@Manager.copy.calendar)) return
  var %x = $calc($mouse.dx - $window(@Manager).dx - 7*35 -10), %y = $calc($mouse.dy - $window(@Manager).dy - 6*35 - 10)
  if ($mouse.key & 1) {
    var %d = $manager.width, %maxx = $gettok(%d,1,32), %maxy = $gettok(%d,2,32)
    drawrect -frn @Manager 16777215 1 0 0 %maxx %maxy
    if ($readini(Config.ini,Manager,Background)) {
      var %img = $ifmatch
      if ($exists(%img)) drawpic -cnms @Manager 0 0 %maxx %maxy $+(",%img,")
    }
    var %v1 = $calc(%maxx - 7 * 35 -26), %v2 = $calc(%maxy - 6 * 35 -35)
    if (!%x) var %x = 10
    elseif (%x > %v1) var %x = %v1
    elseif (%x < 5) var %x = 5
    if (!%y) var %y = $calc(%maxy - 190)
    elseif (%y > %v2) var %y = %v2
    elseif (%y < 5) var %y = 5
    hadd -m Manager Origin %x %y
    drawcopy -n @Manager.copy.calendar 1 1 265 231 @Manager %x %y
    manager.encoche
    drawdot @Manager
  }
  else { .timermove.calendar off | manager.copy | writeini -n Config.ini Manager Origin $hget(Manager,Origin) }
}
;*********
; Alarmes
;*********
on *:start:{
  .timermanager.alarmes -o 0 7200 manager.alarmes
  manager.alarmes Prevenir
}
alias -l manager.alarmes {
  if (!$hget(ManagerAlarmes)) hmake ManagerAlarmes 10
  hload -i ManagerAlarmes Manager\Manager.ini Alarmes
  var %max = $hmatch(ManagerAlarmes,$+(Date:,$date,*),0).data, %i = 1
  while %i <= %max {
    unset %heure %nom %du
    var %hm = $hmatch(ManagerAlarmes,$+(Date:,$date,*),%i).data, %j = $hget(ManagerAlarmes,%hm)
    var %a = $regex(%j,Heure:([\S]+)), %heure = $regml(1), %c = $ctime(%heure $date)
    if (%c >= $ctime) var %du = $duration($calc(%c - $ctime))
    else {
      remini Manager\Manager.ini %hm
      hdel ManagerAlarmes %hm
      unset %heure
    }
    var %a = $regex(%j,Nom:([\S]+)), %nom = $regml(1)
    if ($1 == Prevenir) input.request.ok Vous avez une alarme aujourd'hui $iif(%heure,à %heure (dans $+(%du,$chr(41)))) ! $iif(%nom,$+($chr(40),$ifmatch,$chr(41)))
    .timeralarme. $+ %i %heure 1 0 manager.alarmes.declencher %hm %nom
    inc %i
  }
  if (!$hget(ManagerListe)) { hmake ManagerListe 20 | hload -i ManagerListe Manager\Manager.ini Hebdo }
  var %i = 1, %max = $hget(ManagerListe,0).item
  while %i <= %max {
    var %r = $hget(ManagerListe,%i).data
    if ($regex(%r,Jours:([^\s]+))) {
      var %j = $regml(1), %j2 = $gettok(L-M-W-J-V-S-D,$findtok(Mon-Tue-Wed-Thu-Fri-Sat-Sun,$asctime(ddd),45),45)
      if (%j2 isin %j) {
        unset %e %o %s
        var %e = $regex(%r,Heure:([^\s]+)), %e = $regml(1), %s = $regex(%r,Status:([^\s]+)), %s = $regml(1), %o = $regex(%r,Objet:([^\s]+)), %o = $regml(1)
        if ((%e) && (%s != 0)) {
          var %c = $ctime(%e $date)
          if (%c > $ctime) {
            var %du = $duration($calc(%c - $ctime))
            .timeralarmehebdo. $+ %i %e 1 0 manager.alarmes.declencher $hget(ManagerListe,%i).item %o
            if ($1 == Prevenir) input.request.ok Vous avez une alarme aujourd'hui $iif(%e,à %e (dans $+(%du,$chr(41)))) ! $iif(%o,$+($chr(40),$ifmatch,$chr(41)))
          }
        }
      }
    }
    inc %i
  }
}
alias -l manager.alarmes.declencher {
  if (!$readini(Manager\Manager.ini,Config,Alarmes)) return
  if ($hget(ManagerAlarmes,$1)) hdel ManagerAlarmes $1
  remini Manager\Manager.ini Alarmes %hm
  manager.beep Alarme déclenchée : il est $asctime(HH:nn) $iif($2,$+($chr(40),$2-,$chr(41)))
  if (($window(@Manager)) && (!$hget(Manager,Infos))) manager.calendar $hget(Manager,Month)
}
alias -l manager.beep {
  beep 5 1
  if ($0) hadd -mu5 Manager Temp $1-
  if ($dialog(manager.beep)) dialog -v manager.beep
  if (!$dialog(manager.beep)) dialog -rmdao manager.beep manager.beep
}
dialog manager.beep {
  title Alarme
  size -1 -1 150 50
  option dbu
  icon ArKanis/Icones/qs.ico
  button "Alarme" 11, 1 0 149 50, ok default
}
on *:dialog:manager.beep:init:*:if ($hget(Manager,Temp)) did -o $dname 11 1 $ifmatch

alias -l manager.display.zone.alarmes {
  if ($hget(Manager,Mode) == Alone) {
    writeini -n Config.ini Manager Mode Big
    manager -x
    manager
    .timer -h 1 1 manager.display.zone.alarmes
  }
  unset %img
  var %r = $manager.width, %maxx = $gettok(%r,1,32), %maxy = $gettok(%r,2,32)
  if ($readini(Config.ini,Manager,Day)) var %img = $ifmatch
  if (!$exists(%img)) {
    drawrect -rn @Manager 0 1 5 5 $calc(%maxx - 10) $calc(%maxy - 10)
    drawrect -frn @Manager 16777215 1 11 11 $calc(%maxx - 22) $calc(%maxy - 22)
  }
  else drawpic -cnms @Manager 10 10 $calc(%maxx - 20) $calc(%maxy - 20) $+(",%img,")
  var %texte = Alarmes hebdomadaires, %width = $width(%texte,Tahoma,12)
  manager.button $calc(%maxx / 2 - %width / 2 -6) 20 $calc(%width +11) 25 12 %texte
  drawline -rn @Manager 0 1 $calc(%maxx / 2 - %width / 2 -2) 38 $calc(%maxx / 2 + %width /2) 38
  manager.button 200 $calc(%maxy -35) 42 20 10 Ajouter
  manager.button 15 $calc(%maxy -35) 145 20 10 Sauvegarder les changements
  var %x1 = 40, %y1 = 50, %x2 = $calc(%maxx - 80), %y2 = $calc(%maxy - 100)
  drawrect -nr @Manager 0 1 %x1 %y1 %x2 %y2
  drawrect -nr @Manager 0 1 $calc(%x1 + %x2 -1) %y1 15 %y2
  drawrect -fnr @Manager 15180752 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 $calc(%y2 -2)
  hadd -m Manager Asc1 $calc(%x1 + %x2 -1) %y1 15 15
  drawrect -nr @Manager 0 1 $hget(Manager,Asc1)
  drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 +1) 13 13
  hadd -m Manager Asc2 $calc(%x1 + %x2 -1) $calc(%y1 + %y2 -15) 15 15
  drawrect -nr @Manager 0 1 $hget(Manager,Asc2)
  drawrect -fnr @Manager 16240098 1 $calc(%x1 + %x2) $calc(%y1 + %y2 -14) 13 13
  hadd -m Manager Liste %x1 %y1 %x2 %y2
  hadd -m Manager Line 1
  if ($hget(ManagerListe)) hfree ManagerListe
  hmake ManagerListe 20
  hload -i ManagerListe Manager\Manager.ini Hebdo
  manager.display.alarmes %x1 %y1 %x2 %y2 1
  titlebar @Manager - Alarmes hebdomadaires
  hadd -m Manager Config 1
  drawdot @Manager
}
alias -l manager.display.alarmes {
  if ($0 < 5) return
  var %x1 = $1, %y1 = $2, %x2 = $3, %y2 = $4, %nb = $5
  drawrect -fnr @Manager 16777215 1 $calc(%x1 +1) $calc(%y1 +1) $calc(%x2 -2) $calc(%y2 -2)
  var %l = $hget(ManagerListe,0).item, %posy = $calc(%y1 + 17), %width = $calc(%x2 - 6), %posx = $calc(%x1 + 3), %max = $calc(%y1 + %y2 -10)
  var %1 = $calc(%x1 + %x2 -58), %2 = $calc(%y1 + %y2), %min = $calc(%x1 + %x2 - 7 * 60), %j = 7
  drawtext -nr @Manager 0 Tahoma 10 $calc(%x1 + 10) $calc(%y1 + 2) Nom de l'alarme
  drawline -nr @Manager 0 1 %x1 $calc(%y1 + 16) $calc(%x1 + %x2) $calc(%y1 + 16)
  while %1 >= %min {
    drawtext -nr @Manager 0 Tahoma 10 $calc(%1 + 5) $calc(%y1 + 2) $gettok(Lundi-Mardi-Mercredi-Jeudi-Vendredi-Samedi-Dimanche,%j,45)
    drawline -nr @Manager 0 1 %1 %y1 %1 %2
    dec %1 60
    dec %j
  }
  if ($hget(ManagerList)) hfree ManagerList
  hmake ManagerList 15
  var %nb = $hget(Manager,Line)
  if (!%nb) var %nb = 1
  drawline -nr @Manager 0 1 $calc(%x1 + 14) $calc(%y1 +17) $calc(%x1 + 14) %2
  while ((%posy <= %max) && (%nb <= %l)) {
    var %i = $hget(ManagerListe,%nb).item, %text = $hget(ManagerListe,%i), %n2 = 0
    if (!%text) inc %posy 10
    unset %r %s
    var %d = %posy
    while ((%text) && (%posy <= %max)) {
      if ($regex(%text,Jours:([^\s]+))) var %r = $regml(1)
      if ($regex(%text,Status:([^\s]+))) var %s = $regml(1)
      var %e = $regsub(%text,Jours:([^\s]+),,%text), %e = $regsub(%text,Status([^\s]+),,%text), %text = $replace(%text,$chr(165),$chr(32))
      var %n = 2, %m = $len(%text)
      while (($width($left(%text,$calc(%n +1)),Tahoma,10) <= $calc(%x2 - 7*60 - $iif(%n2 > 0,5,0))) && (%n <= %m)) inc %n
      if (%s == 0) drawrect -fnr @Manager 11184810 0 $calc(%x1 +15) $calc(%posy + $iif(%posy > 68,1,0)) $calc(%1 +5) $iif(%posy > 68,11,12)
      drawrect -fnr @Manager 255 1 $calc(%x1 +1) $calc(%posy + $iif(%posy > 68,1,0)) 13 $iif(%posy > 68,11,12)
      drawtext -nr @Manager 0 Tahoma 10 $calc(%posx + 15+ $iif(%n2 > 0,5,0)) %posy $left(%text,%n)
      inc %posy 10
      var %text = $right(%text,$+(-,%n))
      inc %n2
    }
    hadd -m ManagerList $+(%d,-,$calc(%posy +2)) %i
    inc %nb
    drawline -nr @Manager 0 1 %x1 $calc(%posy + 2) $calc(%x2 + %x1) $calc(%posy + 2)
    var %ii = 1, %te = L-M-W-J-V-S-D
    while %ii <= 7 {
      if ($gettok(%te,%ii,45) isin %r) drawfill -snr @Manager 16752800 16777215 $calc(%x1 + %x2 - (8 - %ii) * 60 + 5) $calc(%posy - 6)
      inc %ii
    }
    inc %posy 2
  }
  if (%nb > %l) hadd -m Manager AscBloque 1
}

;********
; Others
*********
on *:load:{
  if (!$isalias(input.request.ok)) alias input.request.ok return $input($1-,o)
  if (!$isalias(input.request.y.n)) alias input.request.y.n return $input($1-,y)
  if (!$isalias(input.request)) alias input.request return $input($1-)
  if ($exists(ArKanis/Icones/backgroundManager.jpg)) writeini -n Config.ini Manager Background ArKanis/Icones/backgroundManager.jpg
  if ($exists(ArKanis/Icones/backgroundDay.jpg)) writeini -n Config.ini Manager Day ArKanis/Icones/backgroundDay.jpg
}
on *:unload:{
  .timermanager.* off
  if ($window(@Manager)) window -c @Manager
  if ($window(@Manager.copy)) window -c @Manager.copy
  if ($window(@Manager.copy.calendar)) window -c @Manager.copy.calendar
}
alias manager.debug {
  if ($script(Script-ArKanis.mrc)) .disable #inputrequest
  else .enable #inputrequest
  return Manager debuggué
}

#inputrequest off
alias input.request.ok {
  if ($script(Script-ArKanis.mrc)) return
  return $input($1-,o)
}
alias input.request.y.n {
  if ($script(Script-ArKanis.mrc)) return
  return $input($1-,y)
}
alias input.request {
  if ($script(Script-ArKanis.mrc)) return
  return $input($1-,e)
}
#inputrequest end
;End Of File

 Conclusion

Je pense très prochainement l'implémenter dans mon add-on Script-ArKanis disponible sur www.arkanis.eu
QS y est déjà.

Si vous disposez de Script-ArKanis, les questions qui vous seront posées seront dans des boîtes de dialogue autres que celles avec $input

D'autres screens de ce Manager :
http://www.arkanis.eu/?page=screen

Pour charger le .mrc, mettez le dossier ArKanis dans votre dossier mIRC et tapez /load -rs ArKanis/Manager.mrc

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

05 juin 2006 02:00:10 :
répétitions de /drawrect et /drawline supprimées (if (2 // %i))
05 juin 2006 19:26:21 :
Affichage du calendrier par mois (et non plus les 40 jours) - Screen non mis à jour
11 juin 2006 16:14:19 :
Ajout d'un système d'alarme - Correction cases - Modification du calcul de temps : actuellement PERPETUEL (thx à Jordane) - Modification des évènements possible avec bloc note (plus rapide)
11 juin 2006 16:16:21 :
Ajout d'un système d'alarme - Correction cases - Modification du calcul de temps : actuellement PERPETUEL (thx à Jordane) - Modification des évènements possible avec bloc note (plus rapide)
18 juin 2006 17:53:04 :
1.3 : Ajout des alarmes hebdomadaires (selon le jour de la semaine). Ajout d'une image accédant à la configuration de ces alarmes

 Sources du même auteur

Source avec Zip EPGUIDES : SORTIES DES SÉRIES
Source avec Zip Source avec une capture BELOTE (MULTIJOUEURS) EN PICWIN
Source avec Zip EDITB - ALIASES FAVORIS DANS L'EDITBOX (SUGGESTION, COMPLETI...
Source avec Zip Source avec une capture METEO, DEPARTEMENTS ET ENSOLEILLEMENT MONDIAL
Source avec Zip OUTILS LINGUISTIQUE (DICTIONNAIRE, TRADUCTEUR, SYNONYMES, SI...

 Sources de la même categorie

BLACKLIST PSEUDOS/MASKS par usurpateur
Source avec une capture [XCHAT] ANTI KICK / AWAY C++ par GeroXXXX
JEU DU CODE par alanpersonproject
SERVEUR FTP par hisoka2501
BANNIR LES AGES, LES HOMMES, LES FEMMES ET PSEUDO AVEC CHIFF... par cougar_du_havre

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LAZER (JEU EN PICWIN) par Zova
Source avec Zip Source avec une capture [DLL] DESSINER COMME LES PICWINS SUR UNE DIALOGBOX (BONUS: J... par uaip
Source avec Zip Source avec une capture PACMAN ONLINE - 4 JOUEURS par wims
SINUSOÏDALE par wims
Source avec Zip Source avec une capture RMS - REMOTE MANAGER SYSTEM (CHARGER, RECHARGER, DÉCHARGER, ... par RCA ArKanis

Commentaires et avis

Commentaire de wims le 06/06/2006 21:06:01

J'avais déja testé, tres pratique si on est over booké ! :(
Bien codé sauf des ptits trucs bizarre :
if ($0 < 2) return et ensuite tu verifis un if ($2), comment ca se fait ?
Il y a un ;echo -a $mouse.x $mouse.y - $getdot(@Manager,$mouse.x,$mouse.y) j'pense que tu l'a oublié

Tu pourrais essayer de faire une alerte sur un on start si l'on a prevus qqch un jour et que l'on lance son mirc ce jour là :)

Commentaire de AgoRa_ScripT le 07/06/2006 14:25:20

"Je doute néanmoins que quelqu'un parmis vous ait déjà prévu quelque chose en 2038"
si jsuis dsl je m'interresse particulièrement aux prochaines eclipses qui auront lieu, c'est nul, ça vaut un 9/10.

Commentaire de fjxokt le 08/06/2006 21:32:55

rah je voulais justement poster un truc du genre :(
Tu m'en veux pas si je le fait quand même ? ;-)
Sinon c'est du beau boulot, même si je trouve que le "font d'écran" est assez inutile
Enfin une bonne source, ça manquait :p

Commentaire de RCA ArKanis le 10/06/2006 12:17:29

rofl ok agora_script, j'essayerai de le faire en perpetuel (faudra calculer les années bisextiles là par contre ^^)

aucun pb fjxokt si le tien est moins bon ;p

wims, je laisse cette ligne parce qu'elle peut toujours être utile :)
toi par exemple avec ton vieux windows 98, tes couleurs ne sont pas les vraies, t'as une marge d'erreur dans le $rgb d'au moins 10 points

"Alert on start", ok pourquoi pas :)
J'pense rendre possible le moyen d'éditer ses évènements non pas seulement en passant par la picwin, mais aussi sous Bloc-Note (ou équivalent) en cliquant sur un bouton (c'était comme ça au début jusqu'à ce que wims me dise de tout faire sous mIRC).
Je trouve ça plus facile que de devoir à chaque fois cliquer sur un bouton "ajouter ligne" ...

en tout cas merci pour ses commentaires :)

Commentaire de RCA ArKanis le 11/06/2006 16:21:48

J'ai pas mal amélioré le système. Il est désormais perpetuel (merci à Jordane)
Les jours sont classés par colonne : les Lundi sont sur la première colonne, Mardi sur la 2e, ...

Il y a également une quasi-infinité d'alarmes qui peuvent être ajoutées pour chaque jour, et qui ouvriront une boîte de dialogue à l'heure souhaitée. Pour cela, cliquez en bas à gauche d'une case (cf screenshot)

On peut également (comme au début) changer les évènements avec Bloc-Note (je trouve ça plus facile et plus rapide). Il suffit pour cela de cliquer en bas à droite de la case (le petit triangle bleu)

J'espère que cette version vous plaira encore plus que la première :p

Concernant le fond d'écran, perso j'aime bien, ça rend la chose plus belle (c'est comme un calendrier où chaque mois on a une nouvelle image)

Je mets à jour les screenshots disponibles sur http://www.arkanis.eu/?page=screen

Commentaire de ChAnG-Fu le 14/06/2006 20:33:03

Ya plein de nouveau par ici - Bonne source, une très bonne suite a l'addon de Kerrigan qui ne faisait helas que calendrié sans autre option.
Petite note tu utilise le writeini, d'un point de vue vitesse c'est un peut lent :)
Je serai plutot pour un chargement de la config en hashtable (hload -i), la config est changé directement en hash puis a la fermeture de la picwin ou du script un petit hsave bien placé.

Je ne note pas, vue que c'est du dejavu, mais ca reste un bon boulot surtout le faite qu'il soit perpétuel.

Fin.

Commentaire de RCA ArKanis le 17/06/2006 15:10:53

Vu le peu de writeini et vu qu'il y a des items que je ne veux pas voir dans le .ini, j'pense que /hsave n'est pas adapté dans ce cas.

Tu ne trouves pas ça original ? Parles-tu sur mIRC ou en général ?
Il est clair que de voir des calendriers, c'est banal, mais sur mIRC, c'est autre chose tu ne trouves pas ?

Sinon, peut-être que tu as des idées de "choses" à rajouter ?
Je pense rajouter une alarme qui peut se déclencher sur les jours de la semaine (du genre tous les lundi, mardi, ...)
J'essaye de faire ça avant dimanche soir ...

Merci pour ton commentaire :)

Commentaire de ChAnG-Fu le 17/06/2006 20:36:49

Nan je suis un amoureux des hashtables tkt pas :) Yen a partout dans mes scripts et ca remplace  toutes mes variables :)
Je ne trouve pas ca original parce que mon frère Kerrigan avais deja fait un calendrier perpétuelle deja bcp plus court.
Mais la partie agenda/organiseur est bien, c'est un plus. Perso je trouve ca un peut inutile dans un mIRC
Lien du calendrier perpetuelle de Kerrigan: http://www.ircfr.com/codes/CALENDRIER-PERPETUEL-PICWIN_25015.aspx

Comme idée de rajout: synchroniseur pour les dates mais je pense pas q'une fonction /setime soit disponible pour changer leur du pc
Autre idée: pouvoir partager nos agenda de la semaine, utile pour deux personnes qui doivent s'organise pour se retrouver :)

Fin

Commentaire de RCA ArKanis le 18/06/2006 17:47:24

J'avais déjà pensé au partage des agendas, lors par exemples de grosses manifestations (présidentielles, JO, coupes du monde, grosses LANs, etc ...), mais j'ai pas le temps de le coder maintenant (et oui, j'suis pas en vacances ...), je le ferai plus tard, si j'suis toujours motivé.

Je viens de faire la partie "alarmes hebdomaires", càd alarmes tous les Lundi, ... comme je l'avais dit dans mon dernier commentaire.

Je mets à jour :)

Commentaire de Dragounix le 30/08/2006 14:53:21

bien fait ton calendrier picwin ^^ 10/10

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

[mega novice] ajout de calendrier dans template ? [ par kep ] Au risque de paraître ridicule, je me lance pour poser une question à laquelle je suppose tout le monde sait répondre, sauf moi biensûr :o) Ayant ouve Dégradé [ par Bloock ] Bon voila, je vais faire un lecteur mp3 en picwin, et j'aimerai savoir comment on fait [/b]un dégradé dans une fenêtre Picwin[/b]! Merci d'avance <img Aide Socket & picwin [ par _VeSpArO_ ] Salut tout le monde je voulai savoir comment stocker un fichier txt d'un site dans un fichier .txt ou autre dans mon mirc.CAD: telecharger par exemple Picwin je pense lol jsuis meme pas sur du nom :s [ par Panther007 ] Salut :) Bon je vous dit en quoi j'aimerais me faire aider , j'aimerais me fabriquer un jeu de Ping pong mais avant il faut que je sache comment utili Dialog + Picwin [ par DiGhan ] Bonjour,Voilà , j'ai plusieurs dialog, dans lequel je voudrais inclure des picwin.J'aimerais savoir comment faire pour bouger le dialog quand la title quelques question [ par KiNdErMaXi ] voila, j'ai quelques questions a vous poser:*1) est-il possible de faire apparaitre un petit truc. Je m'explique, pointez de la souris la croix en hau tutorial picwin [ par KiNdErMaXi ] alors voila j'ai fais un petit tutorial sur les picwin, mais comme on ne peut pas laisser de commentaire et puis qu'il est enfouis dans le fond du sit problème de picwin ... [ par KiNdErMaXi ] Bonsoir :)Alors voila, je trouvais bizarre certain /drawtext sur mon mIRC, alors j'ai tester avec un autre mIRC et la diff&#233;rence est flagrante .. Remplissage rectangle en picwin ? [ par talking ] Voil&#224; bonjour tout le monde. Je poste ce message car j'ai un probl&#233;me lors du remplissage de mon rectangle drawrect . Prenons un exemple. Je Aide dialog => picwin [ par scandalz ] Salut la troupe. Est-ce possible de mettre des pw sur un dialog ?Merci. scandalz


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 1,576 sec (4)

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