applications |
12/12/2005 |
Application permettant de generer un fichier à partir d'un autre :
# bouton quit
proc quit {} {
global Entry_src
global Entry_dest
destroy .entry .edit_button .quit_button
unset Entry_src
unset Entry_dest
}
# browse
proc browse_source {} {
set filename [tk_getOpenFile -filetypes {{Text { * } }}]
.frame1.entry_src insert end $filename
}
proc browse_dest {} {
set filename [tk_getSaveFile -filetypes {{Text { * } }}]
.frame2.entry_dst insert end $filename
}
# generate
proc generate {} {
global action do
set f [ open "| $do $action" r]
while {[gets $f x] >= 0} {
.bottom.main insert 1.0 "$x\n"
}
catch {close $f}
}
# about
proc show_about {} {
tk_messageBox -title "About generate" \
-message "Tcl/Tk\nGenerate files\nVersion 1.0"
}
# form
frame .frame1
label .frame1.label1 -text "source file: "
entry .frame1.entry_src -textvariable Entry_src -width 70
button .frame1.browse_src -text browse -command { browse_source }
pack .frame1.label1 .frame1.entry_src .frame1.browse_src -side left -padx 5 -pady 0
frame .frame2
label .frame2.label2 -text "destination file:"
entry .frame2.entry_dst -textvariable Entry_dst -width 70
button .frame2.browse_dst -text browse -command { browse_dest }
pack .frame2.label2 .frame2.entry_dst .frame2.browse_dst -side left -padx 5 -pady 0
frame .frame3
button .frame3.about -text About -command { show_about }
button .frame3.generate_button -text Generate -command { generate }
button .frame3.quit_button -text Quit -command { quit }
pack .frame3.about .frame3.generate_button .frame3.quit_button -side left -padx 5 -pady 0
pack .frame1 .frame2 .frame3 -pady 6
# keys
bind . "" {show_about}
fonctions