Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ProgressBar für Anfänger (https://www.delphipraxis.net/23311-progressbar-fuer-anfaenger.html)

Meflin 1. Jun 2004 12:33

Re: ProgressBar für Anfänger
 
Zitat:

Zitat von Nicodius
"--> interval ist nur für die zeit wo die aktionen im timer ablaufen!! "

das hab ich doch gesagt ....

du sagtest vor allem das intervall ncht entscheidend währe und das ist kompletter schwachsinn!

Nicodius 1. Jun 2004 12:34

Re: ProgressBar für Anfänger
 
naja man kanns so oder so nehmen

bei deiner kan man auch gleich eine Actionslist machen ;)

Meflin 1. Jun 2004 12:37

Re: ProgressBar für Anfänger
 
nein, weil dann fehlen wieder die 2 sekunden verzögerung. die müsste man dann mit sleep reinmachen und das wär ja auch ziemlich blöd oder?

Stanlay Hanks 1. Jun 2004 12:38

Re: ProgressBar für Anfänger
 
Hi. Also wenn du in der Delphi Hilfe nachschaust (F1 drücken ;) ), dann findet sich da denke ich, eine ganze Menge.

Aber trotzdem ;) :

Die ProgressBar wird meistens für Fortschrittsanzeigen verwendet. Wenn du also zum Beispiel eine Schleife (For Schleife) hast, kannst du mit der ProgressBar dem Anwender zeigen, bei welchem Durchlauf die Schleife gerade ist.

Dazu sind eigentlich für den Anfang nur 2 (und eine "kleine") Eigenschaften und eine Prozedur wichtig:
  • Max: Max ist ein Integer Wert, der angibt, wann die ProgressBar zu 100 % ausgefüllt ist. Ist Max also z.B. 50, kann die ProgressBar in 50 Schritten voll ausgefüllt werden. Das hat aber nichts mit den "Kästchen", also den angezeigten Einheiten zu tun. Die werden je nach Breite der ProgressBar gleichmäßig verteilt.
  • Position: Position ist ebenfalls ein Integerwert, der angibt, bei welchem Schritt die ProgressBar sich gerade befindet. Wenn also Max z.B. wie im Normalfall 100 ist, und Position den Wert 50 hat, ist die ProgressBar ungefähr zur Hälfte ausgefüllt.
  • StepIt: StepIt ist eine Prozedur, die den Wert von "Position" erhöht. Im Normalfall wird Position durch "StepIt" um zehn erhöht.

    StepIt ist also eigentlich nur eine "Abkürzung" für

    Delphi-Quellcode:
    ProgressBar.Position := ProgressBar.Position + x; //Im Normalfall ist x 10
  • Step: Step ist ein Integerwert, der Angibt, um wieviel die Prozedur "StepIt" die Eigenschaft Position erhöht. Setzt du also Step auf 20, wird bei jedem "StepIt" die Eigenschaft Position um 20 erhöht.

    Alternativ zu "StepIt" und "Step" kann man auch die Funktion "StepBy(x)" verwenden. "x" muss dann ein Integerwert sein. Mit StepBy kannst du Position um die in Klammern angegebene Zahl hinauf, oder hinunter setzen (dann eben mit einer negativen Zahl)

Zum Abschluss vielleicht noch ein kleines Beispiel:
Du hast eine ListBox und möchtest jeden Eintrag in eine zweite Listbox kopieren. Dabei soll der Fortschritt in einer ProgressBar angezeigt werden.

Delphi-Quellcode:
var i, anz: Integer; //i ist die Zählvariable für die For Schleife und anz (Für Anzahl) ist eine Variable, in der wir zur Vereinfachung die Anzahl der Einträge in der Listbox zwischenspeichern.

begin
  anz := ListBox1.Items.Count; //Anzahl der Einträge wird zwischengespeichert
  ProgressBar.Position := 0; //ProgressBar wird auf 0 gesetzt.
  ProgressBar.Max := anz; //Max wird auf die Anzahl der Listbox Einträge gesetzt
  ProgressBar.Step := 1; //Die Anzahl der Schritte für StepIt wird festgelegt

  For i := 0 to anz -1 do //-1, da der Index von Lilstboxeinträgen bei 0 anfängt und so andernfalls ein Schritt zuviel da wäre.
    begin
      ListBox2.Items.Add(ListBox1.Items[i]); //Der ListBox wird ein neuer Eintrag hinzugefügt und
      ProgressBar.StepIt; //Position wird um eins nach oben gesetzt.
    end;

  ProgressBar.Position := 0;
end;
So, ich hoffe, dass dir das etwas weitergeholfen hat.

Man liest sich, Stanlay :hi:

[Edit] Also als ich zu schreiben angefangen hab, waren da noch keine Antworten. Aber so is das halt in der DP :mrgreen:[/Edit]

Meflin 1. Jun 2004 12:42

Re: ProgressBar für Anfänger
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab jetzt auch ein besp gemacht:

rossinie00 1. Jun 2004 13:02

Re: ProgressBar für Anfänger
 
der füllt bei mir aber nur 2 kästchen aus :-(
also etwa 1/10 von der ganzen bar

Meflin 1. Jun 2004 14:13

Re: ProgressBar für Anfänger
 
meinst du meins? also bei mir hat das gefunzt :gruebel:

rossinie00 1. Jun 2004 14:13

Re: ProgressBar für Anfänger
 
bei mir :-(

Meflin 1. Jun 2004 14:19

Re: ProgressBar für Anfänger
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich habs nochmal probiert, es geht, hier die exe dazu:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz