Liite 3. Autolaskuri-esimerkki Tcl/Tk-kielillä.

#####################################################

# Autolaskuri 1. versio.

#

# Autolaskuri -esimerkki tehty Tcl/Tk -kielillä

# Eeva-Kaisa Rouhiainen, tehty 7.7.1998

# Autolaskurin kuva löytyy luvusta 5 (kuva 5.3).

#####################################################

#!/usr/bin/wish

set henkilo_autot 0

set kuorma_autot 0

# wm, ikkunan hallintaan liittyvät komennot

wm title . "Autolaskuri"

# Frame, kehykset

frame .laskurit

frame .laskurit.kuorma

frame .laskurit.henkilo

frame .menubar -relief raised -bd 2

# Label, etiketit

label .otsikko -text "AUTOLASKURI" -bg white

label .laskurit.henkilo.henkiloentry -width 5 -relief sunken -bd 1 -textvariable henkilo_autot

label .laskurit.kuorma.kuormaentry -width 5 -relief sunken -bd 1 -textvariable kuorma_autot

# Menu,valikoiden teko

menubutton .menubar.file -text "File" -underline 0 -menu .menubar.file.menu

menu .menubar.file.menu

.menubar.file.menu add command -label "Exit" -underline 0 -accelerator "Alt+e" -command exit

# Button, painikkeiden teko

button .laskurit.henkilo.henkilobutton -text "Henkilöautoja" -command {incr henkilo_autot}

button .laskurit.kuorma.kuormabutton -text "Kuorma-autoja" -command {incr kuorma_autot}

button .nollaa -text "Nollaa" -command {set henkilo_autot 0;set kuorma_autot 0}

# Pack, käyttöliittymän pakkaaminen

pack .menubar -side top -fill x

pack .menubar.file -side left

pack .laskurit.henkilo.henkilobutton .laskurit.henkilo.henkiloentry -side top -fill x

pack .laskurit.kuorma.kuormabutton .laskurit.kuorma.kuormaentry -side top -fill x

pack .laskurit.henkilo .laskurit.kuorma -side left

pack .laskurit.henkilo -padx 1m

pack .laskurit.kuorma -padx 1m

pack .otsikko .laskurit .nollaa -side top

pack .nollaa -pady 2m

pack .otsikko -fill x -ipady 3m

# Bind, sidosten luominen

# Näppäinyhdistelmällä <Alt-e> poistutaan ohjelmasta.

# Näppäimen h avulla lisätään henkilöautojen lukumäärää.

# Näppäimen k avulla lisätään kuorma-autojen lukumäärää.

# Näppäimen n avulla nollataan autojen lukumäärät.

bind all <Alt-e> {exit}

bind all <KeyPress-h> { incr henkilo_autot }

bind all <KeyPress-k> { incr kuorma_autot }

bind all <KeyPress-n> { set henkilo_autot 0; set kuorma_autot 0;}


gif
Luk-tutkielma: Tcl/Tk -opiksi ja iloksi.