Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Progressbar in einer Schleife erzeugen?? (https://www.delphipraxis.net/35908-progressbar-einer-schleife-erzeugen.html)

Helmi 13. Dez 2004 15:40


Progressbar in einer Schleife erzeugen??
 
Hallo,

ich hab mal wieder eine Frage:

ich hab eine for-Schleife in der ich bei jedem Durchlauf eine Progressbar erzeuge, beschreibe und danach wieder abschiesse.

Code:
Code:
//hier oben ist eine for-Schleife


            //Progressbar in der jeweiligen Zeile in der Spalte fünf erzeugen
            Progressbar_Rect := Items[i].DisplayRect(drBounds);

            with Progressbar_Rect do
              begin
                Left   := Left + Columns[0].Width + Columns[1].Width +
                                  Columns[2].Width + Columns[3].Width;

                Right  := Left + Columns[4].Width - 1;
                Bottom := Bottom - 1;
              end;

            //Progressbar erzeugen
            PB_Status := TProgressBar.Create(Self);

            with PB_Status do
              begin
                Parent     := Listview_Dateien;
                BoundsRect := Progressbar_Rect;
                Position   := 0;
              end;

            Items[i].Data := PB_Status;

            try
              //
              Application.ProcessMessages;

              //Datei kopieren
              CopyFileWithProgressBar(QuellDatei, SpeicherDatei, PB_Status, true);

              //Code 1
              Info_Code := 1;

              //kurze Wartezeit
              sleep(1000);
            finally
              //Progressbar freigeben und löschen
              FreeAndNil(PB_Status);
            end;
Jetzt meine Frage: Was ist besser - eine Progressbar im OnCreate erzeugen und dann bei jedem Schleifendurchgang neu anzeigen undbeschreiben lassen oder bei jedem Schleifendurchgang neu erzeugen und zum Schluss wieder abschiessen?

mfg
Helmi

Luckie 13. Dez 2004 15:42

Re: Progressbar in einer Schleife erzeugen??
 
Warum das Vorgehen? Ich würde sie zur Designzeit erstellen und immer, wenn ich sie brauche sichtbar machen.

SubData 13. Dez 2004 15:42

Re: Progressbar in einer Schleife erzeugen??
 
Ich würde sagen, dass ein Neu beschreiben schneller geht, als komplett neu erzeugen... Ich lasse mich aber gerne eines besseren belehren, wenn ich im Unrecht sein sollte :>

Edit: zu langsam :gruebel:

alcaeus 13. Dez 2004 15:42

Re: Progressbar in einer Schleife erzeugen??
 
Hi Helmi,

das dürfte wohl relativ klar sein: einmal erstellen und x mal anzeigen ist sicher schneller und weniger speicheraufwändig also x mal erstellen, anzeigen und zerstören.

Greetz
alcaeus

Helmi 13. Dez 2004 15:45

Re: Progressbar in einer Schleife erzeugen??
 
oki
danke :-)

das wollt ich hören :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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