'Calculator
'By SierraKen on July 28, 2020.
'------------------------------
'This is my very first regular calculator.
'Thank you to B+ and TempodiBasic for the help and everyone for the inspiration!
'This was a 3 day project and I've wanted to make this all my life. Ever since I was real little
'playing around with my parents' calculator.
'Thank you Dav for the icon code!
'Just added Clipboard by clicking the output number.
'Just added Rad2Deg (and Deg2Rad), second power, Base 10 Logarithm, and Pi buttons.
'Load the icon - call this somewhere near the top of your program
_TITLE "Calculator - Click output to copy."
'Setup calculator
LINE (50, 75)-(350, 350), _RGB32(255, 255, 255), B
'Buttons
c = c + 10
LINE (buttonx
+ bb
, buttony
+ bb
)-(buttonx
+ 75 - bb
, buttony
+ 55 - bb
), _RGB32(100 + c
, 100 + c
, 100 + c
), B
PAINT (buttonx
+ 12, buttony
+ 12), _RGB32(100 + c
, 100 + c
, 100 + c
) c = 0
buttonx = 275: buttony = 20
'Green C Button
c = c + 10
LINE (buttonx
+ bb
, buttony
+ bb
)-(buttonx
+ 75 - bb
, buttony
+ 55 - bb
), _RGB32(50, 100 + c
, 50), B
PAINT (buttonx
+ 12, buttony
+ 12), _RGB32(50, 100 + c
, 50) c = 0
'Label Buttons
mouseLeftButton = 0
'Clipboard
'Clear
a = 0: s = 0: t = 0: d = 0: num$ = ""
buttonx = 275: buttony = 20
'Rad2Deg and Deg2Rad
rad = rad + 1
deg2rad:
rad = 0
skipdeg2rad:
buttonx = 50: buttony = 350
'Second Power
num = num ^ 2
buttonx = 126: buttony = 350
'logarithm
skiplog:
buttonx = 200: buttony = 350
'Pi
buttonx = 275: buttony = 350
'Square Root
skip1:
buttonx = 50: buttony = 75
'Sine
buttonx = 126: buttony = 75
'Cosine
buttonx = 200: buttony = 75
'Tangent
buttonx = 275: buttony = 75
num$ = num$ + "7"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 50: buttony = 130
num$ = num$ + "8"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 126: buttony = 130
num$ = num$ + "9"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 200: buttony = 130
num$ = num$ + "4"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 50: buttony = 185
num$ = num$ + "5"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 126: buttony = 185
num$ = num$ + "6"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 200: buttony = 185
num$ = num$ + "1"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 50: buttony = 240
num$ = num$ + "2"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 126: buttony = 240
num$ = num$ + "3"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 200: buttony = 240
num$ = num$ + "0"
IF n
= 1 THEN num$
= "-" + num$: n
= 0 buttonx = 50: buttony = 295
'Decimal
buttonx = 126: buttony = 295
num$ = num$ + "."
skipdec:
'Equals
buttonx = 200: buttony = 295
'Add
d = 0: a = 1: s = 0: t = 0
oldnum$ = num$
calc = 1
num$ = ""
num
= VAL(oldnum$
) + VAL(num$
) a = 0
calc = 0
nex4:
buttonx = 275: buttony = 295
'Subtract
d = 0: a = 0: s = 1: t = 0
oldnum$ = num$
calc = 1
num$ = ""
num
= VAL(oldnum$
) - VAL(num$
) s = 0
calc = 0
nex3:
buttonx = 275: buttony = 240
'Multiply
d = 0: a = 0: s = 0: t = 1
oldnum$ = num$
calc = 1
num$ = ""
num
= VAL(oldnum$
) * VAL(num$
) t = 0
calc = 0
nex2:
buttonx = 275: buttony = 185
'Divide
d = 1: a = 0: s = 0: t = 0
oldnum$ = num$
calc = 1
num$ = ""
num
= VAL(oldnum$
) / VAL(num$
) d = 0
calc = 0
nex1:
buttonx = 275: buttony = 130
'For Number Buttons.
number:
'For Math
number2:
'Pressing Each Button
press:
c = 110
c = c - 10
LINE (buttonx
+ bb
, buttony
+ bb
)-(buttonx
+ 75 - bb
, buttony
+ 55 - bb
), _RGB32(100 + c
, 100 + c
, 100 + c
), B
c = c + 10
LINE (buttonx
+ bb
, buttony
+ bb
)-(buttonx
+ 75 - bb
, buttony
+ 55 - bb
), _RGB32(100 + c
, 100 + c
, 100 + c
), B
'Pressing the Green C Button.
zero:
c = 110
c = c - 10
LINE (buttonx
+ bb
, buttony
+ bb
)-(buttonx
+ 75 - bb
, buttony
+ 55 - bb
), _RGB32(50, 100 + c
, 50), B
c = c + 10
LINE (buttonx
+ bb
, buttony
+ bb
)-(buttonx
+ 75 - bb
, buttony
+ 55 - bb
), _RGB32(50, 100 + c
, 50), B
FUNCTION BASIMAGE1&
'calculatio icon data A$ = ""
A$ = A$ + "haIkJ^eBK\557GZJOl02m5YDX5J1A:YC0aGE##Oc?0RUD5A:HDOA=N=2N96`"
A$ = A$ + ";87A#=X?hm4S6=N3_[XV4CRgn4]>co5=SJdI?IR9R7K2lSmNFke\bj?c<[I]"
A$ = A$ + "3QXknHbT9:]dB;Y`kblMd7Tn#B3cF=CZmYb:[Tb<c<Y<b83Ua8c5QJnTNjY["
A$ = A$ + "X[go?_W<f^AbX=I\7O8IGRiA[eSAbZ7[ZZ[nj[?Z`2;DgD#15lTf;ZXRXlc?"
A$ = A$ + "okdUEiL`Q<>Ua]nAb]4c3\?_<S8[;_Z[[4mmQIWMfDNiUg3eeTb\[<1T9\n#"
A$ = A$ + ":\4SR=obhEVAOUX[moCNM[n#j6965KQTImDj:U^BY;mZ[O4j7D>[T3Ukfin\"
A$ = A$ + "eEomg?EB9U`DLa5[#dfRLlm]7mi0PVb:[\R;MmY>o4mUom;D>NbQnn1OoEee"
A$ = A$ + "[kSNee7]lAjKcl=b#03T1o6NcX[Lg:Gjc3mIj[CmEbP_g>jjeLM3Ee5jg0m:"
A$ = A$ + "4DO85DRAaV?IFkER^V#V5TaUnAbU4c3\?WaGln3OT^Jc8gk=gCOLPT=9V7]F"
A$ = A$ + "GRkWOjYWVZYVJ8cV=cSA07;2]l1[okJn=mc6o9IbR9jG=o[4:8V>Lj#EM]jZ"
A$ = A$ + "[B3>hPdHS=6chS?^bX84i3FKTA6Q\Je:3V7;a<F1a2ilJ[]VZj2[=jXSB;_l"
A$ = A$ + "bdNk]7M`17#k_onlX8Dc74S=fH3Jb9WDAGH>\59n?7#<#^RLf[G_JZ[eGOM:"
A$ = A$ + "H`PdeGO=c=gLS#DcW#Q2aJ>JM1KQ37V^mfKe5ARKTSAlA^VBGYdE:Mmg]^6H"
A$ = A$ + "P1X012lRZ;\o\>k\CZWNjQjZ[^hl\nj[WkCIXQ6RlkgOL[[;_lBnk7onLK^i"
A$ = A$ + "VD]eF;eJ[]B]dB;D5ED1O^9;MeNk]CmfK_T=KfX>jX3Zk^kVeDS=f8EGMeAW"
A$ = A$ + "NjY?k[GUFJY\N#O:8VEGMeDIUE6IaRUTV^P]S>j8>o?olcY3?l#nN6TWhh[^"
A$ = A$ + "jZW]^>iTChc3SPc>k<VkO_`o7On:IFgh]FOD_EkkMa5GTOn<JJ^iV5RFnPeA"
A$ = A$ + "]5#\4?m2RYCW>EEG[\b:LmKD_;2AZo92]l1_GX]fJS1ce:Nj5TcNlhAhcGhn"
A$ = A$ + "TiVK>Fo^LiBID4RlIQ5FPVHR9D^?4cQ=]RI\2bETcaBM3<jcW?jR;^P1e65Q"
A$ = A$ + "JnPJck^k^?Z^1\Qed:^J1ba8ilOceiQ_hLR>>RnnN:k8gCTj:JBY[Dj2m5^m"
A$ = A$ + "fKcnnFBGc>k\DiUG>_?UMfIWTR^>nhSiL1m<mBY;DSMZYVRZZZZX]fJ[4^^P"
A$ = A$ + "?XoXIVIVGd[GH_3hMR3?l`lnCBdjJniWWO?WXW_CEgh^gMSn1`i1#>82el1e"
A$ = A$ + "FD[O3\VFaE;#>RL=Fd5je2g3\dB;A^MkFID4Rl1m>j`Q35MQi`VFa<F1iZFm"
A$ = A$ + "7RNRAoff]KG1lOVjn7oDXU?XWKlKS0`L]RWN1i\Xnian_JZYVDf[D4P=AXU?"
A$ = A$ + "Hm6JX1VH9Na3A_o[o3Ph%%L2"
btemp$ = ""
IF F$
<> "%" THEN C$
= C$
+ F$
B&
= B&
* 64 + ASC(MID$(B$
, t%
)) - 48 X$
= X$
+ CHR$(B&
AND 255): B&
= B& \
256