Isoraqathedh

xkcd 1017

Aug 20th, 2014
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #SingleInstance force
  2. seasons := {0: "Winter", 1: "Autumn", 2: "Summer", 3: "Spring"}
  3.  
  4. GUI font, s9, Segoe UI
  5. GUI add, DateTime, vFrom, yyyy-MM-dd HH:mm:ss
  6. GUI add, DateTime, vTo x+5 yp Choose20150611130000, yyyy-MM-dd HH:mm:ss
  7. Gui Add, Progress, w600 h20 xm y+5 c00CC00 vRawProgress Range0-100000
  8. Gui Add, Progress, w600 h20 xm y+0 cCCCC00 vRawProgressMagnified Range0-100000
  9. ;Gui Add, Progress, w600 h20 xm y+0 cCC0000 vRawProgressMagnifiedTwice Range0-100000
  10. GUI font, s15, Verdana
  11. GUI add, edit, Center w600 ReadOnly xm y+5 vRawProgressPercent
  12. GUi add, edit, w140 ReadOnly xm y+5 vDispYearNow Right
  13. GUI font, s9, Segoe UI
  14. GUI add, radio, w40 disabled yp x+5 section, Myr
  15. GUI add, radio, w40 disabled xp y+1, kyr
  16. GUI add, radio, w40 disabled ys x+5, BC
  17. GUI add, radio, w40 disabled xp y+1 checked, AD
  18. GUI font, s15, Verdana
  19. GUi add, edit, w140 ReadOnly ys x+5 vDispDateNow Center
  20. GUI font, s9, Segoe UI
  21. GUI add, radio, w40 disabled yp x+5 section checked, date
  22. GUI add, radio, w40 disabled xp y+1, mth
  23. GUI font, s15, Verdana
  24. GUI add, edit, Center w120 ReadOnly ys x+5 vDispTimeNow
  25. GUI font, s9, Segoe UI
  26. GUI add, radio, w40 disabled yp x+5 section checked, time
  27. GUI add, radio, w40 disabled xp y+1, days
  28. GUI font, s9, Segoe UI
  29. GUI font, s15, Verdana
  30. GUi add, edit, w140 ReadOnly xm y+5 vDispYear Right
  31. GUI font, s9, Segoe UI
  32. GUI add, radio, w40 disabled yp x+5 vmyearp section, Myr
  33. GUI add, radio, w40 disabled xp y+1 vkyearp, kyr
  34. GUI add, radio, w40 disabled ys x+5 vbcp, BC
  35. GUI add, radio, w40 disabled xp y+1 vadp checked, AD
  36. GUI font, s15, Verdana
  37. GUi add, edit, w140 ReadOnly ys x+5 vDispDate Center
  38. GUI font, s9, Segoe UI
  39. GUI add, radio, w40 disabled yp x+5 vdtimep section, date
  40. GUI add, radio, w40 disabled xp y+1 vdmonsp, yr
  41. GUI font, s15, Verdana
  42. GUI add, edit, Center w120 ReadOnly ys x+5 vDispTime
  43. GUI font, s9, Segoe UI
  44. GUI add, radio, w40 disabled yp x+5 vttimep section, time
  45. GUI add, radio, w40 disabled xp y+1 vtdaysp, days
  46. GUI add, radio, w40 disabled xp y+1 vtseasp, seas
  47. GUI font, s9, Segoe UI
  48. GUI add, button, xm gReload, Reload
  49. GUI add, button, yp x+5 gRecalculate, Recalculate
  50. GUI Show
  51. SetTimer, SetItems, 1000
  52. Return
  53. Recalculate:
  54.     SetTimer, SetItems, 1000
  55. Return
  56. SetItems:
  57.     GUI submit, NoHide
  58.     now = %A_Now%
  59.     FormatTime, oYear, %now%, yyyy
  60.     FormatTime, oDate, %now%, MMM dd
  61.     FormatTime, oTime, %now%, HH:mm:ss
  62.     GUIControl,, dispYearNow, %oyear%
  63.     GUIControl,, dispDateNow, %oDate%
  64.     GUIControl,, dispTimeNow, %oTime%
  65.     now -= 19700101000000,seconds
  66.     From -= 19700101000000,seconds
  67.     To -= 19700101000000,seconds
  68.     Percentage := (now - from) / (to - from)
  69.     GUIControl,, RawProgress, % Percentage * 100000
  70.     GUIControl,, RawProgressMagnified, % Mod(Percentage * 100000 * 100000, 100000)
  71.     ;GUIControl,, RawProgressMagnifiedTwice, % Mod(Percentage * 1000000 * 10 * 5, 1000000 * 5)
  72.     GUIControl,, RawProgressPercent, % Percentage * 100 "%"
  73.     if Percentage > 1
  74.     {
  75.         MsgBox it's over!
  76.         SetTimer, SetItems, Off
  77.         return
  78.     }  
  79.     TimeBackwards := exp(20.3444 * percentage ** 3 + 3) - exp(3)
  80.     if timeBackwards > 1000000
  81.     {
  82.         millionYearsAgo := Round(timeBackwards / 1000000, 2)
  83.         oddMonths := Mod(timeBackwards, 1000)
  84.         oddDays := Floor(Mod(oddMonths, 1) * 4)
  85.         GUIControl,, dispYear, %millionYearsAgo%
  86.         GuiControl,, Myearp, 1
  87.         GuiControl,, dispDate, % "…" Substr("000" floor(OddMonths), -2)
  88.         GuiControl,, dmonsp, 1
  89.         GUIControl,, dispTime, % seasons[oddDays]
  90.         GuiControl,, tseasp, 1
  91.        
  92.     }
  93.     else if (timeBackwards > 20000)
  94.     {
  95.         yearsAgo := Floor(timeBackwards)
  96.         daysAgo := (timeBackwards - yearsAgo) * 365
  97.         GUIControl,, dispYear, % round(yearsAgo / 1000, 2)
  98.         GUIControl,, kyearp, 1
  99.         GUIControl,, dispDate, and
  100.         GUIControl,, dispTime, % Floor(daysAgo)
  101.         GUIControl,, tdaysp, 1
  102.     }
  103.     else if (timeBackwards > 400)
  104.     {
  105.         years := A_Year - Floor(timeBackwards)
  106.         if (years < 0)
  107.         {
  108.             years *= -1
  109.             GuiControl,, bcp, 1
  110.             GUIcontrol,, DispYear, %years%
  111.         }
  112.         else
  113.         {
  114.             GuiControl,, adp, 1
  115.             GUIcontrol,, DispYear, %years%
  116.         }
  117.         now = %A_Now%
  118.         yearsBack := -(timeBackwards - floor(timeBackwards)) * 365
  119.         EnvAdd now, %yearsBack%, days
  120.         FormatTime, oDate, %now%, MMM dd
  121.         FormatTime, oTime, %now%, HH:mm:ss
  122.         GUIControl,, dispYear, %years%
  123.         GUIControl,, dispDate, %oDate%
  124.         GUIControl,, dispTime, %oTime%
  125.         GUIControl,, ttimep, 1
  126.     }
  127.     else {
  128.         yearsBack := -timeBackwards * 365
  129.         now = %A_Now%
  130.         EnvAdd now, %yearsBack%, days
  131.         ;ToolTip %now%
  132.         FormatTime, oY, %now%, yyyy
  133.         FormatTime, oDate, %now%, MMM dd
  134.         FormatTime, oTime, %now%, HH:mm:ss
  135.         GUIControl,, dispYear, %oY%
  136.         GUIControl,, dispDate, %oDate%
  137.         GUIControl,, dispTime, %oTime%
  138.         GUIControl,, adp, 1
  139.         GUIControl,, ddatep, 1
  140.         GUIControl,, ttimep, 1
  141.     }
  142. Return
  143.  
  144. Reload:
  145. Reload
  146. Return
  147.        
  148. GuiClose:
  149. ExitApp
Advertisement
Add Comment
Please, Sign In to add comment