home *** CD-ROM | disk | FTP | other *** search
/ Practical Programming in Tcl & Tk (4th Edition) / TCLBOOK4.BIN / mac / exsource.old / 28_3.tcl < prev    next >
Text File  |  2003-04-15  |  663b  |  30 lines

  1. #
  2. # Example 28-3
  3. # A button associated with a Tcl procedure.
  4. #
  5.  
  6. proc MaxLineLength { file } {
  7.     set max 0
  8.     if [catch {open $file} in] {
  9.         return $in
  10.     }
  11.     foreach line [split [read $in] \n] {
  12.         set len [string length $line]
  13.         if {$len > $max} {
  14.             set max $len
  15.         }
  16.     }
  17.     return "Longest line is $max characters"
  18. }
  19. # Create an entry to accept the file name,
  20. # a label to display the result
  21. # and a button to invoke the action
  22. . config -borderwidth 10
  23. entry .e -width 30 -bg white -relief sunken
  24. button .doit -text "Max Line Length" \
  25.     -command {.label config -text [MaxLineLength [.e get]]}
  26. label .label -text "Enter file name"
  27. pack .e .doit .label -side top -pady 5
  28.  
  29.  
  30.