Diff for /capa/capa51/GUITools/classl.tcl between versions 1.1 and 1.2

version 1.1, 1999/09/28 21:25:36 version 1.2, 2000/02/22 18:10:27
Line 72  proc createClasslEditor { classlFile } { Line 72  proc createClasslEditor { classlFile } {
     button $actionFrame.sort -text "Sort" -command "classlSort $num"      button $actionFrame.sort -text "Sort" -command "classlSort $num"
     button $actionFrame.print -text "Print" -command "classlPrint $num"      button $actionFrame.print -text "Print" -command "classlPrint $num"
     button $actionFrame.find -text "Find" -command "classlFind $num"      button $actionFrame.find -text "Find" -command "classlFind $num"
       button $actionFrame.merge -text "Merge" -command "classlMerge $num"
     pack $actionFrame.add $actionFrame.edit $actionFrame.delete $actionFrame.section \      pack $actionFrame.add $actionFrame.edit $actionFrame.delete $actionFrame.section \
  $actionFrame.sort $actionFrame.print $actionFrame.find -side left   $actionFrame.sort $actionFrame.print $actionFrame.find $actionFrame.merge\
    -side left
   
 #window  #window
     set leftFrame [frame $windowFrame.left]      set leftFrame [frame $windowFrame.left]
Line 738  proc classlDoFind { num type } { Line 740  proc classlDoFind { num type } {
  incr which   incr which
     }      }
     set max [$gClassl($num) index end]      set max [$gClassl($num) index end]
     for {set i 0} { $i < ($max-1)} {incr i} {      for {set i 0} { $i < ($max)} {incr i} {
  set current [expr ($i+$which)%$max]   set current [expr ($i+$which)%$max]
  puts -nonewline "$current:"  
  set entry [$gClassl($num) get $current]   set entry [$gClassl($num) get $current]
  switch $type {   switch $type {
     name { set tmp [string range [$gClassl($num) get $current] 24 53] }      name { set tmp [string range [$gClassl($num) get $current] 24 53] }
Line 751  proc classlDoFind { num type } { Line 752  proc classlDoFind { num type } {
     $gClassl($num) selection clear 0 end      $gClassl($num) selection clear 0 end
     $gClassl($num) selection set $current      $gClassl($num) selection set $current
     $gClassl($num) see $current      $gClassl($num) see $current
     puts " "  
     return      return
  }   }
     }      }
     displayMessage "Not Found"      displayMessage "Not Found"
   }
   
   ###########################################################
   # classlMerge
   ###########################################################
   ###########################################################
   ###########################################################
   proc classlMerge { num } {
       global gClassl 
   
       set filename [tk_getOpenFile -title "Select a File to merge in"]
   
       if { $filename == "" } { return }
       set fileId [open $filename "r"]
       set maxlines [lindex [exec wc -l $filename] 0]
       set linenum 0
       set newentries 0
       displayStatus "Merging $filename" both $num
       set aline [gets $fileId]
       while {![eof $fileId]} {
    incr linenum
    set found 0
    set stunum [string range $aline 14 22]
    set max [$gClassl($num) index end]
    for {set i 0} { $i < ($max)} {incr i} {
       set tmp [string range [$gClassl($num) get $i] 14 22]
       if { [regexp -nocase $stunum $tmp] } { 
    set found 1
    break 
       }
    }
    if { !$found } { 
       incr newentries
       $gClassl($num) insert end $aline 
    }
    updateStatusBar [expr $linenum/double($maxlines)] $num
    set aline [gets $fileId]
       }    
       removeStatus $num
       if { $newentries != 0 } { 
    $gClassl($num) see $max 
    $gClassl($num) selection set $max
       }
       displayMessage "Added $newentries students."
 }  }
   

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>