browse
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #!/bin/sh
  2. # the next line restarts using wish 
  3. exec wish "$0" ${1+"$@"}
  4. # browse --
  5. # This script generates a directory browser, which lists the working
  6. # directory and allows you to open files or subdirectories by
  7. # double-clicking.
  8. #
  9. # RCS: @(#) $Id: browse,v 1.4 2001/11/05 10:13:53 dkf Exp $
  10. # Create a scrollbar on the right side of the main window and a listbox
  11. # on the left side.
  12. scrollbar .scroll -command ".list yview"
  13. pack .scroll -side right -fill y
  14. listbox .list -yscroll ".scroll set" -relief sunken -width 20 -height 20 
  15. -setgrid yes
  16. pack .list -side left -fill both -expand yes
  17. wm minsize . 1 1
  18. # The procedure below is invoked to open a browser on a given file;  if the
  19. # file is a directory then another instance of this program is invoked; if
  20. # the file is a regular file then the Mx editor is invoked to display
  21. # the file.
  22. set browseScript [file join [pwd] $argv0]
  23. proc browse {dir file} {
  24.     global env browseScript
  25.     if {[string compare $dir "."] != 0} {set file $dir/$file}
  26.     switch [file type $file] {
  27. directory {
  28.     exec [info nameofexecutable] $browseScript $file &
  29. }
  30. file {
  31.     if {[info exists env(EDITOR)]} {
  32. eval exec $env(EDITOR) $file &
  33.     } else {
  34. exec xedit $file &
  35.     }
  36. }
  37. default {
  38.     puts stdout ""$file" isn't a directory or regular file"
  39. }
  40.     }
  41. }
  42. # Fill the listbox with a list of all the files in the directory.
  43. if {$argc>0} {set dir [lindex $argv 0]} else {set dir "."}
  44. foreach i [lsort [glob * .* *.*]] {
  45.     if {[file type $i] eq "directory"} {
  46. # Safe to do since it is still a directory.
  47. append i /
  48.     }
  49.     .list insert end $i
  50. }
  51. # Set up bindings for the browser.
  52. bind all <Control-c> {destroy .}
  53. bind .list <Double-Button-1> {foreach i [selection get] {browse $dir $i}}
  54. # Local Variables:
  55. # mode: tcl
  56. # End: