Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Gauge auf Zeit + Herunterfahren (https://www.delphipraxis.net/89637-gauge-auf-zeit-herunterfahren.html)

Checker 3. Apr 2007 12:51


Gauge auf Zeit + Herunterfahren
 
Hallo, ich hab schon ein bisschen rumgeschaut aber nichts gefunden. Ich will einen Ladebalken machen der auf Zeit geht.

z.B. das der Ladebalken in 10 sek. bei 100% ankommt.

Bitte gut erklären ich bin in Delphi programmirung und überhaupt ein totaler noob. :oops: :lol:




Könnt ihr mir auch bidde gleich erklärn wie man macht das wenn der Balken bei 100% angekommen ist, der PC herunterfährt

glkgereon 3. Apr 2007 13:02

Re: Gauge auf Zeit + Herunterfahren
 
Also mit dem Ladebalken weisst du ja offensichtlich schon welche Kompo du da nehmen willst ;-)

Dann machst du eine einfache Schleife oder einen TTimer welche die Zeit runterzählt ( Sleep & Application.Processmessages )

Zum runterfahren:
Das kommt stark auf dein Betriebssystem an. Guck mal in unserer Codelib nach ShutdownShutdown

Checker 3. Apr 2007 13:06

Re: Gauge auf Zeit + Herunterfahren
 
Ja, danke, bloß ich kenn keinen einzigen Quelltext, ich such immer nach Quelltexten, weniger nach dem wie man es macht, leider find ich nie Quelltexte.

Ach ja, und danke wegen der Shutdownaktion da

scrat1979 3. Apr 2007 13:31

Re: Gauge auf Zeit + Herunterfahren
 
Hallo!

Hier mal ein Denkanstoß, wobei ich jetzt keine Diskussionen über die EXAKTE Genauigkeit auslösen möchte :-) Für den Zweck müsste es reichen... GetTickCount() rechnet übrigens in Milisekunden. Die Onlinehilfe leistet dir vielleicht auch noch einen Beitrag.
2. Möglichkeit wäre einen Timer zu nehmen mit Intervall = 1000 (= 1 Sekunde). GaugeMax auf gewünscht Sekunden setzen und beim OnTimer-Event Gauge1.Progress um eines erhöhen. Dann im gleichen Event schauen ab PercentDone = 100 -> Timer.enabled auf false setzen Windows herunterfahren.

Die erste Möglichkeit habe ich Dir mal schnell geschrieben:

Delphi-Quellcode:
var
    sekunden    : Integer;
    aktuell     : Integer;
[...]

  sekunden := 3; // Anzahl Sekunden zum zählen
  aktuell := gettickcount(); // Zeitstempel in Sekunden

  Gauge1.MaxValue := aktuell + (Sekunden*1000); // Ende der Berechnung
  Gauge1.MinValue := aktuell; // Aktueller Zeitstempel

  repeat
    Gauge1.Progress := gettickcount(); // Gauge brechnet aus dem max. und dem min. Wert die Prozente automatisch, wenn der aktuelle Wert zugewiesen wird (gauge1.percentDone, s. unten).
    Application.ProcessMessages; // sonst wirds nicht angezeigt...
  until gauge1.PercentDone = 100; // Fertig, wenn 100% erreicht

  // Hier Windows runterfahren...

Wenn Du alles in Sekunden umrechnest, dann ist die Animation nicht so "flüssig", man kann aber die Sekunden auch visuell wahrnehmen - auch nicht schlecht :-)

Grüsse,

SCRaT

Checker 3. Apr 2007 19:14

Re: Gauge auf Zeit + Herunterfahren
 
Ok danke! Werd ich heud mal ausprobiern!

Checker 7. Apr 2007 10:53

Re: Gauge auf Zeit + Herunterfahren
 
OK, das mit dem Ladebalken hab ich kapiert, es geht, aber das mit der Shutdown funktion ist mir zu kompliziert irgendwie, ok dann hab ich noch ne Frage:

Wie mach ich, dass Delphi ein anderes Progtramm öffnet?



Danke schon im Voraus :wink:

Nikolas 7. Apr 2007 11:09

Re: Gauge auf Zeit + Herunterfahren
 
Eine der wichtigsen Regeln im FOrum ist die, dass nur eine Frage pro Thread gestellt wird, um später noch was wiederfinden zu können. Eine andere ist, die, dass man doch bitte Mal die Suche benutzt, bevor man fragt. Also erst Suchen, dann finden, dann (k)einen zweiten Thread öffnen.


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