Calculator v1

By Silverwing on Jan 18, 2009

Image

A simple though usefull calculator script.

Copy paste the code in Remote and use the right mouse button menu to launch the Calculator.

Functions overview:

  • Sinus & ArcSinus
  • Cosinus & ArcCosinus
  • Tangens & ArcTangens
  • pi
  • ^ (raise number to Xth power)
  • x² (x squared)
  • sqrt (square root)
  • rnd (round)
  • log (logarithm)
  • abs (absolute number)
  • del (delete last addition)

And ofcourse all basic calculator functions such as +, -, /, *, entering numbers etc.

menu * {
  Silverwing
  .Calculator: /dialog $iif($dialog(CALCULATOR),-vie,-md) CALCULATOR CALCULATOR
}

dialog CALCULATOR {
  title "Calculator"
  size -1 -1 101 138
  option dbu
  edit "", 1, 4 5 93 10, read autohs
  edit "", 35, 4 16 93 10, read autohs right
  button "1", 2, 22 102 15 15
  button "2", 3, 40 102 15 15
  button "3", 4, 58 102 15 15
  button "4", 5, 22 84 15 15
  button "5", 6, 40 84 15 15
  button "6", 7, 58 84 15 15
  button "7", 8, 22 66 15 15
  button "8", 9, 40 66 15 15
  button "9", 10, 58 66 15 15
  button "0", 11, 22 119 15 15
  button ".", 12, 40 119 15 15
  button $chr(247), 13, 82 48 15 15
  button $chr(215), 14, 82 65 15 15
  button $chr(151), 15, 82 83 15 15
  button "+", 16, 82 101 15 15
  button "=", 17, 82 119 15 15
  button "(-)", 18, 58 119 15 15
  button "(", 19, 40 55 15 8
  button ")", 20, 58 55 15 8
  button "sin", 21, 22 33 15 8
  button "cos", 22, 40 33 15 8
  button "tan", 23, 58 33 15 8
  button "asin", 24, 22 44 15 8
  button "acos", 25, 40 44 15 8
  button "atan", 26, 58 44 15 8
  button "pi", 27, 4 33 15 8
  button "^", 28, 4 44 15 8
  button "x²", 29, 4 55 15 8
  button "sq( )", 30, 4 66 15 8
  button "clear", 31, 82 33 15 8
  button "del", 34, 4 126 15 8
  button "log", 36, 4 88 15 8
  button "rnd", 37, 4 77 15 8
  button "abs", 38, 4 99 15 8
  menu "File", 32
  item "Close", 33, 32, ok
}

on *:DIALOG:CALCULATOR:*:*: {
  if ($devent == sclick) {
    if ($did == 2) { /did -a $dname 1 1 | /did -r $dname 35 }
    if ($did == 3) { /did -a $dname 1 2 | /did -r $dname 35 }
    if ($did == 4) { /did -a $dname 1 3 | /did -r $dname 35 }
    if ($did == 5) { /did -a $dname 1 4 | /did -r $dname 35 }
    if ($did == 6) { /did -a $dname 1 5 | /did -r $dname 35 }
    if ($did == 7) { /did -a $dname 1 6 | /did -r $dname 35 }
    if ($did == 8) { /did -a $dname 1 7 | /did -r $dname 35 }
    if ($did == 9) { /did -a $dname 1 8 | /did -r $dname 35 }
    if ($did == 10) { /did -a $dname 1 9 | /did -r $dname 35 }
    if ($did == 11) { /did -a $dname 1 0 | /did -r $dname 35 }
    if ($did == 12) { /did -a $dname 1 . | /did -r $dname 35 }
    if ($did == 13) { /did -a $dname 1 / | /did -r $dname 35 }
    if ($did == 14) { /did -a $dname 1 * | /did -r $dname 35 }
    if ($did == 15) { /did -a $dname 1 - | /did -r $dname 35 }
    if ($did == 16) { /did -a $dname 1 + | /did -r $dname 35 }
    if ($did == 18) { /did -a $dname 1 - | /did -r $dname 35 }
    if ($did == 19) { /did -a $dname 1 ( | /did -r $dname 35 }
    if ($did == 20) { /did -a $dname 1 ) | /did -r $dname 35 }
    if ($did == 27) { /did -a $dname 1 pi | /did -r $dname 35 }
    if ($did == 28) { /did -a $dname 1 ^ | /did -r $dname 35 }
    if ($did == 29) { /did -a $dname 1 ^2 | /did -r $dname 35 }
    if ($did == 31) { /did -r $dname 1 | /did -r $dname 35 }
    if ($did == 34) { /did -ar $dname 1 $left($did(1),-1) | /did -r $dname 35 }
    if ($did == 17) { /did -ar $dname 35 $calc2($did(1)) }
    if ($did == 21) { /did -ar $dname 35 $sin($calc2($did(1))) }
    if ($did == 22) { /did -ar $dname 35 $cos($calc2($did(1))) } 
    if ($did == 23) { /did -ar $dname 35 $tan($calc2($did(1))) } 
    if ($did == 24) { /did -ar $dname 35 $asin($calc2($did(1))) } 
    if ($did == 25) { /did -ar $dname 35 $acos($calc2($did(1))) }  
    if ($did == 26) { /did -ar $dname 35 $atan($calc2($did(1))) }  
    if ($did == 30) { /did -ar $dname 35 $sqrt($calc2($did(1))) } 
    if ($did == 36) { /did -ar $dname 35 $log($calc2($did(1))) }  
    if ($did == 37) { /did -ar $dname 35 $round($calc2($did(1)),$$?="Decimals:") | /dialog -vie $dname $dname }
    if ($did == 38) { /did -ar $dname 35 $abs($calc2($did(1))) } 
  }
}

alias calc2 {
  return $calc($replace($1-,pi,3.141592653589793238462643383))
}

Comments

Sign in to comment.
spermis   -  Feb 10, 2009

if you could make, so anyone can use this by typing into channel !calc , for example !calc 4+2*sqrt(4) , this would be the greatest script :)

 Respond  
Silverwing   -  Jan 24, 2009

Should be fixed now

 Respond  
sercan386   -  Jan 21, 2009

if u didnt notice this, when u put something in $sin(...) like 8/9.23 it won't parse that and you get NOTHING. please add a $calc button for solving these problems.

 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.