Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Form mit Progressbar während Functions/Procedures laufen (https://www.delphipraxis.net/52090-form-mit-progressbar-waehrend-functions-procedures-laufen.html)

Helmi 23. Aug 2005 17:18


Form mit Progressbar während Functions/Procedures laufen
 
Hallo,

ich habe mal eine grundsätzliche Frage:

Ich habe eine Text-Datei die ich durcharbeite mit verschiedenen Proceduren und Functions.

Während dies geschieht erscheint eine Form, auf der sich eine ProgressBar befindet.
Diese ProgressBar läuft von 0 bis Ende während die Proceduren und Functions abgearbeitet werden.

Ist die Text-Datei durchgearbeitet ist auch die ProgressBar voll (Value = Max).

Ich habe das wie folgt gelöst:

- ProgressBar.Max auf "25" gesetzt
- ProgressBar.Min auf "0" gesetzt
- einen Timer mit Interval = 50
- im OnTimer des Timers folgendes drin:
Delphi-Quellcode:
  ProgressBar.Position := ProgressBar.Position + 1;

  If ProgressBar.Position = (ProgressBar.Min + 1) then
    begin
      //mach mal Procedure 1
    end;

  If ProgressBar.Position = (ProgressBar.Min + 2) then
    begin
      //mach mal Procedure 2
    end;

  If ProgressBar.Position = (ProgressBar.Max div 2) then
    begin
      //mach mal Function 1
    end;

  If ProgressBar.Position = ProgressBar.Max - 4 then
    begin
      //mach mal Function 2
    end;

  If ProgressBar.Position = ProgressBar.Max then
    begin
      Timer.Enabled := false;

     close;
    end;
Jetzt funktioniert das ja auch relativ gut - aber ich finde das nicht gerade sehr sauber programmiert.

Weiss jemand ne andere Lösung? oder kann man das so lassen, wie ich es gemacht habe?

Luckie 23. Aug 2005 17:22

Re: Form mit Progressbar während Functions/Procedures laufen
 
Warum denn ein Timer? Setz doch in jeder Prozedur die Progressbar weiter.

Helmi 23. Aug 2005 17:25

Re: Form mit Progressbar während Functions/Procedures laufen
 
wie genau meinst du das?

es sollte ja so eine art zustandsanzeige sein , je mehr schon fertig ist (auch einer procedure/function) desto weiter soll die progressbar sein

Luckie 23. Aug 2005 17:27

Re: Form mit Progressbar während Functions/Procedures laufen
 
Und da die Prozeduren nacheinander abgearbeitetw erden, setzt du am Ende jeder Prozedur deine Fortschrittsanzeige weiter.


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