Progress Bar (Forschrittbalken)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

4pac

Betreff: Progress Bar (Forschrittbalken)

BeitragDo, Dez 09, 2004 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi liebe Coders,

ich hab mal eine Grundfrage zu Progress Bars. Und zwar, wenn ich damit anzeigen will, wieweit eine Datei mit z.B. 20.000 Zeilen bereits durchgeparst wurde. Daß die Datei 20.000 Zeilen hat, weiß ich bzw. mein Proggy aber erst, wenn er die letzte davon eingelesen hat. Vorher fehlt mir also quasi der 100%-Wert, die 20.000, die weiß das Proggy ja vorher gar net - wie kann ich dann also die Progress Bar berechnen, die ja sinnvollerweise auf einem prozentualen Wert basiert??

Und das Problem habe ich immer bei längeren Arbeitsvorgängen. Man müsste die im Prinzip vorher einmal im Hintergrund ausführen, um schonmal zu wissen wieviele Einträge abzuarbeiten sind. Wäre natürlich praktisch Unsinn. Wie löst man das?

Viele Grüße,
Thomas
 

Klaas

BeitragDo, Dez 09, 2004 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest nicht Zeilen sondern Bytes nehmen, die würdest du mit filesize ja bekommen.

Wenn du unbedingt die Zeilen wissen mußt könntest du alle vorkommen von chr(13) bzw chr(10) suchen bevor du die Zeilen verarbeitest.

Es kommt ein wenig darauf an was du mit den Zeilen machst !?
Wenn die Zeilen ca. alle gleichlang sind dann könnte man auch die Zeilen so ca. überschlagen. Ist natürlich nich so elegant.

wunderkind

BeitragDo, Dez 09, 2004 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf Zeilenebene gar nicht, würde ich behaupten. Eine Gleichung, zwei Unbekannte; das wird nichts. Aber du weißt doch, wieviel Byte die Datei groß ist und wieviele Zeichen du mit den bisher eingelesenen Zeilen verarbeitet hast. Du berechnet den Fortschritt quasi auf Zeichenebene.

Kernle 32DLL

BeitragDo, Dez 09, 2004 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weis nicht ob dir dashire hilft,aber ich versuchs mal:

Zitat:
brauchen wa nit mehr


So,das wars erstmal.Die Farbtiefe muss üprigens
nicht 16 sein,die Full-Screen einstellung allerdings 1.
Denn wenn die nicht 1 ist,wird die Loadbar falsch,bzw.
garnicht dargestellt.

mfg,kernle

PS: Die Bilder dazu kommen in wenigen sekunden
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog]
Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89
Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009
  • Zuletzt bearbeitet von Kernle 32DLL am Do, Dez 09, 2004 19:58, insgesamt einmal bearbeitet
 

OJay

BeitragDo, Dez 09, 2004 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
kernle, hier gehts nicht darum, eine progressbar zu programmieren, sondern, wie man den fortschrittsstatus beim laden ermitteln kann. bitte erst alle posts lesen, bevor du deine halbweisheiten hier reinknallst.

on topic: ich würde das auch byte-weise ermitteln. gesamtgrösse hast du, und die grösse der aktuell verarbeiteten zeile erhälst du, in dem du einfach ein strlen drüber bläst. wenn ich mich recht errinnere, war doch in einer datei jedes zeichen ein byte gross, oder? Smile

Kernle 32DLL

BeitragDo, Dez 09, 2004 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ahh,jetzt weis ich was ihr wollt ^^ Mom,ich hab da so ne idee.
(Wenn ich es hab kommt heir rein)

gruß:
kernle
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog]
Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89
Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009

wunderkind

BeitragDo, Dez 09, 2004 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
OJay hat Folgendes geschrieben:
kernle, hier gehts nicht darum, eine progressbar zu programmieren, sondern, wie man den fortschrittsstatus beim laden ermitteln kann. bitte erst alle posts lesen, bevor du deine halbweisheiten hier reinknallst.

[ot]Puh, wie du gerade in den letzten Posts wieder mit der Belehrermentalität prahlst...schlichtweg ekelerregend. Einfach mal...[/ot]

4pac

BeitragFr, Dez 10, 2004 0:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, Leute das hab ich dann geschnallt. Bytes als Grundlage und nicht Zeilen. Ich kam nicht drauf, weil ich noch nie byteweise aus Dateien eingelesen habe, aber ist schon klar jetzt vom Grundsatz her. Müsste ich dann auch hinbekommen.

Grüße,
Thomas
 

Woody the woodiest

BeitragMo, Dez 13, 2004 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann man nicht auch anhand der Größe der Datei (in byte) die Anzahl der Zeilen ermitteln. Irgendwelche Maßstäbe muss es da doch geben oder sind einge Zeichen größer als andere und die Zeilenanzahl ist somit nicht genau ermittelbar?

Sorry, wenn ich jetzt irgendeinen sh** laber, es is ja nur eine Idee.
Am Sonntag sind die Autobahnen leer, so kann man ruhig in Urlaub fahren.
Würden alle so denken, wären die Autobahnen am Sonntag voll.
Warum sind sie es trotzdem nicht?
Weil der Großteil der Bevölkerung gar nicht denken KANN.
 

Klaas

BeitragMo, Dez 13, 2004 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Zeilen entstehen durch unsichtbare "Umbruchzeichen". Meißtens Chr(13) und chr(10).
Die Zeichen sind meißt alle gleich groß. Bei ASCII sind das jeweils 1 Byte pro Zeichen.
Wie lang eine Zeile in Bytes ist kommt also drauf an wieviel in der Zeile steht.
Deshalb läßt sich die Menge der Zeilen nur darüber ermitteln wieoft das Zeichen chr(10) bzw chr(13) im Text auftaucht ... dazu muß man allerdings einmal durch die komplette Datei eiern um eben diese zu zählen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group