Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wärend des ladens Progressbar laufen lassen (https://www.delphipraxis.net/38438-waerend-des-ladens-progressbar-laufen-lassen.html)

killerkarl 19. Jan 2005 13:56


Wärend des ladens Progressbar laufen lassen
 
Also.
Ich möchte eine Textdatei in eine Listbox laden und syncron dazu eine ProgressBar laufen lassen..

Habe im Forum leider nichts gefunden.

Delphi-Quellcode:
Listbox1.Items.LoadFromFile('primzahl.txt');
Danke im Vorraus

Airblader 19. Jan 2005 14:24

Re: Wärend des ladens Progressbar laufen lassen
 
Ich will nicht unhöflich sein, aber ist die Textdatei so groß, dass man dafür noch ne ProgressBar braucht? ;)

killerkarl 19. Jan 2005 14:34

Re: Wärend des ladens Progressbar laufen lassen
 
SChade. hätte vielleicht schreiben sollen, das es 5016 Seiten mit Word betrachtet sind...

Boombuler 19. Jan 2005 14:45

Re: Wärend des ladens Progressbar laufen lassen
 
Hi

ich hab mich mal durch den delphi code von TListbox gewühlt. Meine Ergebnisse:
1. TListbox.Items sind -> TStrings
2. TString.LoadfromFile verweist auf LoadfromStream
3. Die entscheidene Codezeile:
Delphi-Quellcode:
Stream.Read(Pointer(S)^, Size);
Liest das alles in die Strings ein!
Also vermute ich einfach mal das du da wenig Chance hast noch n Progressbar mitlaufen zu lassen.
Es sei denn du schreibst dir einen neuen TStrings Typ der das in ner schleife macht und immer nur ein Zeichen einliest.
Das dürfte IMHO zu nicht zu verachtenden Geschwindigkeits einbußen führen!

Mfg
Boombuler

Steve 19. Jan 2005 14:46

Re: Wärend des ladens Progressbar laufen lassen
 
Hi,

LoadFromFile wird einmal aufgerufen, gibt aber nicht (bspw. über ne Callback-Funktion) zurück, was gerade geschieht (welche Zeile engelesen wird o.ä.) Damit gehts also imho nicht. Du kannst evtl. die Datei als Delphi-Referenz durchsuchenTextFile öffnen und dann zeilenweise ins Memo oderwasauchimmer kopieren. Dann weißt Du, welche Zeile gerade abgearbeitet wirst und kannst den Fortschritt angeben...

Ist aber... naja... nicht die beste Lösung :mrgreen:

Gruß
Stephan :dance:

killerkarl 19. Jan 2005 14:48

Re: Wärend des ladens Progressbar laufen lassen
 
hmm ok, danke

Boombuler 19. Jan 2005 14:52

Re: Wärend des ladens Progressbar laufen lassen
 
Zitat:

Zitat von Steve
Du kannst evtl. die Datei als Delphi-Referenz durchsuchenTextFile öffnen und dann zeilenweise ins Memo oderwasauchimmer kopieren. Dann weißt Du, welche Zeile gerade abgearbeitet wirst und kannst den Fortschritt angeben...

Ist aber... naja... nicht die beste Lösung :mrgreen:

Jap stimmt is wirklich nich die beste Lösung weil das in ein Memo Laden wird genau so lange dauern wie in eine Listbox (da beides auf die eigenschaft Read von TStreams zurück führt) und man also für das Laden im Memo schon fast wieder eine eigene Anzeige bräuchte ^^
(fass das bitte nich als Kritik auf Steve ich wollt nur sicher stellen das sowas keiner macht)´

Greetz
Boombuler

Ultimator 19. Jan 2005 14:53

Re: Wärend des ladens Progressbar laufen lassen
 
Allerdings solltest du beachten, dass ein Memo nur für Text bis zu 64K ausgelegt ist, nimm also besser ein Richedit ;-)

Hab das mal aus Falschheitsgründen gelöscht (glaube kaum, dass du unten genanntes verwendest ;-))

Luckie 19. Jan 2005 14:56

Re: Wärend des ladens Progressbar laufen lassen
 
Dies gilt nur für multiline Editboxen unter Consumer Windows.

Steve 19. Jan 2005 15:02

Re: Wärend des ladens Progressbar laufen lassen
 
Hi,

hatte da oben Memo *oderwasauchimmer* geschrieben, weil ich während des Tippens vergessen hatte, dass es um ne ListBox ging. War also nur als Beispiel gedacht, um das zeilenweise Vorgehen zu erläutern :)
Also bitte nicht drauf rumreiten (Das ginge am eigentlichen Thema vorbei ;) )

Gruß
Stephan :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 Uhr.
Seite 1 von 2  1 2      

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