Preprost kalkulator


to calc
   windowcreate "main "calc [Preprost kalkulator] 0 0 82 130 []
   comboboxcreate "calc "c1 6 6 67 12
   buttoncreate "calc "bd ".  6 64 13 13 [števka ".]
   buttoncreate "calc "b0 "0 20 64 13 13 [števka 0]
   buttoncreate "calc "bn "- 34 64 13 13 [negiraj]
   buttoncreate "calc "b1 "1  6 50 13 13 [števka 1]
   buttoncreate "calc "b2 "2 20 50 13 13 [števka 2]
   buttoncreate "calc "b3 "3 34 50 13 13 [števka 3]
   buttoncreate "calc "b4 "4  6 36 13 13 [števka 4]
   buttoncreate "calc "b5 "5 20 36 13 13 [števka 5]
   buttoncreate "calc "b6 "6 34 36 13 13 [števka 6]
   buttoncreate "calc "b7 "7  6 22 13 13 [števka 7]
   buttoncreate "calc "b8 "8 20 22 13 13 [števka 8]
   buttoncreate "calc "b9 "9 34 22 13 13 [števka 9]
   buttoncreate "calc "bm "* 60 22 13 13 [operator 1]
   buttoncreate "calc "bq "/ 60 36 13 13 [operator 2]
   buttoncreate "calc "ba "+ 60 50 13 13 [operator 3]
   buttoncreate "calc "bs "- 60 64 13 13 [operator 4]
   buttoncreate "calc "be "= 60 80 13 13 [operator 0]
   buttoncreate "calc "bc "Pobriši 6 80 41 13 [pobriši]
   buttoncreate "calc "bend "Zapri 6 100 41 13 [windowdelete "calc]
   pobriši
end

to pobriši
   make "op 0
   make "vnos []
   make "rezultat 0
   comboboxsettext "c1 []
end

to negiraj
   make "vnos :vnos * (-1)
   comboboxsettext "c1 :vnos
end

to števka :arg
   ifelse emptyp :vnos [make "vnos :arg] [make "vnos word :vnos :arg]
   comboboxsettext "c1 :vnos
end

to operator :arg
   if :op = 0 [make "rezultat :vnos]
   if :op = 1 [make "rezultat :rezultat * :vnos]
   if :op = 2 [make "rezultat :rezultat / :vnos]
   if :op = 3 [make "rezultat :rezultat + :vnos]
   if :op = 4 [make "rezultat :rezultat - :vnos]
   comboboxsettext "c1 :rezultat
   make "op :arg
   make "vnos []
end