⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reader.tcl

📁 genesis 2000 v9.1软件下载
💻 TCL
📖 第 1 页 / 共 2 页
字号:
             return           }          }       if { $READG(OS) == "nt" } {          set ACROBAT_COMMAND [tclu_path_back_to_fore $READG(ACROBAT_COMMAND)]          set COMMAND "\"$ACROBAT_COMMAND\" $FPATH &"       } else {          set COMMAND "$READG(ACROBAT_COMMAND) $FPATH &"}       puts "$COMMAND"       if { [catch {eval "exec $COMMAND"} RESPONSE] } {         tku_popup_message error ok $RESPONSE        } else {         tku_message "Launching Acrobat Reader ; Please wait ..."         tku_cursor_watch                after 5000         tku_message " "         tku_cursor_normal             }     }     ".txt" {        set TMP_PATH [tclu_get_tmp_name "reader"]        copy_file_with_tags $FPATH $TMP_PATH        tku_popup_file $TMP_PATH        catch {file delete $TMP_PATH}     }     default {         tku_popup_message error ok \	     "No viewing program matches the extension\	    \nof this file ($EXTENSION)"     }	  }}#................................................................#proc install_acrobat_reader { ACRO_COMMAND_P } {   global READG   upvar $ACRO_COMMAND_P ACRO_COMMAND         set CHOICE [tku_popup_message question okcancel \      "The specified path: $ACRO_COMMAND\     \ndoes not point to a valid executable program.\     \n\     \nIf you have already installed Acrobat Reader in a different path, \     \nclick 'Cancel' and change the path (located in the\     \n'Acrobat Reader Command' field) to the correct one.\     \n\     \nIf you never installed Acrobat Reader, you may continue to \     \ninstall Acrobat Reader now.\     \n\     \nDo you wish to install Acrobat Reader now ?"]   if { $CHOICE != "ok" } {      return 1   }      set OS $READG(OS)   if { $OS == "nt" } {      set STATUS [install_acrobat_reader_nt ACRO_COMMAND]   } else {      set STATUS [install_acrobat_reader_unix ACRO_COMMAND]   }   return $STATUS}#................................................................#proc install_acrobat_reader_nt { ACRO_COMMAND_P } {   global READG   upvar $ACRO_COMMAND_P ACRO_COMMAND         set OS $READG(OS)   set EXE_PATH [file join [pwd] helpers $OS acrdsrch.exe]   if { ! [file exists $EXE_PATH] } {      tku_popup_message error ok \	 "Sorry, The file $EXE_PATH\	\ndoes not exist"      return 1   }   set DEST_DIR " c:/Progra~1/Adobe/Acroba~1.0/Reader"   set CHOICE [tku_popup_message info okcancel \      "Please specify below the desired path for the Acrobat Reader.\     \nSubsequently, you will be transferred to the Adobe Acrobat Reader\     \nstandard installation process. You will have to accept the license\     \nagreement and re-specify the directory into which the reader is installed.\     \nPlease make sure it is the same as you specified below!" \	       "" DEST_DIR]   if { $CHOICE != "ok" } {      return 1    }   if [catch {eval "exec $EXE_PATH &"} RESPONSE] {      tku_popup_message error ok $RESPONSE      return 1    }   set ACRO_COMMAND [file join $DEST_DIR acrord32]      return 0}#................................................................#proc install_acrobat_reader_unix { ACRO_COMMAND_P } {   global READG   upvar $ACRO_COMMAND_P ACRO_COMMAND            set IS_ROOT [tku_is_root warning]   if { ! $IS_ROOT } {      return 1   }         set OS $READG(OS)   if { $OS == "hp10" } {      set OS "hp9"   }   set DATA_PATH [file join [pwd] helpers $OS acrdsrch.tgz]   if { ! [file exists $DATA_PATH] } {      tku_popup_message error ok \	 "Sorry, The file $DATA_PATH\	\ndoes not exist"      return 1   }         set DEST_TMP_PATH [tclu_get_tmp_name acrobat]   set STATUS [tclu_mkdir $DEST_TMP_PATH 1]   if {$STATUS != 0} {       return 1    }      set CUR_DIR [pwd]   if [ catch {cd $DEST_TMP_PATH} RESPONSE ] {       tku_popup_message error ok $RESPONSE       return 1   }         set PROGRESS_PATH [tclu_get_tmp_name tmp_reader]   set COMMAND [format "%s %s %s | %s | %s %s" \          [file join $READG(TOOLS_PATH) pipe_in.exe] \	  "$DATA_PATH" \          $PROGRESS_PATH    \          [file join $READG(TOOLS_PATH) gunzip.exe] \	  $READG(TAR) "xf -"]   set TITLE "Uncompressing Acrobat Reader..."   set STATUS [tku_long_command $COMMAND $TITLE $READG(W_MESSAGE) \              abort $PROGRESS_PATH]   catch { file delete $PROGRESS_PATH }    if { $STATUS != "ok" } {      catch {cd $CUR_DIR}      catch {file delete -force $DEST_TMP_PATH}      return 1   }   set DEST_DIR "/usr/Acrobat3"   set CHOICE [tku_popup_message info okcancel \      "Please specify below the desired path for the Acrobat Reader.\     \nSubsequently, you will be transferred to the Adobe Acrobat Reader\     \nstandard installation which runs in a separate terminal window.\     \nYou will have to accept the license agreement and re-specify\     \nthe directory into which the reader is installed.\     \nPlease make sure it is the same as you specified below!" \	       "" DEST_DIR]   if { $CHOICE != "ok" } {      catch {cd $CUR_DIR}      catch {file delete -force $DEST_TMP_PATH}      return 1    }   set SCRIPT_PATH [file join $DEST_TMP_PATH INSTALL]   set SH_COMMAND "$READG(XTERM) $SCRIPT_PATH"   puts $SH_COMMAND   if [catch {eval "exec $SH_COMMAND"} RESPONSE] {      tku_popup_message error ok $RESPONSE      catch {cd $CUR_DIR}      catch {file delete -force $DEST_TMP_PATH}      return 1    }   set ACRO_COMMAND [file join $DEST_DIR bin acroread]   catch {cd $CUR_DIR}   catch {file delete -force $DEST_TMP_PATH}      return 0}#................................................................#proc reader.cb_b_copy {} {  global READG  global LI_NAME LI_TYPE LI_FILE LI_PRODUCTS LI_ABSTRACT  set STATUS [check_if_selected]  if { $STATUS != 0 } {     return   }  set FPATH [get_li_file_path $READG(CUR_INDEX)]  set TAIL [file tail $FPATH]         tku_cursor_watch         tku_restore_tk_getOpenFile   set DEST_PATH \     [tk_getSaveFile -initialdir  $READG(COPY_DIR) \                     -initialfile $TAIL]  tku_override_tk_getOpenFile   tku_cursor_normal        if { [string length $DEST_PATH] > 0 } {        set READG(COPY_DIR) [file dirname $DEST_PATH]       if [ file exists $DEST_PATH ] {	  if [ tclu_is_path_dir $DEST_PATH ] {	     set DEST_PATH [file join $DEST_PATH $TAIL]	  }       }       set MESSAGE "Copy file $TAIL to $DEST_PATH ? "       set CHOICE [tku_popup_message question okcancel $MESSAGE]       if { $CHOICE == "ok" } {          tku_message "Copying file ; Please wait ..."          tclu_log_message "copy $FPATH to $DEST_PATH"     	  puts "copy $FPATH to $DEST_PATH"          tku_cursor_watch            set EXTENSION [file extension $FPATH]          switch -- $EXTENSION {               ".txt" { 	          copy_file_with_tags $FPATH $DEST_PATH                      }             default {	         if { [catch { file copy -force $FPATH $DEST_PATH } RESPONSE ] } {	           tku_popup_message error ok $RESPONSE	         }	       }	  }          tku_cursor_normal      	  tku_message " "	         }	    }}#................................................................#proc copy_file_with_tags { IPATH OPATH } {  global READG     set HOSTID [tclu_get_hostid $READG(OS)]   set DATE [clock format [clock seconds] -format "%d %b %Y"]         if {[catch {open $IPATH r} IFP]} {      tku_popup_message error ok $IFP      return 1   }   if {[catch {open $OPATH w} OFP]} {      close $IFP      tku_popup_message error ok $OFP      return 1   }   while {! [eof $IFP]} {     gets $IFP LINE     regsub -all "@N@" $LINE $HOSTID LINE1     regsub -all "@D@" $LINE1 $DATE  NEWLINE     puts $OFP $NEWLINE   }   close $IFP   close $OFP      return 0}#................................................................#proc check_if_selected {} {  global READG       if { $READG(CUR_INDEX) < 0 || $READG(CUR_INDEX) >= $READG(NUM_TITLES) } {     tku_popup_message error ok "No entry is selected"     return 1  }  return 0}#................................................................#proc reader.cb_b_help {} {  global READG      set PATH [file join $READG(INSTALL_PATH) reader.hlp]    tku_popup_file $PATH start "-height 25"}#................................................................#proc reader.cb_b_showlog {} {  global READG       tku_popup_file $READG(LOG_PATH) end}#................................................................#proc reader.cb_b_quit {} {  global READG   set CHOICE yes  set CHOICE [tku_popup_message warning yesno "Really Quit ?"]  if { $CHOICE == "yes" } {     tclu_log_message "End Session."  "underline"          reader.save_user_defaults $READG(DEFAULTS_PATH)    destroy .      exit  }}##################################################################proc  reader.update_display {} {   global READG   global LI_NAME LI_TYPE LI_FILE LI_PRODUCTS LI_ABSTRACT   $READG(W_TITLES) delete 0 end   set CUR_TYPE    [string tolower $READG(TYPE)]      set READG(TITLES_LIST) [list]   for {set INDEX 0} { $INDEX < $READG(NUM_TITLES) } { incr INDEX } {      set TYPE     $LI_TYPE($INDEX)      set PRODUCTS $LI_PRODUCTS($INDEX)      if { $TYPE != $CUR_TYPE } {          continue       }      set ADD_IT 0      foreach PRODUCT $PRODUCTS {	 set UC_PRODUCT [string toupper $PRODUCT]         if { ! [info exists READG($UC_PRODUCT)] } {	   continue 	 }	 if { $READG($UC_PRODUCT) != 0 } {	   set ADD_IT 1	   break 	 }      }      if { $ADD_IT } {         lappend READG(TITLES_LIST) "$LI_NAME($INDEX) ##$INDEX"      }   }   set READG(TITLES_LIST) [lsort $READG(TITLES_LIST)]   set COUNT 0   foreach NAME $READG(TITLES_LIST) {      set TAIL_INDEX [string last "##" $NAME]      $READG(W_TITLES) insert end \         [string range  $NAME 0 [expr $TAIL_INDEX-1]]      incr COUNT   }   switch -- $COUNT {     0 {       set MESSAGE "No titles available"     }     1 {       set MESSAGE "one title is available"     }     default {       set MESSAGE "$COUNT titles are available"     }   }   $READG(W_LCOUNT) configure -text $MESSAGE}##################################################################proc  reader.update_abstract {} {   global READG   global LI_NAME LI_TYPE LI_FILE LI_PRODUCTS LI_ABSTRACT      if { [string length $READG(W_ABSTRACT)] == 0 } {      return    }   $READG(W_ABSTRACT) delete 1.0 end         $READG(W_ABSTRACT) insert 1.0 "\n"         set SEL_LIST [$READG(W_TITLES) curselection]   if { [llength $SEL_LIST] != 1 } {      return    }   set SEL_ITEM [lindex $SEL_LIST 0]   set NAME [lindex $READG(TITLES_LIST) $SEL_ITEM]   set TAIL_INDEX [string last "##" $NAME ]   set INDEX [string range $NAME [expr $TAIL_INDEX+2] end]   set READG(CUR_INDEX) $INDEX   set ABSTRACT $LI_ABSTRACT($INDEX)   set FIRST_NL [string first "\n" $ABSTRACT]   $READG(W_ABSTRACT) insert 1.0 \      "[string range $ABSTRACT 0 [expr $FIRST_NL-1] ]\n" title   $READG(W_ABSTRACT) insert end \      [string range $ABSTRACT [expr $FIRST_NL+1] end]}      ##################################################################proc get_li_file_path { INDEX } {   global READG   global LI_NAME LI_TYPE LI_FILE LI_PRODUCTS LI_ABSTRACT         set TYPE [string tolower $LI_TYPE($INDEX)]   regsub -all { } $TYPE {_} DIR   set FILE $LI_FILE($INDEX)   set PATH [file join $READG(LIT_PATH) $DIR $FILE]   return $PATH}#################################################################### This procedure fills the paths to useful UNIX commands in the# global variable READG according to the operating system on which# the script is running on.## The commands are:#  cat#  chmod#  cp#  dd#  tar#proc reader.set_unix_commands {} {global READG   set COMMANDS [list CAT CHMOD CP DD TAR WHOAMI]   set XTERM_OPTIONS "-sb -sl 400 -e /bin/sh"      switch -- $READG(OS) {     aix {        set READG(CAT)   "/bin/cat"        set READG(CHMOD) "/bin/chmod"        set READG(CP)    "/bin/cp"        set READG(DD)    "/bin/dd"        set READG(TAR)   "/bin/tar"        set READG(WHOAMI) "/bin/whoami"	set READG(XTERM)  "/usr/bin/X11/xterm $XTERM_OPTIONS"     }      hp10 {        set READG(CAT)   "/bin/cat"        set READG(CHMOD) "/bin/chmod"        set READG(CP)    "/bin/cp"        set READG(DD)    "/bin/dd"        set READG(TAR)   "/bin/tar"        set READG(WHOAMI) "/bin/whoami"	set READG(XTERM)  "/usr/bin/X11/xterm $XTERM_OPTIONS"     }     nt {        set READG(CAT)   [file join $READG(TOOLS_PATH) cat.exe]        set READG(CHMOD) [file join $READG(TOOLS_PATH) chmod.exe]        set READG(CP)    [file join $READG(TOOLS_PATH) cp.exe]        set READG(DD)    [file join $READG(TOOLS_PATH) dd.exe]        set READG(TAR)   [file join $READG(TOOLS_PATH) tar.exe]	# No need on NT        set READG(WHOAMI) ""  	set READG(XTERM)  ""     }     solaris {        set READG(CAT)   "/bin/cat"        set READG(CHMOD) "/bin/chmod"        set READG(CP)    "/bin/cp"        set READG(DD)    "/bin/dd"        set READG(TAR)   "/bin/tar"        set READG(WHOAMI)   "/usr/ucb/whoami"	set READG(XTERM)  "/usr/openwin/bin/xterm $XTERM_OPTIONS"     }     linux {        set READG(CAT)   "/bin/cat"        set READG(CHMOD) "/bin/chmod"        set READG(CP)    "/bin/cp"        set READG(DD)    "/bin/dd"        set READG(TAR)   "/bin/tar"        set READG(WHOAMI) "/usr/bin/whoami"	set READG(XTERM)  "/usr/bin/X11/xterm $XTERM_OPTIONS"     }     default {        puts "Illegal operating system: $READG(OS)"	exit 1	     }   }   foreach COMMAND $COMMANDS {        if { $READG($COMMAND) == "" } {	   continue 	}        if { ! [file exists $READG($COMMAND)] } {           puts "The command $READG($COMMAND) does not exist."	   puts "Please remedy and rerun."	   exit 1 	   }        if { ! [file executable $READG($COMMAND)] } {           puts "The command $READG($COMMAND) is not an executable file."	   puts "Please remedy and rerun."	   exit 1 	}   }        tclu_set_commands \     $READG(CAT) $READG(CHMOD) $READG(CP) $READG(DD) $READG(TAR) $READG(WHOAMI)    }################ PATH CREATION ROUTINES #######################set  READG(TOOLS_PATH)    [lindex $argv 0]set  READG(INSTALL_PATH)  [file join [pwd] install]set  READG(OS)            [file tail $READG(TOOLS_PATH)] if { $READG(OS) == "nt" } {  set READG(ACROBAT_COMMAND) "c:/Progra~1/Adobe/Acroba~1.0/Reader/acrord32.exe"  console show}puts " Literature Reader Version $READG(VERSION)"source [file join $READG(INSTALL_PATH) tclu.tcl]source [file join $READG(INSTALL_PATH) tku.tcl]reader.main

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -