Seite 1 von 1
countdown **brauche hilfe bitte ganz unten gucken**
Verfasst: Montag 21. Januar 2008, 19:41
von SonGuko
hi,
ich will mir ein countdownprogramm erstellen, das ähnlich diesm hier ist:
http://paste.pocoo.org/show/22108/
nur ich will es etwas verändern. allerdings kenn ich mich mit python noch nicht soo gut aus und deshalb brauch ich euch profis
und zwar will ich ersteinmal die eingabe in minuten haben und die ausgabe
soll nicht mehr sekunden/millisekunden sondern minuten/sekunden sein.
zudem hätte ich gerne neben den start buttons jeweils eine leere zeile wo man einfach was reinschreiben kann.
wäre echt sehr geil wenn ihr mir helfen könntet
EDIT by Gerold: Code ausgelagert:
http://paste.pocoo.org/show/24172/
Re: countdown
Verfasst: Montag 21. Januar 2008, 20:18
von gerold
SonGuko hat geschrieben:und zwar will ich ersteinmal die eingabe in minuten haben und die ausgabe soll nicht mehr sekunden/millisekunden sondern minuten/sekunden sein.
zudem hätte ich gerne neben den start buttons jeweils eine leere zeile wo man einfach was reinschreiben kann.
Hallo SonGuko!
Der erste Wunsch ist kein Problem. Ändere Zeile 73 so um:
Code: Alles auswählen
diff_seconds = int(self.txt_startvalue.GetValue()) * 60
Die Ausgabe wird schon schwieriger.
Zeile 60:
Code: Alles auswählen
new_value = "%6i min. %6i sec." % (diff.seconds // 60, diff.seconds % 60)
Zeile 62:
Die Zeile die nebenan stehen soll... Da weiß ich nicht wirklich was du willst.
mfg
Gerold
Verfasst: Montag 21. Januar 2008, 22:00
von SonGuko
ok vielen dank erstmal
ok für den zweiten wunsch mach ich mal nen bildchen
Verfasst: Montag 21. Januar 2008, 22:18
von gerold
Hallo SonGuko!
Zeile 50; einfügen:
Code: Alles auswählen
self.txt_note = wx.TextCtrl(self, size = (150, -1))
hbox.Add(self.txt_note, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 6)
mfg
Gerold
PS: Ich fasse mal zusammen:
http://paste.pocoo.org/show/22824/
Verfasst: Montag 21. Januar 2008, 22:32
von SonGuko
vielen dank für die schnelle hilfe
Verfasst: Dienstag 22. Januar 2008, 20:48
von SonGuko
hat alles wunderbar geklappt
wäre super nett von euch, wenn ihr mir sagen könntet, wie ich es verhindern kann, dass der countdown von vorn anfängt wenn man nach einem stop den countdown wieder startet. (am besten der aktuelle countdownstand geht in das textfeld bei der eingabe - ich hoffe ihr ihr versteht es)
dann bräuchte ich noch einen extra knopf, der alle countdowns anhält und auch wieder startet. ( am oben rechts in der ecke)
wenn ihr das hinkriegen würdet, dann würd ich eure füße küssen (methaphorisch
)
Verfasst: Mittwoch 23. Januar 2008, 09:09
von skypa
Oder aber du setzt dich mal hin und versuchst mal den Code zu verstehen, dann kannste das eigentlich auch selbst machen, vlt nicht ohne Hilfe aber immerhin eigenständig.Das der Countdown nicht wieder von vorne anfängt kannste mit nem Counter und ner if- Abfrage denk ich mal hinkriegen.
MfG skypa
Verfasst: Donnerstag 24. Januar 2008, 19:47
von SonGuko
blöd nur, dass der schreiber des codes seine methoden nicht spezifiziert hat.
ich hab mir ja mal die beiden methoden zu brust genommen:
Code: Alles auswählen
def on_timer(self, event):
now = datetime.datetime.now()
if now < self.end_datetime:
diff = self.end_datetime - now
new_value = "%6i Minuten %6i sec." % (diff.seconds // 60, diff.seconds % 60)
else:
new_value = "%6i Minuten %02i" % (0, 0)
self.timer.Stop()
self.musik_abspielen()
self.txt_startvalue.Enable()
self.btn_start_stop.SetLabel("Start")
self.anzeige.SetLabel(new_value)
wx.YieldIfNeeded()
def start_stop_countdown(self, event):
if self.btn_start_stop.GetLabel() == "Start":
diff_seconds = int(self.txt_startvalue.GetValue()) * 60
now = datetime.datetime.now()
self.end_datetime = now + datetime.timedelta(seconds = diff_seconds)
self.timer.Start(100)
self.txt_startvalue.Disable()
self.btn_start_stop.SetLabel("Stop")
else:
self.timer.Stop()
self.txt_startvalue.Enable()
self.btn_start_stop.SetLabel("Start")
aber irgendwie werd ich nicht schlau draus
ich wollts so machen:
wenn stop gedrückt -> hält countdown an und ändert das textfeld in "keine veränderung" um. wenn mann wieder auf start drückt und "keine veränderung" im textfeld steht, dann soll er einfach weiter machen. wenn aber eine zahl drin steht, dann soll er einen neuen countdown starten.
aber leichter gesagt als getan. wenn ich an der new_value oder an diff_secounds rumfusche, zaubert er mir ein neues textfeld -.-
Verfasst: Samstag 26. Januar 2008, 00:24
von SonGuko
ok ich habs jetzt endlich nach stundenlangen rumprobierens xD
es war nicht so leicht wie ichs mir gedacht habe, aber jetzt funzt es. zwar nicht besonders schön aber immerhin klappts.
vielen dank dass ihr mir nicht weiter geholfen habt, denn jetzt habe ich das programm verstanden und was dazugelernt
Verfasst: Samstag 26. Januar 2008, 17:57
von SonGuko
hallo,
also folgendes problem:
ich brauche eine möglichkeit alle countdowns gleichzeitig anzuhalten, sprich die methode start_stop_countdown für alle countdowns zu aktivieren.
ich bin mit meinem latein am ende. :K
hier mal der neue code:
EDIT by Gerold: Code ausgelagert
http://paste.pocoo.org/show/24171/
wäre voll nett wenn ihr mir helfen könntet
Verfasst: Montag 28. Januar 2008, 12:07
von gerold
Hallo SonGuko!
Das hat nichts mehr mit einer schnell beantwortbaren Frage zu tun.
Zwischenstand:
http://paste.pocoo.org/show/24170/
Ich werde mich noch ein paar Minuten daran austoben und den überarbeiteten Code hier posten.
EDIT:
Mit "Allgemeinem Countdown-Stopp":
http://paste.pocoo.org/show/24175/
mfg
Gerold
Verfasst: Mittwoch 30. Januar 2008, 15:50
von SonGuko
vielen dank für die hilfe,
allein wäre ich da nicht so schnell drauf gekommen.
und schön dass du die sachen die du hinzugefügt hast, kommentiert hast