Syntax error in tcl/tk code


 
Thread Tools Search this Thread
Top Forums Programming Syntax error in tcl/tk code
# 1  
Old 09-30-2009
Question Syntax error in tcl/tk code

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.

Code:
 
#!/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-
Code:
 
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.
# 2  
Old 09-30-2009
hmm - seems to dislike you setting the operator opr as +-*/ etc , then calculating.

you could maybe just rewrite so hitting the opr button does the insert e.g. :
Code:
proc SubOpr {} {
set result [expr { [ .entno1 get]  -   [ .entno2 get]}]
.entres insert 0 $result

And - you could do with a clear operation, or any new reults will be appended to the current string in the result..

HTH
# 3  
Old 09-30-2009
Thanks for the reply.
My actual requirement is selection of math. operator dynamically.
With the option u have given it would not satisfy , sorry.

Please help me to resolve this issue.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Syntax error in code snippet

Hello, I am attaching a code snippet. Some of the variables are set in earlier code like count, arrays harr1, harr2, barr1 and barr2. The code below gives syntax errors. I am very new to Bash. for (( i=0; i<=$(( $count -1 )); i++ )) do #Now read the element at barr2 location i. Also find... (2 Replies)
Discussion started by: ngabrani
2 Replies

2. Shell Programming and Scripting

IF section problem. syntax error: unexpected end of file error

Hello, I have another problem with my script. Please accept my apologies, but I am really nooby in sh scripts. I am writing it for first time. My script: returned=`tail -50 SapLogs.log | grep -i "Error"` echo $returned if ; then echo "There is no errors in the logs" fi And after... (10 Replies)
Discussion started by: jedzio
10 Replies

3. Shell Programming and Scripting

TCL: syntax error in expression with "*"

I'm using tcl scripts in ns2 ( network simulator) through cygwin. It works fine , however, I downloaded an example when i run it , I got the following syntax error: syntax error in expression with " *2" : unexpected operator * while executing : "expr $bw *2" invoked from within: "$ns... (1 Reply)
Discussion started by: ENG_MOHD
1 Replies

4. UNIX for Advanced & Expert Users

Error in tcl script

hi all , i am trying to link a file with another file present in some other location in tcl shell. This is the way i am doing it if {} { file link /data/athena_dev/tanvi/tcl/tanvi.log "/data/athena_dev/tanvi/tanvi.tcl" } I am getting the error that /data/athena_dev/tanvi/tcl/ta nvi.log... (1 Reply)
Discussion started by: harjinder
1 Replies

5. Shell Programming and Scripting

Need help with TCL code to find IP address from a URL

Need help with a a tcl code. Need to find out the ip address from a URL if it is present to do some activity. The URLs will be of the form <domain>?a=12345&d=somestring1(Note: c not present) <domain>?c=10.10.10.100&d=somestring1 <domain>?a=12345&b=somestring1&c=10.1.2.4&d=somestring2... (1 Reply)
Discussion started by: ampak
1 Replies

6. Shell Programming and Scripting

Syntax error calling TCL script from shell script

hello everyone i am beginner on shell scripting .and i am working on my project work on ad hoc network i wrote a batch (.sh) to do a looping and execute a tcl script i wrote before in each iteration ..but i got this problem " syntax error near unexpected token `('... (1 Reply)
Discussion started by: marcoss90
1 Replies

7. Shell Programming and Scripting

Need help line 35: syntax error: unexpected end of file only 34 lines of code

I am not sure what I am doing wrong here, I did some research and only confused myself further. Any help would be greatly appreciated. I need to make this work for work tomorrow. There are only 34 lines of code in this script, yet its complaining about line 35 Here is the code: ... (7 Replies)
Discussion started by: BkontheShell718
7 Replies

8. AIX

nim mksysb error :/usr/bin/savevg[33]: 1016,07: syntax error

-------------------------------------------------------------------------------- Hello, help me please. I am trying to create a mksysb bakup using nim. I am geting this error, how to correct it ? : Command : failed stdout: yes stderr: no... (9 Replies)
Discussion started by: astjen
9 Replies

9. Shell Programming and Scripting

why is this code generating syntax error?pls help

#!/bin/sh copy() { source=`stat -c %s $1` dest=0 cd $2 while ;do cp $1 $2 & pct=`((100 * $dest) / $source )` dest=`dest+1` echo -en ".$pct%\b\b\b" sleep 1 done } echo "starting now" copy /file1 /tmp (3 Replies)
Discussion started by: wrapster
3 Replies

10. UNIX for Dummies Questions & Answers

awk Shell Script error : "Syntax Error : `Split' unexpected

hi there i write one awk script file in shell programing the code is related to dd/mm/yy to month, day year format but i get an error please can anybody help me out in this problem ?????? i give my code here including error awk ` # date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies
Login or Register to Ask a Question