;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 }