Calendar 1.0

By chorao on Jan 02, 2011

##########################################################

Addon: Calendar

Versão: 1.0 (27/12/2010)

Autor: chorao - #Scripts - irc.virtualife.com.br

##########################################################

PRINT: http://img696.imageshack.us/img696/9109/calendak.jpg

  1. FIND THE DATE =}

i like it ;*

##########################################################
## Addon: Calendar                                      ##
## Versão: 1.0 (27/12/2010)                             ##
## Autor: chorao - #Scripts - irc.virtualife.com.br     ##
##########################################################

menu Status,Channel {
  -
  Caledário:
  .Abrir: cal
  .Sobre: {
    echo -a Calendário feito por chorao. 
    echo -a Rede: VirtuaLife / Canal: #Scripts
  }
}

alias cal { if (!$dialog(cal)) { dialog -m cal cal } }
dialog cal {
  title "Calendar"
  size -1 -1 266 275
  radio "", 1, 19 136 30 20, push,hide
  radio "", 2, 51 136 30 20, push,hide
  radio "", 3, 83 136 30 20, push,hide
  radio "", 4, 115 136 30 20, push,hide
  radio "", 5, 147 136 30 20, push,hide
  radio "", 6, 179 136 30 20, push,hide
  radio "", 7, 211 136 30 20, push,hide
  radio "", 8, 19 157 30 20, push,hide
  radio "", 9, 51 157 30 20, push,hide
  radio "", 10, 83 157 30 20, push,hide
  radio "", 11, 115 157 30 20, push,hide
  radio "", 12, 147 157 30 20, push,hide
  radio "", 13, 179 157 30 20, push,hide
  radio "", 14, 211 157 30 20, push,hide
  radio "", 15, 19 178 30 20, push,hide
  radio "", 16, 51 178 30 20, push,hide
  radio "", 17, 83 178 30 20, push,hide
  radio "", 18, 115 178 30 20, push,hide
  radio "", 19, 147 178 30 20, push,hide
  radio "", 20, 179 178 30 20, push,hide
  radio "", 21, 211 178 30 20, push,hide
  radio "", 22, 19 199 30 20, push,hide
  radio "", 23, 51 199 30 20, push,hide
  radio "", 24, 83 199 30 20, push,hide
  radio "", 25, 115 199 30 20, push,hide
  radio "", 26, 147 199 30 20, push,hide
  radio "", 27, 179 199 30 20, push,hide
  radio "", 28, 211 199 30 20, push,hide
  radio "", 29, 19 220 30 20, push,hide
  radio "", 30, 51 220 30 20, push,hide
  radio "", 31, 83 220 30 20, push,hide
  radio "", 32, 115 220 30 20, push,hide
  radio "", 33, 147 220 30 20, push,hide
  radio "", 34, 179 220 30 20, push,hide
  radio "", 35, 211 220 30 20, push,hide
  radio "", 36, 19 240 30 20, push
  text "S", 38, 29 113 12 16, center
  text "M", 39, 59 113 12 16, center
  text "T", 40, 91 113 12 16, center
  text "W", 41, 123 113 12 16, center
  text "T", 42, 155 113 12 16, center
  text "F", 43, 187 113 12 16, center
  text "S", 44, 219 113 12 16, center
  box "Calendar", 45, 6 6 249 263
  button "<", 56, 19 56 33 22
  combo 54, 56 80 150 100, size drop
  button "<", 53, 19 80 33 22
  combo 57, 56 58 150 100, size drop
  button ">", 55, 209 80 33 22
  button ">", 58, 209 57 33 22
  text "Data:", 59, 22 27 30 22
  edit "", 60, 56 25 80 20,limit 10,center
  button "Find", 61, 138 24 55 22
  button "Today", 62, 196 24 50 22
}

on *:dialog:cal:init:*:{
  did -a cal 60 $date
  var %i = 1 | while (%i <= 12) { did -a cal 57 $asctime($ctime($date(dd) $+ / $+ %i $+ / $+ $date(yyyy)),mmmm) | inc %i }
  var %v = 1970 | while (%v <= 2037) { did -a cal 54 %v | inc %v  } 
  did -c cal 57 $date(m)
  did -c cal 54 $calc(($date(yyyy) - 1970) + 1))
  cal_mes
}

on *:dialog:cal:sclick:1-36:{
  set %cal_dia $did
}

on *:dialog:cal:sclick:53:{
  did -c cal 54 $iif(!$calc($did(cal,54).sel - 1),1, $calc($did(cal,54).sel -1))
  cal_mes
}

on *:dialog:cal:sclick:54,57:{
  did -uh cal 1-36
  set %cf 31
  cal_mes
}

on *:dialog:cal:sclick:55:{
  did -c cal 54 $iif($did(cal,54).sel == 12,12, $calc($did(cal,54).sel + 1))
  cal_mes
}

on *:dialog:cal:sclick:56:{
  did -c cal 57 $iif(!$calc($did(cal,57).sel - 1),1, $calc($did(cal,57).sel -1))
  cal_mes
}

on *:dialog:cal:sclick:58:{
  did -c cal 57 $iif($did(cal,57).sel == 12,12, $calc($did(cal,57).sel + 1))
  cal_mes
}

on *:dialog:cal:edit:60:{
  if ($right($did(60).text,1) isnum) {
    if ($did(60,1).len == 2) { did -a cal 60 $chr(47) }
    if ($did(60,1).len == 5) { did -a cal 60 $chr(47) }
  }
  else { did -ra cal 60 $left($did(60).text,-1) }
}

on *:dialog:cal:sclick:61:{ 
  mes_ano 
}

on *:dialog:cal:sclick:62:{ 
  did -ra cal 60 $date
  mes_ano 
}

alias mes_ano {
  var %x = 1
  while (%x <= 12) {
    if (%x == $mid($did(60),4,2)) {
      did -c cal 57 %x
    }
    inc %x
  }
  var %u = 1
  while (%u <= 68) {
    if ($did(cal,54,%u) == $right($did(cal,60),4)) {
      did -c cal 54 %u
    }
    inc %u
  }
  cal_mes
}

alias cal_mes { 
  set %cal_semana Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
  did -uh cal 1-36 
  var %v = $findtok(%cal_semana,$date($ctime(01/ $+ $did(cal,57).sel $+ / $+ $did(cal,54)),dddd),44) 
  var %d = 1 
  if ($did(cal,57).sel == 2) { set %cf $iif($ctime(29/2/ $+ $did(cal,54)),29,28) }
  else { set %cf $iif($ctime(31/ $+ $did(cal,57).sel $+ / $+ $did(cal,54)),31,30) }
  while (%v <= 36) { did -va cal %v %d 
    if (%d ==  $iif($left($did(60),2),$v1,$date(d))) { 
    did -c cal %v } 
    inc %v 
    $iif(%d < %cf, inc %d, halt) 
  } 
} 

Comments

Sign in to comment.
IllogicTC   -  Jan 03, 2011

An interesting concept, building a concept out of a dialog without DLLs (such as DCX).

Using Radios for dates, this is easily upgradable to form a calendar where you can mark down important dates, and maybe even set up reminders at certain times of said dates.

Good work.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.