Seite 1 von 2

Verfasst: Dienstag 22. Januar 2008, 16:27
von skypa
Ahhh, ich rast aus. Ja hast recht, das wollt ich noch entfernt haben.
Nur versteh ich eben halt nicht, warum er nörgelt wenn ich erst GetValue() mache und danach split(':')...

Ich probiers weiter...

MfG skypa

Verfasst: Dienstag 22. Januar 2008, 16:39
von Leonidas
skypa hat geschrieben:Nur versteh ich eben halt nicht, warum er nörgelt wenn ich erst GetValue() mache und danach split(':')...
Definiere 'nörgelt'. :?

Verfasst: Dienstag 22. Januar 2008, 16:54
von skypa
Mit nörgelt mein ich, dass es zu einer Fehlermeldung kommt.

http://paste.pocoo.org/show/22992/

Die Umrechnung funktioniert nicht so wie Sie soll...
Hab mein Fehler erkannt den ich zuvor hatte mit dem array,
die Fehlermeldung lautet nun:

type for timedelta seconds component: unicode

Verfasst: Dienstag 22. Januar 2008, 17:12
von gerold
skypa hat geschrieben:type for timedelta seconds component: unicode
Hallo skypa!

Jetzt hast du hier schon über 60 Beiträge in diesem Board geschrieben. Und trotzdem zeigst du uns immer noch nicht die volle Fehlermeldung. :roll:

Ich rate dir **dringend** einen Debugger einzusetzen. Ich laden den Code in mein WingIDE. Dann führe ich das Programm aus. Sobald ein Fehler passiert, bleibt WingIDE genau in der Zeile stehen, in der der Fehler passiert ist. Dann sehe ich die Fehlermeldung: "TypeError: unsupported type for timedelta seconds component: unicode"

Sofort sieht man, dass hier versucht wird, ein ``datetime.timedelat``-Objekt zu erstellen. Ein solches Objekt kann nicht mit einem Unicode-Objekt erstellt werden. Es braucht für den Parameter ``seconds`` ein Integer-Objekt. Also gebe ich im Debug-Test-Fenster "diff_seconds" ein um zu überprüfen, was da in der Zeile 88 denn so als Parameter übergeben wird.

Das Ergebnis sieht so aus:

Code: Alles auswählen

>>> diff_seconds
u'180000'
>>> 
Ahh! Also ein Unicode-Objekt und dann noch falsch zusammengesetzt. Jetzt weiß ich was zu tun ist.

In Zeile 85 wird mit ``diff_seconds = hours+minutes+secondes`` ein Unicode-String zusammengesetzt. Das kann natürlich nicht funktionieren...


Das war eine kleine Anleitung zum Debuggen von Programmen. ;-) Und ja ich weiß: $179.00 für WingIDE sind recht viel. Aber bei mir hat sich diese Ausgabe schon tausendfach rentiert.

mfg
Gerold
:-)

Verfasst: Dienstag 22. Januar 2008, 17:24
von BlackJack
Ohne jetzt näher in den Code geschaut zu haben: `timedelta` arbeitet mit Zahlen, hat lauf Fehlermeldung aber anscheinend etwas vom Typ `unicode` bekommen. Das sollte eigentlich recht deutlich sein.

Verfasst: Dienstag 22. Januar 2008, 17:32
von skypa
Den Fehler hab ich schon erkannt keine Angst ;)
Ich find grad nur nix, wie ich aus unicode ein int Objekt mache.

http://paste.pocoo.org/show/23002/

:cry:

Verfasst: Dienstag 22. Januar 2008, 18:11
von Leonidas
skypa hat geschrieben:Ich find grad nur nix, wie ich aus unicode ein int Objekt mache.
``int()`` ist dir bekannt, oder?