Schnelle Umrechnung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

Hi Leute,

Ich habe ein Programm geschrieben, welches Dateien de/komprimieren kann.Jetzt hab ich die Gui entworfen mit einem Statusbalken ( in wx ). Meine Frage:

Ich möchte den Schleifenzähler beim de/komprimieren in % umrechnen wie z.b

100/laenge*schleifenzähler , fragt sich nur mit welchem "Datentyp" die Sache am schnellsten ist.

Oder wenn jemand noch eine anderen vor allem nicht so leistungsaufwedige alternative findet , den fortschritsbalken "normal" zu setzen , dann wäre das auch gut.

danke schonmal

mfg JanDMC
joa nää python is toll :D
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

100/laenge*schleifenzähler , fragt sich nur mit welchem "Datentyp" die Sache am schnellsten ist.
Also... Am sinnigsten ist die Prozentzahl mittels

Code: Alles auswählen

100*schleifenzaehler//laenge
auszurechnen, da Du mit Sicherheit in der Progress-Bar eh nur ganzzahlige Werte anzeigen kannst.

Andererseits: hast Du mal nachgeschaut ob die Progressbar von sich aus nicht min/max-Werte verträgt? Ich weiß dass sie das bei PyQt tut, würde mich wundern wenn hier nicht. Dann kannst Du nämlich den

Code: Alles auswählen

schleifenzaehler
einfach direkt als Wert der Progress-Bar setzen und musst Dich nicht mehr um Umrechnung kümmern.

--- Heiko.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:


GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

JanDMC hat geschrieben:100/laenge*schleifenzähler , fragt sich nur mit welchem "Datentyp" die Sache am schnellsten ist.
Jaa! Genau da wird ein möglicher Flaschenhals liegen...

Selbst wenn die Berechnung des Fortschritts um sagen wir 50% beschleunigen könntest, würde man im Programm nichts davon merken, da diese Berechnung im Vergleich zum Rest des Programmes minimal ist.

Optimiere lieber andere Teile des Programmes, wie z.B. die Komprimierung (falls du nicht einfach zip oder bz2 nimmst)
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

Danke für die Antworten,hab mich entschieden die Statusbar einfach nach

Code: Alles auswählen

schleifenzähler%256==0
zu setzen, das reihct an zeit..


mfg Jan


und ich hab Rled2 + Rled3 kodierung...
joa nää python is toll :D
Antworten