[ Mr. Rejn @ 12.10.2004. 13:26 ] @
Ako zna,imam problemcich:
radim u Visual Tcl-u i ako npr. hocu da napravim neki program za obradu unosa
(preko entry-a na formularu) dodam dugme i vezem ga za dogadjaj sa .bind (npr Button-1,tj. klik misa),
a predhodno sam napravio proceduru koja se izvrsava na prijem signala sa tog mehanizma
(u ovom slucaju, dugmeta),npr:

Code:

proc saberi {num1 num2} {
 set rez [expr $num1 + $num2]
 return $rez
}


mada ovo return i nije potrebno.Promenljive $num1 i $num2 su naravno vezane za polja za
unos (entry),a promenljiva $rez je vezana za oznaku (label),kao textvar.Znaci,program
treba da jednostavno sabere dva cela broja koji su uneti u polja za unos i da rezultat prikaze
na label-u,ALI TO SE NE DOGADJA,ali se ne prijavljuje ni greska.
Kako promenljivu u kojoj je rezultat ($rez) uciniti dostupnom labelu da bi ga prikazao?
Procedure bez argumenata se izvrsavaju bez problema (npr. prikazivanje prozora sa porukom,
tk_messagebox ili puts stdout "nesto.." itd.).
[ chupcko @ 12.10.2004. 14:52 ] @
Probaj ovako :), e a kako ide u visual-u ... e ne znam.

Code:

set rez " "
label .l1 -text $rez

proc saberi {num1 num2} {
  set rez [expr $num1 + $num2]
  .l1 config -text $rez
}

button .b2 -text radi -command { eval saberi 3 4 }
pack .l1 .b2
[ Mr. Rejn @ 13.10.2004. 20:07 ] @
Nasao sam, ako nekog zanima:
U Visual Tcl, gde su Widget bindings (Alt-B), staviti za
dogadjaj ButtonRelease-1:

Code:

set rez [saberi $num1 $num2]


gde je $rez promenljiva oznake label (umesto da se
stavi samo: saberi $num1 $num2, kao sto sam ja uradio :)
[ Mitrović Srđan @ 21.10.2004. 15:28 ] @
mene zanimaju tvoja iskustva sa tcl/tk.posto mislim da je mnogo prakticnije uciti perl koji je mnogo svestraniji i bolji uostalom ima toliko modula za njega preko kojih se moze napraviti svasta (socket,tk/gtk)....da ne pominjem regularne izraze ...tj da se vratim ;) kako se tebi cini tcl i da li je vredan ucenja i tvog vremena .....posto sam se nosio mislju da ucim tcl ali kad sam video perl ....o jbg