#!/bin/sh
# -*- tcl -*- \
exec tclsh "$0" ${1+"$@"}
package require Iwidgets
set p8 .label
toplevel $p8
set ecn_dir "d://ecn"
global loger
set loger zd
array set phase {
0 "\u63A5 \u6536"
1 "Proc1"
2 "Proc2"
3 "\u5DE5 \u6536"
4 "\u5BE9\u6838\u7D50\u6848"
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
proc game_over {} {
global ecn_dir p8
set job [$p8.frame1.jobname getcurselection]
source [file join $ecn_dir $job]
for {set i 0} {$i < 4} {incr i} {
if {[lindex [set [set job]($i)] 0] == "x"} {return 1}
}
if {[lindex [set [set job](4)] 0] == "x"} {
return 1
} else {
return 0
}
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
proc write_job {job index butt} {
global ecn_dir loger
source [file join $ecn_dir $job]
set now_date [clock format [clock seconds] -format %m%/%d%#%H:%M:%S]
if {$butt == 0} {
set [set job]($index) [list $now_date $loger x x]
} else {
set [set job]($index) [list [lindex [set [set job]($index)] 0] [lindex [set [set job]($index)] 1] $now_date $loger]
}
set ecn_bakjob [open $ecn_dir/$job.tmp a+]
set ecn_openjob [open $ecn_dir/$job r+]
gets $ecn_openjob line
puts -nonewline $ecn_bakjob $line\n
for {set i 0} {$i < 5} {incr i} {
puts -nonewline $ecn_bakjob [list $i [set [set job]($i)] ]\n
}
puts -nonewline $ecn_bakjob \}
puts -nonewline \n
close $ecn_bakjob
close $ecn_openjob
file rename -force "$ecn_dir/$job.tmp" "$ecn_dir/$job"
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
proc click_proc {loger} {
global p8 ecn_dir phase deal_job index
set deal_job [$p8.frame1.jobname getcurselection]
set deal_state [$p8.frame1.state get]
source [file join $ecn_dir $deal_job]
set mingzi [array names db_p]
set suv 0
foreach name $mingzi {
if {[lindex $db_p($name) 0] == $loger && [lindex $db_p($name) 3] == "suv" || [lindex $db_p($name) 0] == "suv1" } { set suv 1} { puts "welcome"}
}
######[lindex [set [set deal_job](0)] 0] 这里deal_job不是直接数组名###
######[lindex [set deal_job(0)] 0] 这里deal_job是直接数组名###
switch -- $deal_state {
"\u63A5 \u6536" {if {[lindex [set [set deal_job](0)] 0] != "x"} {
$p8.frame1.startbut configure -state disabled
} else {
$p8.frame1.startbut configure -state normal
}
if {[lindex [set [set deal_job](0)] 2] != "x"} {
$p8.frame1.endbut configure -state disabled
} else {
$p8.frame1.endbut configure -state normal
}
set index 0
}
"Proc1" {if {[lindex [set [set deal_job](1)] 0] != "x"} {
$p8.frame1.startbut configure -state disabled
} else {
$p8.frame1.startbut configure -state normal
}
if {[lindex [set [set deal_job](1)] 2] != "x"} {
$p8.frame1.endbut configure -state disabled
} else {
$p8.frame1.endbut configure -state normal
}
set index 1
}
"Proc2" {if {[lindex [set [set deal_job](2)] 0] != "x"} {
$p8.frame1.startbut configure -state disabled
} else {
$p8.frame1.startbut configure -state normal
}
if {[lindex [set [set deal_job](2)] 2] != "x"} {
$p8.frame1.endbut configure -state disabled
} else {
$p8.frame1.endbut configure -state normal
}
set i