Hlavní navigace

Názory k článku Programovací jazyk TCL (14)

  • Článek je starý, nové názory již nelze přidávat.
  • 18. 10. 2005 23:10

    jirka b. (neregistrovaný)
    Ty predpripravene dialogy jsou moc hezka vec, ale bohuzel to nepokryva vsechny mozne situace. Da se tedy v Tk nejak jednoduse udelat vlastni modalni okno?
    Myslim takove, ktere si vyrobim sam (slozitejsi nez jednoduchy dialog), ale ktere pritom bude modalni. Nemohl by o tom byt priste maly odstavecek?

    Videl jsem po Internetu ruzne priklady, ale chytry jsem z toho moc nebyl. Jakesi reseni jsem nakonec nasel, ale zda se, ze neni 100%, proto se ptam.
  • 20. 10. 2005 8:31

    Pavel Tišnovský
    Modalni okna se v Tcl/Tk daji udelat, pokusim se do priste napsat nejaky demonstracni priklad. Muzu se zeptat na Vase reseni? Vetsinou se programuje reakce pomoci tkwait, ale jsou mozne i jine zpusoby.
  • 22. 10. 2005 14:37

    Jet (neregistrovaný)
    Zrovna jsem potreboval napsat pomerne jednoduchy program na testovani jedne masinky. Bohuzel musi bezet pod woknousem, protoze program na upload firmware existuje jenom pro w. Napsal jsem desivy script, mix woknoveho commandu (da se tomu vubec rict shell?), awku, bashe (thanx to Cygwin), ale byla to hruza a dokazalo to jenom programovat, zadne testovani. Pak jsem objevil vas serial a napsal jsem to jako moji prvotinu v tcl. No, trvalo to podstatne dele nez jsem puvodne planoval a vysledek by nevyhral v soutezi o aspon trochu dobre rozvrzeny user interface (z lenosti pouzivam hlavne pack :-)), ale funguje. To je dulezite. Neuveritelne, ze to funguje i na woknousech.
    Takze dik a tesim se na dalsi pokracovani.
  • 22. 10. 2005 15:00

    Jet (neregistrovaný)
    jestlize nekdo z vas potrebuje pracovat se seriovym portem, muze se vam hodit tato kostra programu
    set port "/dev/ttyS0"
    #set port "com1"; #v nekterych operacnich(?) systemech se ttyS0 jmenuje i takto
    
    # otevreni a nastaveni parametru portu
    
    if {[catch {set com [open $port RDWR] }]==1 } { puts "error open $port"; exit 1}
    fconfigure $com -translation binary
    fconfigure $com -mode 2400,e,7,1
    fconfigure $com -buffering none
    fconfigure $com -blocking 0
    
    # kdyz prijde znak ze serialky, zavola se funkce rd_com    
    fileevent $com readable rd_com
    
    proc rd_com {} {
        global com 
    
        while {[expr ! [eof $com]]} {
    # bacha na errory - musi se odchytit, jinak to vyplazne okno s errorovou hlaskou a serialka prestane fungovat
            if {[catch {read $com 1} s]} {
    # nastal error na serialce - muze byt treba parity error nebo framing error, 
                puts [fconfigure $com -lasterror]
                break 
            }
            set l [string length $s]
            if {$l<=0} {
                break
            }
    # tady zpracovat znak co prisel ze serialky, je v $s
        }
    }
    
    # timto zpusobem muzu poslat na serialku co chci:
    puts -nonewline $com "co chci poslat na serialku"
    # dokonce i neco takoveho:
    puts -nonweline $com "\x02\x41\x42\x03"
    
  • 23. 10. 2005 18:50

    LS_999 (neregistrovaný)
    Uz jsem to zde jednou psal, tusim v dile 1, a jak vidim jsem mel pravdu,
    ty dialogy vypadaji opravdu dost hnusne (v x-windows) -
    fonty hnus, grafika hnus. A to nemluvim o funkcionalite,
    (natoz pak vzhledu) filedialogu.
    Ale nechci zde zacinat dalsi zbytecny fw.

    Tento serial prilis nesleduju, ale zaujali mne ty priklady - zda se,
    ze v dialozich jsou problemy s pouzivanim diakritiky -
    dle zobrazenych prikladu to tak vypada, nebot tam chybi hacky a carky.
    Da se tohle nejak rozumne resit, anebo se clovek musi smirit s tim,
    ze (multiplatformni) diakritika proste nebude?