Re: Metakit and Tcl (and maybe others)
Jean-Claude Wippler <[email protected]>
| Newsgroups | gmane.comp.db.metakit |
|---|---|
| Message-ID | <[email protected]> |
Bob X wrote: > I am using 2.4.9.3 on Windows XP with ActiveTcl. > > I am creating a simple ticket tracker and I defined my view: > > set view [mk::view layout db.tracker "username:S ticket:S recieved:I > closed:I problem:S notes:S status:I"] > > I then append into the view: > > mk::row append $view username "Jeff Walsh" ticket "000001081" recieved > "20040419" closed "20040419" problem "Password locked" notes "Reset > password to Ellipse" status "0" > > I then get errors: > > <error> > expected integer but got "000001058" (looks like invalid octal number) > while executing > "mk::row append $view username "Don Lang" ticket "000001058" recieved > "20040409" closed "20040409" problem "Application is hanging" notes > "Network prob..." > (file "initial_loader.tcl" line 18) > </error> Yes, leading zero's bite when treating a Tcl string as an integer. I'm assuming the "ticket:S" is actually a "ticket:I" in the example you gave - then it would fail. The leading zero defaulting to octal mode is a painful idiosyncrasy of Tcl, see http://mini.net/tcl/498 http://www.tcl.tk/cgi-bin/tct/tip/114.html > I could change it to a String (works that way) but I would like to > leave it an Integer. Are the leading zero's causing the problem? I > have to have those as the program spitting the data out uses those. You can't have your cake and eat it in cases like these :) - either you treat values as integers (which have no knowledge of representation, such as leading zero's) or you stick to a string, which is slower and takes up more space. I tend to use either of two tricks for this: - add 1000000000 to the value and store that (then strip 1st char again on extract to make sure the 0's stay) - convert to int via ... ticket [scan %d "000001058"] ... (and convert back as needed with: "puts [format %9d $value]") -jcw _____________________________________________ Metakit mailing list - [email protected] http://www.equi4.com/mailman/listinfo/metakit