Thread Zeitspanne überprüfen? (10 answers)
Opened by Me at 2013-09-23 21:33

hlubenow
 2013-09-24 00:20
#170543 #170543
User since
2009-02-22
875 Artikel
BenutzerIn
[default_avatar]
Auf der Konsole sonst wohl nur mit Threads!?

Mit GUI-Programmen dagegen ganz gut machbar. Z.B. mit Tk.

Hab' auch ein Beispiel, aber da ich mit Python/Tkinter schneller bin, hier erstmal nur in dieser Sprache. Man kann das im Prinzip aber auch nach Perl/Tk übersetzen:
Code (python): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env python

import Tkinter

class myWindow:

    def __init__(self):

        self.mw = Tkinter.Tk()
        self.mw.option_add("*font", ("Arial", 15, "normal"))
        self.mw.title("Time-Limit")
        self.mw.geometry("+250+250")
        self.t = 20
        self.password = "Swordfish"
        self.entered = None

        self.lab1 = Tkinter.Label(self.mw,
                                  text = str(self.t))
        self.lab1.pack(padx = 20, pady = 20)

        self.fr1 = Tkinter.Frame()
        self.lab2 = Tkinter.Label(self.fr1,
                                  text = "Enter Password:")
        self.lab2.pack(anchor = Tkinter.W)
        self.entry1 = Tkinter.Entry(self.fr1, bg = 'white')
        self.entry1.pack()
        self.entry1.focus()
        self.entry1.bind("<Return>", self.checkPass)
        self.fr1.pack(padx = 10, pady = 10)
        self.mw.after(1000, self.countdown)

        self.mw.mainloop()

    def countdown(self):
        if self.entered == self.password:
            return
        self.t -= 1
        if self.t > 0:
            self.lab1.configure(text = str(self.t))
            self.mw.after(1000, self.countdown)
        else:
            self.lab1.configure(text = "Verloren!")

    def checkPass(self, ev):
        if self.t <= 0:
            self.lab1.configure(text = "Too Late!")
            return
        self.entered = self.entry1.get()
        if self.entered == self.password:
            self.entry1.delete(0, Tkinter.END)
            self.lab1.configure(text = "Gewonnen!")

if __name__ == "__main__":
   app = myWindow()

View full thread Zeitspanne überprüfen?