改进一下,可以支持键盘输入,很容易的

解决方案 »

  1.   

    Rebol 的计算器更加简单:REBOL [
    Title: "Calculator"
    Version: 1.2.0
    Date:  2-Apr-2001
    Author: ["Jeff Kreis" "Allen Kamp" "Carl Sassenrath"]
    Purpose: {Simple numeric calculator.}
    File:  %calculator.r
    ]auto-clear: truecalculate: does [
    if error? try [text-box/text: form do text-box/text][
    text-box/text: "Error"
    text-box/color: red
    ]
    auto-clear: true
    show text-box
    ]calculator: layout [   
    style btn button 40x24
    style kc btn brick [text-box/text: copy "0" auto-clear: true show text-box]
    style k= btn [calculate]
    style k  btn [
    if auto-clear [clear text-box/text text-box/color: snow auto-clear: false]
    append text-box/text face/text
    show text-box
    ]
    origin 10
    backcolor rebolor
    space 4
    text-box: field "0" 172x24 bold snow right feel none
    pad 4
    across
    kc "C" keycode [#"C" #"c" page-down]
    k "(" #"("  k ")" #")"  k " / " #"/" return 
    k "7" #"7"  k "8" #"8"  k "9" #"9"  k " * " #"*" return 
    k "4" #"4"  k "5" #"5"  k "6" #"6"  k " - " #"-" return 
    k "1" #"1"  k "2" #"2"  k "3" #"3"  k " + " #"+" return 
    k "0" #"0"  k "-"       k "." #"."
    k= "=" keycode [#"=" #"^m"] return
    key keycode [#"^(ESC)" #"^q"] [quit]
    ]view center-face calculator
      

  2.   

    可以考虑把操作数和被操作数保存起来,这样就能够多次点击操作符,不停的计算结果
      

  3.   

    不错,支持加入键盘输入功能.