![]() |
Wie funktioniert eine Progressbar??
hi
Meine Frage: Wie genau funktioniert eine Progressbar?? Ich will nicht wissen welche Befehle man benötigt, damit sie funktioniert, sondern was und wie sie es macht. Sucht sie sich die Befehle zwischen
Delphi-Quellcode:
und errechnet sich wie lange alles benötigt oder was macht sie genau??
Progressbar1.min:=0
//Anwendung Progressbar1.Position:=100 Wäre für Antworten dankbar. |
Re: Wie funktioniert eine Progressbar??
Woher soll sie wissen wie lange die Anweisungen dauern? Den Fortschritt musst du schon selber setzen. Entweder mit Position oder Step. Näheres dazu in der Hilfe unter
![]() |
Re: Wie funktioniert eine Progressbar??
ja schon,daher habe ich ja gemeint, dass sie sich die Befehle zwischen der Anordnung sucht.
Habe aber zur Funktion der Progressbar in der Delphi Hilfe nicht wirklich etwas gefunden |
Re: Wie funktioniert eine Progressbar??
Also in meiner ist ein schönes Beispiel:
Delphi-Quellcode:
Und für StepIt:
// Alle Datensätze in der Tabelle durchgehen
// und ProgressBar entsprechend nachführen. procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin with ProgressBar1 do begin Min := 0; Max := Table1.RecordCount; Table1.First; for i := Min to Max do begin Position := i; Table1.Next; end; // Operationen mit Datensatz durchführen... end; end; end;
Delphi-Quellcode:
// Im folgenden Beispiel werden schrittweise immer 10 Prozent einer
// Datei in einen Puffer gelesen. // Die Fortschrittsanzeige (ProgressBar) signalisiert den aktuellen Status. // Voraussetzung ist, daß sich im Formular bereits ein TButton-Objekt und ein // TProgressBar-Objekt befinden. procedure TForm1.Button1Click(Sender: TObject); const FName = 'c:\autoexec.bat'; var F: File; MyData: array[1..2048] of byte; BytesRead: LongInt; begin AssignFile(F, FName); try Reset(F); ProgressBar1.Max := FileSize(F); if (ProgressBar1.Max > 10) then // Umfang der Bewegung, wenn StepIt aufgerufen wird ProgressBar1.Step := ProgressBar1.Max div 10 else ProgressBar1.Step := ProgressBar1.Max; while (ProgressBar1.Position < ProgressBar1.Max) do begin // ein Datenpäckchen in den Puffer lesen BlockRead(F, MyData, ProgressBar1.Step, BytesRead); // Position der Fortschrittsanzeige mit StepIt nachführen ProgressBar1.StepIt; // move by Step amount end; finally; CloseFile(F); end; end; |
Re: Wie funktioniert eine Progressbar??
Luckie, in deinem ersten Beispiel ist ein end; zu viel
|
Re: Wie funktioniert eine Progressbar??
Ich habe es nur aus der D6 Personal Hilfe kopiert. ;)
|
Re: Wie funktioniert eine Progressbar??
Ein Progressbar ist nur eine "dumme" Anzeige, d.h. du gibst einen min und max Wert vor und abhängig davon was du anschließend als Pos zuweist, schlägt der Balken mehr oder weniger aus.
Also, wenn der Balken von links nach rechts wandern soll, musst du Pos schrittweise zwischen dem min und max-Wert erhöhen und zwar selbst! |
Re: Wie funktioniert eine Progressbar??
danke für die Antworten
und wie wird das dann als Komponente dargestellt? es werden dann alle Schritte einzelln angegeben oder wie?? Für einfaches Erklähren wäre ich wirklich dankbar, weil ich stehe fast schon auf der Leitung |
Re: Wie funktioniert eine Progressbar??
Wie wäre es, wenn du es einfach mal ausprobieren und dir angucken würdest?
|
Re: Wie funktioniert eine Progressbar??
das 1.oder das 2. Beispiel
was ist StepIt?? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 Uhr. |
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