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 TProgressbar.
|
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?? |
Re: Wie funktioniert eine Progressbar??
Nun wirf dir endlich einfach mal eine ProgressBar auf ein Formular, stell Min und Max auf irgendwelche Werte, und dann dreh an Position rum. Das was du dann siehst, ist alles was sie macht, end of story, keine Messungen bla sonstwas.
|
Re: Wie funktioniert eine Progressbar??
Zitat:
Zitat:
|
Re: Wie funktioniert eine Progressbar??
Zitat:
> OH > IndexSuche > StepIt ProgressBar.StepIt zählt ProgressBar.Position um den Wert in ProgressBar.Step hoch. bei Fragen zu Funktionen und Sonstigem von Delphi und Windows empfehle ich die Suchfunktionen in der Delphi-Hilfe (OH), der Delphi-PRAXiS und im MSDN.net . [edit] RedBox ... huhuuuu, wo warst du? |
Re: Wie funktioniert eine Progressbar??
danke für die Antworten
@medium Ich will wissen wie sie funktioniert um eine eigene Progressbar zu erstellen, aber es scheint, dass es am Besten wäre wenn ich eine auf der Progressbar basierende Komponente erstelle. |
Re: Wie funktioniert eine Progressbar??
Zitat:
Aber du kannst sie sicher recht einfach selber malen. Musst sie entweder von TCustomControl (mit Windowhandle) oder von TGraphicControl ableiten. |
Re: Wie funktioniert eine Progressbar??
danke für den Tipp :thumb:
werde es mir einmal anschauen |
Re: Wie funktioniert eine Progressbar??
Hi,
oder du siehst die an wie TGauge gebastelt ist - die Beispielkomponente von Delphi. Die sollte sogar Personal Editionen beiliegen. Das wichtigste ist eigentlich, dass du drei Werte (Minimum, Maximum uns Position) hast und du dir daraus errechnen musst, wie weit du zeichnen willst (Verhältnisgleichung (Position-Min):(Max-Min)=ZeichnenBis:Breite (oder Höhe)). Mfg FAlter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 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