Public feed
#888854
;Calculator Dialog - By Panda200x
;Load Dialog
alias calcu dialog -m calc calc
;About
dialog aboutboxcalc {
title "Calculator - About"
size -1 -1 126 47
option dbu
text "Calculator dialog box by Panda200x", 1, 5 5 116 8
button "Ok", 3, 4 26 37 12, ok cancel
link "irc://irc.swiftirc.net/panda200x", 4, 5 16 116 8
}
;The Dialog
dialog calc {
title "Calculator"
size -1 -1 189 191
option dbu
button "MRC", 1, 10 30 37 12
button "AC", 2, 142 30 37 12
edit "", 3, 10 7 170 19, multi
button "M+", 4, 54 30 37 12
button "M-", 5, 98 30 37 12
button "7", 6, 10 50 37 12
button "4", 7, 10 70 37 12
button "6", 8, 98 70 37 12
button "9", 9, 98 50 37 12
button "8", 10, 54 50 37 12
button "5", 11, 54 70 37 12
button "1", 12, 10 90 37 12
button "3", 13, 98 90 37 12
button "2", 14, 54 90 37 12
button "0", 15, 10 110 37 12
button ".", 16, 98 110 37 12
button "+/-", 17, 54 110 37 12
button "/", 18, 142 50 37 12
button "*", 19, 142 70 37 12
button "Pi", 20, 10 130 37 12
button "+", 21, 142 90 37 12
button "-", 22, 142 110 37 12
button "Sin", 23, 54 130 37 12
button "Tan", 24, 141 130 37 12
button "Cos", 25, 98 130 37 12
button "Log", 26, 10 150 37 12
button "=", 27, 141 170 37 12
button ")", 28, 98 150 37 12
button "(", 29, 54 150 37 12
button "^(", 30, 141 150 37 12
button "About", 31, 11 170 37 12
button "OK", 32, 98 170 37 12, ok cancel
}
;Calculator Alias
alias calcul {
var %method = $replace($1-,pi,$pi)
var %method = $($replace(%method,sin $+ $chr(40),$chr(32) $+ $chr(36) $+ sin $+ $chr(40)),2)
var %method = $($replace(%method,cos $+ $chr(40),$chr(32) $+ $chr(36) $+ cos $+ $chr(40)),2)
var %method = $($replace(%method,tan $+ $chr(40),$chr(32) $+ $chr(36) $+ tan $+ $chr(40)),2)
var %method = $($replace(%method,log $+ $chr(40),$chr(32) $+ $chr(36) $+ log $+ $chr(40)),2)
return $calc(%method)
}
;All The /did -a
on *:dialog:calc:sclick:12:did -a calc 3 1
on *:dialog:calc:sclick:14:did -a calc 3 2
on *:dialog:calc:sclick:13:did -a calc 3 3
on *:dialog:calc:sclick:7:did -a calc 3 4
on *:dialog:calc:sclick:11:did -a calc 3 5
on *:dialog:calc:sclick:8:did -a calc 3 6
on *:dialog:calc:sclick:7:did -a calc 3 6
on *:dialog:calc:sclick:10:did -a calc 3 8
on *:dialog:calc:sclick:9:did -a calc 3 9
on *:dialog:calc:sclick:15:did -a calc 3 0
on *:dialog:calc:sclick:20:did -a calc 3 pi
on *:dialog:calc:sclick:23:did -a calc 3 sin(
on *:dialog:calc:sclick:24:did -a calc 3 tan(
on *:dialog:calc:sclick:25:did -a calc 3 cos(
on *:dialog:calc:sclick:26:did -a calc 3 log(
on *:dialog:calc:sclick:28:did -a calc 3 )
on *:dialog:calc:sclick:29:did -a calc 3 (
on *:dialog:calc:sclick:27:var %x = $calcul($did(calc,3).text) | did -r calc 3 | did -a calc 3 %x
on *:dialog:calc:sclick:18:did -a calc 3 /
on *:dialog:calc:sclick:19:did -a calc 3 *
on *:dialog:calc:sclick:21:did -a calc 3 +
on *:dialog:calc:sclick:22:did -a calc 3 -
on *:dialog:calc:sclick:17: {
set %l $did(calc,3).text
if ($did(calc,3).text,1) == -) {
var %x = $did(calc,3).text
did -r calc 3
did -a calc 3 $right(%x,$len($calc(%x - 1)))
unset %l
}
elseif ($did(calc,3).text,1) != -) {
var %x = $did(calc,3).text
did -r calc 3
did -a calc 3 - $+ %x
unset %l
}
}
on *:dialog:calc:sclick:16:did -a calc 3 .
on *:dialog:calc:sclick:30:did -a calc 3 ^(
on *:dialog:calc:sclick:31:dialog -m aboutbox aboutboxcalc
;Memory Recall
on *:dialog:calc:sclick:2:did -r calc 3
on *:dialog:calc:sclick:4:set %mem $did(calc,3).text
on *:dialog:calc:sclick:5:unset %mem
on *:dialog:calc:sclick:1:if (%mem) { did -r calc 3 | did -a calc 3 %mem }