AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ProgressBar bei LoadFromFile in TListBox
Thema durchsuchen
Ansicht
Themen-Optionen

ProgressBar bei LoadFromFile in TListBox

Ein Thema von bodenheim · begonnen am 11. Mär 2008 · letzter Beitrag vom 12. Mär 2008
Antwort Antwort
Seite 2 von 2     12   
bodenheim

Registriert seit: 9. Mär 2008
73 Beiträge
 
#11

Re: ProgressBar bei LoadFromFile in TListBox

  Alt 12. Mär 2008, 12:22
Zitat von OregonGhost:
Auch das Einlesen von 10 MB sollte nicht länger als zwei Sekunden dauern,
??

ich weiss worauf ihr hinaus wollt, Problem ist so,

die Dateien sind 5-6 MB groß und wenn ich lade, hängt der Rest vom Open Dialog bis alles geladen ist.
Nutzer könnte auf die Idee kommen, das Programm sei abgestürzt.
Das dauert über 10 Sek. um die Text-Datei in die StringListBox zu laden, habe einen normalen Rechner. (??)
Also würde das nicht so lang dauern, würde ich auch keine gauge einbauen.

Edit: Habe nochmal nachgemessen, das Laden von 6 MB txt über
Delphi-Quellcode:
while not Eof(myFile) do
      begin
        ReadLn(myFile, sRecord);
        listbox1.items.add(sRecord);
        inc(i);
        gauge1.Progress := i;
      end;
dauert an dem Rechner über 15 Sek. Mit gauge oder ohne.
Mit Readln oder ReadfromFile, egal..

Danach werden die Daten dann noch in eine StringGrid geparsed..
_____________________________________

Zitat von OregonGhost:
Delay einzubauen, damit man mehr vom Fortschritt sieht
nicht deshalb sondern weil der "Open-Dialog" sonst "hängt".
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: ProgressBar bei LoadFromFile in TListBox

  Alt 12. Mär 2008, 12:40
Zitat von bodenheim:
Zitat von OregonGhost:
Delay einzubauen, damit man mehr vom Fortschritt sieht
nicht deshalb sondern weil der "Open-Dialog" sonst "hängt".
versuch es mal so:
Delphi-Quellcode:
if OpenDialog.Execute(...) then
begin
  // hier alles, was nach dem OpenDialog passieren soll
end;
Das OpenDialog.Execute kommt erst zurück, wenn der OpenDialog geschlossen wird.
Der Rückgabe wert ist True, wenn OK gedrückt wird. Sonst ist er False.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
bodenheim

Registriert seit: 9. Mär 2008
73 Beiträge
 
#13

Re: ProgressBar bei LoadFromFile in TListBox

  Alt 12. Mär 2008, 12:43
..das mit dem Delay war nonsense, stimmt..
thx.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#14

Re: ProgressBar bei LoadFromFile in TListBox

  Alt 12. Mär 2008, 12:52
Zitat von bodenheim:
..das mit dem Delay war nonsense, stimmt..
thx.
Sehr gut erkannt.
Warum soll man künstlich eine Pause einbauen, wenn eh schon alles richtig läuft.
Hat ein ehemaliger Arbeitskollege von mir immer gesagt: "Kaum macht man es richtig, funktioniert es auch."

Ausserdem sind 500 ms eine Ewigkeit für einen Prozessor. Da langweilt er sich ja 495 ms lang.
Was macht er dann? Er überlegt sich so manchen Schabernack. Daher kommt es, dass die PCs sich immer so "komisch" verhalten.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#15

Re: ProgressBar bei LoadFromFile in TListBox

  Alt 12. Mär 2008, 12:59
Zitat von bodenheim:
Edit: Habe nochmal nachgemessen, das Laden von 6 MB txt über
Delphi-Quellcode:
while not Eof(myFile) do
      begin
        ReadLn(myFile, sRecord);
        listbox1.items.add(sRecord);
        inc(i);
        gauge1.Progress := i;
      end;
dauert an dem Rechner über 15 Sek. Mit gauge oder ohne.
Mit Readln oder ReadfromFile, egal..
Auch wenn du Gauge und Listbox weglässt? Das Laden einer Textdatei darf eigentlich nicht so lange dauern. Das Füllen in die Listbox hingegen kann schonmal etwas dauern, wenn du die Daten "echt" einfüllst. Da ist ein virtuelles Control wie VirtualTreeView oder wie das heißt sicherlich besser.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#16

Re: ProgressBar bei LoadFromFile in TListBox

  Alt 12. Mär 2008, 13:05
Oder einfach mal BeginUpdate und EndUpdate benutzen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz