Accueil > > > MANAGER - CALENDRIER EN PICWIN (PERPETUEL)
MANAGER - CALENDRIER EN PICWIN (PERPETUEL)
Information sur la source
Description
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
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
Sources de la même categorie
Commentaires et avis
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érence est flagrante ..
Remplissage rectangle en picwin ? [ par talking ]
Voilà bonjour tout le monde. Je poste ce message car j'ai un problé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
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|