Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi freien Festplattenspeicher ständig aktualisieren??? (https://www.delphipraxis.net/43523-freien-festplattenspeicher-staendig-aktualisieren.html)

mlspider 5. Apr 2005 12:46


freien Festplattenspeicher ständig aktualisieren???
 
Hallo,

ich lasse mir den freien Festplattenspeicher wie folgt ermitteln:

Delphi-Quellcode:
procedure TSpeicher.DriveComboBox1Click(Sender: TObject);
var
  s: string[255];
  frei,
  gesamt: Double;
begin
 s:= UpperCase(DriveComboBox1.Drive);
 frei := diskfree(ord(s[1])-64);
 gesamt:= disksize(ord(s[1])-64);
 label1.caption := format('Frei     : %12.0n',[frei]);
 label2.caption := format('Gesamt: %12.0n',[gesamt]);
 Gauge1.Value :=round((gesamt-frei)/gesamt*100);
end;
Wie kann man nun den freien Speicherplatz z.b. bei einer Musikaufnahme ständig aktualisieren lassen???

Danke!!!

Torpedo 5. Apr 2005 12:47

Re: freien Festplattenspeicher ständig aktualisieren???
 
Kontrolliere ihn jede Sekunde. (siehe: Delphi-Referenz durchsuchenTTimer)

Luckie 5. Apr 2005 12:48

Re: freien Festplattenspeicher ständig aktualisieren???
 
In dem du DiskFree in einem Timer Ereiegnis oder in einem Thread regelmäßig aufrufst.

mlspider 5. Apr 2005 12:49

Re: freien Festplattenspeicher ständig aktualisieren???
 
An einen Timer habe ich auch schon gedacht. Nur wie?

Torpedo 5. Apr 2005 12:51

Re: freien Festplattenspeicher ständig aktualisieren???
 
Erstelle einen Timer, anschließend stellst ein Intervall ein, z.B. 1000 (=1 Sekunde).
Im OnTimer-Event aktualisierst du den freien Speicherplatz.
Wie das funktionierst weißt du ja schon.

Binärbaum 5. Apr 2005 12:53

Re: freien Festplattenspeicher ständig aktualisieren???
 
z.B. so:
Delphi-Quellcode:
Timer1.Interval:= 1000;
Timer1.OnTimer:= DriveComboBox1Click;
Timer1.Enabled:= True;

mlspider 5. Apr 2005 13:00

Re: freien Festplattenspeicher ständig aktualisieren???
 
Man, ihr seit ja heute wieder fix!!! Irgendwie stehe ich heute völlig neben meine Schuhe.

Delphi-Quellcode:
procedure TSpeicher.Timer1Timer(Sender: TObject);
var
  s: string[255];
  frei,
  gesamt: Double;
begin
 s:= UpperCase(DriveComboBox1.Drive);
 frei := diskfree(ord(s[1])-64);
 gesamt:= disksize(ord(s[1])-64);
 label1.caption := format('Frei     : %12.0n',[frei]);
 label2.caption := format('Gesamt: %12.0n',[gesamt]);
 Gauge1.Value :=round((gesamt-frei)/gesamt*100);
end;
So wird ein Schuh drauß.

Danke nochmals!!!

Binärbaum 5. Apr 2005 13:14

Re: freien Festplattenspeicher ständig aktualisieren???
 
Ja, so geht es auch.
Ich wollte eigentlich nur sagen, dass du, wenn du die Prozedur TSpeicher.DriveComboBox1Click(Sender: TObject) schon hast, diese Prozedur auch dem Timer als Ereignisprozedur zuweisen kannst, da die erwarteten Parameter ja die gleichen sind. Dann muss man das ganze nicht zweimal schreiben. :wink:

MfG
Binärbaum

mlspider 5. Apr 2005 13:16

Re: freien Festplattenspeicher ständig aktualisieren???
 
Stimmt. Und so sieht das Resultat meines Projekts aus.

Player.jpg


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz