Hi All,
I have written a code in tcl which is supposed to open an GUI in which numbers will be entered & after performing selected operation it wil show a result.
#!/usr/local/bin/wish
#package require Tk
#global opr
proc DoOperation {} {
global opr
set fstno [ .entno1 get]
set scdno [ .entno2 get]
set result [expr {$fstno $opr $scdno}]
.entres insert 0 $result
}
proc AddOpr {} {
set opr +
}
proc SubOpr {} {
set opr -
}
proc MulOpr {} {
set opr *
}
proc DivOpr {} {
set opr /
}
###Creation on widgets
wm title . "Wants to create Calculator"
frame .frm
label .labno1 -text "Enter First Number Here: "
label .labno2 -text "Enter Second number Here: "
label .labres -text "Result is : "
entry .entno1
entry .entno2
entry .entres
button .butadd -text "+" -width 4 -command "AddOpr"
button .butneg -text "-" -width 4 -command "SubOpr"
button .butmul -text "*" -width 4 -command "MulOpr"
button .butdiv -text "/" -width 4 -command "DivOpr"
button .butcalc -text "CALCULATE" -command "DoOperation"
button .butext -text "EXIT" -command {exit}
###setting widgets
#grid .but1
grid .labno1 -in .frm -row 1 -column 1 -sticky w
grid .labno2 -in .frm -row 2 -column 1 -sticky w
grid .labres -in .frm -row 3 -column 1 -sticky w
grid .entno1 -in .frm -row 1 -column 2 -sticky e
grid .entno2 -in .frm -row 2 -column 2 -sticky e
grid .entres -in .frm -row 3 -column 2 -sticky e
grid .butadd -in .frm -row 4 -column 1 -padx "0 65" -pady "5 5"
grid .butneg -in .frm -row 4 -column 1 -padx "65 0" -pady "5 5" ;# -columnspan 2
grid .butmul -in .frm -row 4 -column 2 -padx "0 65" -pady "5 5";# -columnspan 2
grid .butdiv -in .frm -row 4 -column 2 -padx "65 0" -pady "5 5"
grid .butcalc -in .frm -row 5 -column 1 -columnspan 1 -pady "5 5"
grid .butext -in .frm -row 5 -column 2 -columnspan 2 -pady "5 5"
pack .frm
Error I am getting is-
syntax error in expression "$fstno $opr $scdno": extra tokens at end of expression
syntax error in expression "$fstno $opr $scdno": extra tokens at end of expression
while executing
"expr {$fstno $opr $scdno}"
(procedure "DoOperation" line 5)
This is the first program I have created after completing my basic training of TCL/Tk so pls forgive me for silly mistakes.
Help appreciated in resolving this error.