Seite 1 von 1

Progressbar

Verfasst: 23.03.2005 13:43
von Gamer
Irgendwie ist das sinnig: Man schreibt eine Progressbar ins Fenster aber weiß doch vorher die Anzahl (=Maximum) noch nicht.

Gibt es keine andere Lösung als erst die Bar hinzuschreiben und nach Erlangen der Maximumanzahl die Bar nochmal hinzuschreiben?

ProgressBarGadget(#Bildkonvertierung, 165, 90,125, 20, 0,anzahl,#PB_ProgressBar_Smooth)

Verfasst: 23.03.2005 13:49
von Rubiko
ich kann dir zwar nicht helfen, aber wieso machst du einen neuen thread auf? :o

Verfasst: 23.03.2005 13:50
von bluejoke
Versteh ich nicht.
Eine Progressbar ist doch zur Darstellung von Prozentwerten gedacht, und dies ist ja nur möglich, wenn du den Maximalwert kennst - und das von Anfang an.

Ein Beispiel:
Du brauchst 650 Schritte für irgendeine Aufgabe, beispielsweise hast du 650 Dateien zu kopieren. Also sagst du beim erstellen des Fensters: "Hey, fertig bin ich wenn 650 erreicht wurde, also sind 650 ^= (soll entspricht heißen) 100%"

Immer wenn eine Datei kopiert wurde, machst du SetGadgetState mit dem neuen Wert, was dir dann auf dem Gadget dargestellt wird. Was ist da das Problem


EDIT: Bei einer neuen Frage macht man natürlich einen neuen Thread auf, passt doch sonst nirgends hin!

Verfasst: 23.03.2005 14:08
von Gamer
Wenn ich erst mit einem Requester einen Ordner auswähle und dann
die Dateien auslese, weiß ich eben vorher NICHT die Anzahl (=Maximum) der Dateien...

Verfasst: 23.03.2005 14:34
von Kiffi
Gamer hat geschrieben:Wenn ich erst mit einem Requester einen Ordner auswähle
und dann die Dateien auslese, weiß ich eben vorher NICHT die Anzahl
(=Maximum) der Dateien...
... dann ist die Progressbar eben nicht für die Anzeige geeignet. Eine
Progressbar kann man logischerweise nur dann verwenden, wenn man einen
Maximalwert vorher kennt.

Grüße ... Kiffi

Verfasst: 23.03.2005 14:56
von bluejoke
Ich geh mal einfach von ner Dateikopieraufgabe aus.
Da liest du dann halt die Anzahl der Dateien ein, und erstellst danach das Fenster.
Dieser OpenWindow-Procedure kannst du doch ganz normal Parameter übergeben. Eine andere Möglichkeit ist, du nimmst als Maximalwert immer 100 und rechnest deine eigentliche Anzahl um. Das Gadget macht ja auch nix anderes.

x ist die aktuelle tatsächliche Anzahl, MaximalWert ist das, was du normalerweise dem Gadget sagen würdest (jetzt hast du aber das Gadget fest auf 100)

Code: Alles auswählen

statuswert = x*100/MaximalWert

Verfasst: 23.03.2005 14:59
von Hroudtwolf
So mach ich das in etwa immer.

Ein Prozentsatz:

Code: Alles auswählen

EinProzent.f=MaximalWertDerProgressbar/100
Prozent.l=DeinFortschrittswert.l/EinProzent.f 
SetGadgetState (#Progressbar,Prozent.l)