Visit Our UNIX and Linux User Community

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.

#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.
# 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. :
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..

# 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.

Previous Thread | Next Thread
Test Your Knowledge in Computers #831
Difficulty: Easy
Asynchronous JavaScript and JSON (or AJAJ) refers to the same dynamic web page methodology as AJAX, but instead of JSON, XML is the data format.
True or False?

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= <domain>?a=12345&b=somestring1&c= (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

Featured Tech Videos