Hallo Ralf, On 15-Aug-2003 Ralf Schneider wrote:
Am Dienstag, 12. August 2003 13:22 schrieb Heinz W. Pahlke:
Mit dem folgenden TCL/TK-Script will ich einfach nur "cinternet --start" und "cinternet --stop" ausfuehren, wobei mir aber jeweils angezeigt wird, ob DSL aktiv oder deaktiviert ist.
--------------------------------8<-----------------------------------
#!/usr/X11R6/bin/wish8.4
frame .sep -width 100 -height 2 -border 2 -borderwidth 1 -relief sunken
frame .controls button .controls.ok -text "Wählen" -command exit
button .controls.cancel -text "Auflegen" -command exit pack .controls.ok -side left pack .controls.cancel -side left
bind .controls.ok <ButtonPress-1> { .controls.ok [text create -text "DSL aktiv"] } bind .controls.cancel <ButtonPress-1> { .controls.cancel create text -text "DSL deaktiviert" }
pack .sep pack .controls
---------------------------------->8--------------------------------- -
1. Ich nehme an, dass Dein Programm beendet wird, wenn Du einen der
Zum Testen ist es einfacher, mit exit statt mit cinternet zu arbeiten.
geschehen soll, wenn er gedrückt wird, also in Deinem Fall exit. BTW, warum heißen Deine Buttons ok bzw. cancel, wenn Wählen bzw. Auflegen dransteht? Man versteht den Code (auch selbst :-) später besser, wenn die Namen etwas mit der echten Bedeutung zu tun haben.
Ich habe den Code aus einem anderen Programm uebernommen, in dem ich mit ok und cancel gearbeitet habe, und die Bezeichnungen noch nicht komplett geaendert.
2. Warum so umständlich eine Aktion mit bind an den Button hängen? Dafür gibt es extra -command. Schreib Deinen Code besser so um, dass aus den bind-Aufrufen Procedure-Definitionen werden (z.B. dial und hangup), die Du dann jeweils hinter -command schreibst.
Ist aber nicht mein Problem.
3. Den Text eines Button änderst Du z.B. mit: controls.dial configure -text "DSL aktiv"
Ich liebe Prozeduren ;-)) Theoretisch habe ich mit ihnen auch keine Probleme, aber praktisch sieht es leider anders aus :-( Und da ich das Script ja nicht veroeffentlichen, sondern nur fuer mich selbst nutzen will, ist es vielleicht auch nicht so wichtig. Sonst muesste ja z.B. auch noch eine Fehlerbehandlung eingebaut werden. Ansonsten noch mal zur Verdeutlichung: Wenn ich mit der Maus auf den Button "DSL aktivieren" klicke, soll cinternet ausgefuehrt werden (ist kein Problem und funktioniert auch), nach der Abarbeitung von cinternet soll sich aber entweder die Button-Beschriftung in "DSL aktiviert" aendern oder im frame die entsprechende Information nachzulesen sein. Grafisch koennte letzteres so aussehen: ------------------------- | | | Text "DSL aktiviert" | | oder "DSL deaktiviert"| | | | | ------------------------- | Button 1 | Button 2 | ------------------------- Bloss wie ich das umsetzen kann, ist mir eben unklar. Da ich irgendwo etwas in der Art von "create text" gelesen hatte, habe ich es eben damit versucht. So einfach scheint es aber eben doch nicht zu sein. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/