Seite 1 von 1

Schnelle Umrechnung

Verfasst: Mittwoch 18. Januar 2006, 00:00
von JanDMC
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

Verfasst: Mittwoch 18. Januar 2006, 01:07
von modelnine
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.

Verfasst: Mittwoch 18. Januar 2006, 07:56
von jens

Re: Schnelle Umrechnung

Verfasst: Mittwoch 18. Januar 2006, 16:30
von Joghurt
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)

Verfasst: Dienstag 24. Januar 2006, 16:45
von JanDMC
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...