Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fortschritt einer Methode anzeigen (https://www.delphipraxis.net/95611-fortschritt-einer-methode-anzeigen.html)

DelphiManiac 10. Jul 2007 13:04


Fortschritt einer Methode anzeigen
 
Hallo

ich habe (wie auch schon in anderen Postings erwähnt) eine Geräteklasse,

die die API meines Gerätes abbildet,
mann kann Werte im Gerät setzen, lesen, Gerätereset durchführen usw. usw.

U.a. habe ich eine Funktion die mehrere Parameter aus einer Datei(INI-File) liest und diese Werte der
Funktionen übergibt.

Also folgendermaßen:

Delphi-Quellcode:
TGeraet.Write_ParameterToDevice(ParDatei:string):integer;
...

function Write_ParameterToDevice(ParDatei:string):integer;
begin
...
Schreibe Parameter...
Schreibe Parameter...
Schreibe Parameter...

...
end;
Nun ruft eine Steuerung, zB.: meine GUI die Methode
Delphi-Quellcode:
Write_ParameterToDevice(ParDatei:string):integer;
auf und ich will aber, dass mein Fortschritt (ungefähr 200 Parameter) angezeigt wird (am besten in einem Fortschrittsbalken)

Häßlich (so habe ich es vor ein paar Jahren noch gemacht (bitte nicht steinigen) :-))
Delphi-Quellcode:
mainGui.fortschrittsbalken.Position:=0;
..
mainGui.fortschrittsbalken.Position:=10;
..
mainGui.fortschrittsbalken.Position:=100;
einfach in die Funktion mit eingebaut (ja ich weiß niemals auf eine konkrete Implementierung programmieren, sondern nur auf Schnittstellen...

2. mir bekannte Möglichkeit ein Eventhandler implmentieren

Delphi-Quellcode:
OnShowFortschritt(Pos:Integer;Sender:TObject)
und diesen dann in der GUI registrieren und mit den Werten was machen zB.: einen Fortschrittbalken zeichnen..

und in der Funktion
die OnShowFortschritt einfügen


Delphi-Quellcode:
function Write_ParameterToDevice(ParDatei:string):integer;
begin
...
Schreibe Parameter...
OnShowFortschritt(10,self)
Schreibe Parameter...
OnShowFortschritt(20,self)
Schreibe Parameter...
OnShowFortschritt(100,self)
...
end;
Wie würdet ihr das am besten umsetzen?

Danke... :drunken:


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