Ušetřete

Hlavní navigace

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

jirka b.
jirka b. (neregistrovaný)
18. 10. 2005 23:10 Nový

Modalni okna?

celé vlákno
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.
Pavel Tišnovský aura:98
20. 10. 2005 8:31 Nový

Re: Modalni okna?

celé vlákno
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.
Jet
Jet (neregistrovaný)
22. 10. 2005 14:37 Nový

diky za sqely serial

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.
Jet
Jet (neregistrovaný)
22. 10. 2005 15:00 Nový

jak pracovat se serialkou v tcl

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"
LS_999
LS_999 (neregistrovaný)
23. 10. 2005 18:50 Nový

Diaktritika?

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?
Zasílat nově přidané příspěvky e-mailem