Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie funktioniert eine Progressbar??

  Alt 6. Mai 2008, 08:40
Also in meiner ist ein schönes Beispiel:
Delphi-Quellcode:
// 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;
Und für StepIt:
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;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat