1 / 23

Tcl/Tk

Tcl/Tk. Anastassia Zaitseva Olga Satshok. Tcl/tk: Ajalugu. 1989 – töötati välja Tcl interpretaatori keeleversioon C alifornia Ülikooli õppejõu J oh n Ousterhout ena poolt 1991- ilmunud esimene t öötav versioon. Tcl/tk.

Download Presentation

Tcl/Tk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tcl/Tk Anastassia Zaitseva Olga Satshok

  2. Tcl/tk: Ajalugu • 1989 – töötati välja Tcl interpretaatori keeleversioonCalifornia Ülikooli õppejõu John Ousterhoutena poolt • 1991- ilmunud esimene töötav versioon

  3. Tcl/tk • Tcl (Tool Command Language) – kõrgetasemeline programmeerimiskeel , kujutab endastprogrammeerimiskeele Cjakäsureainterpretaatori keele csh segu. • Tk(Tool Kit) - instrumentgraafilise kasutajaliidese loomiseks(GUI), nuppudega, menüügaja muude listboxide ja scrollbarsidega.

  4. Tcl/tk: Ülevaade • kõrgtasemeline keel • interpreteeritav keel • laiendatav keel • tasuta programeerimiskeel • Tcl töötabpaljudelevinudplatvormidega • Teda võibsisseehitadaloodatavatesse rakendustesse

  5. Tcl/tk: Andmetüübid • Tcl toetab vaidüheandmetüüpi- string-id. Kõik käsud, kõik käsu argumentid, nende sooritamise tulemusedjamuutujate väärtused võivad olla esindatud string-dega. • kolm üldist string-i vormi: käsud, avaldisedja loendid set X "This is a string“ set Y 1.24

  6. Tcl/tk: Standartsed interpritaatorid • Interpretaatortclsh – kujutab endasttavalist kestatähestikulise-arvulise kasutajaliidesega • Interpretaatorwish – kujutab endast tavalistprogrammikahe tööaknaga : peaaken ja väljundaken - interpritaatorid võivad töötada interaktiivsevõipakendireziimiga - interpretaatori käivitamiseks: tclsh ?fileName arg arg …? wish ?fileName arg arg …?

  7. Tcl/tk: Käsud (Süntaks) • Tcl käsk koosnebühest võimitmest käsust, mis on eraldatuduue rea sümboligavõi semikooloniga. Iga käskkoosnebväljade kogumist, mis on eraldatudtühja vahemikuga. • Näiteks : set a 22 • set - käsu nimi • a - muutuja nimi • 22 - string-i väärtusmuutuja a omistamiseks

  8. Tcl/tk: Argumentide grupeerimine jutumärkide abil • Iga argumendi välilõpebjärgneva tühikuga, kuidjutumärke võib kasutada et anda argumentideleväärtus,millel on tühikud sees. Näiteks:set a “This is a single argument” • annab käsule setkaks argumenti: aja‘This is a single argument’

  9. Tcl/tk: Argumentide grupeerimine loogiliste sulgude abil • set a {xyz a {b c d}} • käsksetsaabkaks argumenti:a ja ‘xyz a {b c d}’. • eval { set a 22 set b 33 } • käskevalkasutabühte argumenti, mis kujutab endast kasürida:evalkutsub välja Tcl interpretaatorit käsurea täitmiseks. Käsk võtab endale muutuja‘22’ väärtusea ja muutuja‘33’ —väärtuse‘b’.

  10. Tcl/tk: Käsu asendamine suludega • Kui käsu väljal ilmub lahtine nurksulgsiis toimub käsu omistamine. Kõik sümbolid sulgudes loetakse käsuks. Näiteks: set a [set b] • kui muutuja bväärtus on‘foo’: set a foo • Nurksulgevõib kasutadaveelgi keerulisemalmoel. Näiteks: set a xyz[set b].[set c] • kui muutujabväärtus on‘foo’, ja muutujac väärtus on‘gorp’, siis on see ekvivalentne käsuga set a xyzfoo.gorp

  11. Tcl/tk: Muutujate $- ga asendamine • Dollari sümbolit‘$’võib kasutadamuutujateomistamise lühendvormina set a $foo.c • kui muutujafooväärtuson ‘test’, siis käsk set a test.c

  12. Tcl/tk:Loendid • Loend - on lihtsalt järjestatud sõnade, arvude,stringide kogum • set lst {{item 1} {item 2} {item 3}} • set lst [split "item 1.item 2.item 3" "."] • set lst [list "item 1" "item 2" "item 3"]

  13. Tcl/tk: Avaldised • avaldis koosneb operandi kombinatsioonidest, operaatoritest ja sulgudest • kõik operandid interpreteeritaksekui täisarvud kui pole antud teist käsku • avaldise väärtuseks on arv (täisarv või ujukoma arv) Näiteks: 8.2 + 6 annab tulemust14,2.

  14. Tcl/tk: Operaatorid • - + liitmine, lahutamine, • ~ ! bitikaupa eitus, loogiline eitus • * / % korrutamine, jagamine, jääk • << >>nihutamine vasakule, nihutamine paremale • &bitikaupa konjunktsioon • ^bitikaupa mitteekvivalents • | bitikaupa disjunktsioon • &&loogiline korrutamine • ||loogiline liitmine • x ? y : ztingimuslik avaldis (ternaarne operaator) • =, <, >, <=, >=, <>võrdlemine

  15. Tcl/tk: Tsüklid (while) Näide: set x 1 while {$x < 5} { puts "x is $x" set x [expr $x + 1] } • x is 1 x is 2 x is 3 x is 4

  16. Tcl/tk: Tsüklid (for) Näide: for {set i 0}{$i < 10} {incr i} { puts "I inside first loop: $i" } I inside first loop: 0 I inside first loop: 1 I inside first loop: 2 I inside first loop: 3 I inside first loop: 4 I inside first loop: 5 ..........

  17. Tcl/tk: Kellaaeg set systemTime [clock seconds] 1116774329 puts "The time is: [clock format $systemTime -format %H:%M:%S]" The time is: 18:05:29 puts "The date is: [clock format $systemTime -format %D]" The date is: 05/22/05 puts [clock format $systemTime -format {Today is: %A, the %d of %B, %Y}] Today is: Sunday, the 22 of May, 2005 puts "\n the default format for the time is: [clock format $systemTime]\n“ the default format for the time is: Sun May 22 18:05:29 EEST 2005

  18. Tcl/tk: Objektide loomine ja likvideerimine • frame—luua raam (frame) • label — luua tekstimärgend (üherealine) • message— luua sõnum (mitmerealine) • button— luua nupp • listbox — luua nimikiri • scrollbar — luua kerimisriba • entry— luua sisendväli • menu — luua menüü • menubutton — luua menüü element • canvas — luua graafilise väljundi väli

  19. Tcl/tk: Näide global var1 var2 var3 var4 var5 set var1 "" set var2 "" set var3 "" set var4 "" set var5 "" proc showValue {} { global var1 var2 var3 var4 var5 puts " Muutuja var1 = $var1" puts " Muutuja var2 = $var2" puts " Muutuja var3 = $var3" puts " Muutuja var4 = $var4" puts " Muutuja var5 = $var5" }

  20. Tcl/tk: Näide wm title . "Form" label .msg -font fixed -justify left -text "Test window." pack .msg -side top frame .buttons pack .buttons -side bottom -fill x -pady 2m button .buttons.dismiss -text “Exit" -command "exit" button .buttons.code -text “Values" -command "showValue" pack .buttons.dismiss .buttons.code -side left -expand 1 foreach i {var1 var2 var3 var4 var5} { frame .$i -bd 2 entry .$i.entry -relief sunken -width 40 -textvariable $i label .$i.label pack .$i.entry -side right pack .$i.label -side left }

  21. Tcl/tk: Näide .var1.label config -text Name: .var2.label config -text Address: .var5.label config -text Phone: pack .msg .var1 .var2 .var3 .var4 .var5 -side top -fill x focus .var1.entry

  22. Tcl/tk: Näide

  23. Täname tähelepanu eest!

More Related