Announcement

Collapse
No announcement yet.

wie feststellen wann plattenplatz wenig wird???

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • wie feststellen wann plattenplatz wenig wird???

    Probier doch mal GetDiskFreeSpace

  • #2
    wie feststellen wann plattenplatz wenig wird???

    hallo,
    <br>
    <br>
    mein prog schreibt automatisch dateien, nun möchte ich aber eine <br>möglichkeit, rechtzeitig zu erfahren, wann der plattenplatz knapp wird<br>
    um darauf reagieren zu können, kenn jemand ne möglichkeit, wie ich <br>
    dies in erfahrung bringen kann (evtl. mit einer winsows-message)???

    <br>
    mfg
    ake

    Comment


    • #3
      Hi,
      hier ein kleines Beispiel. Als Schmankl kannst Du die Grenzwerte für eine Warnung und ein Zeitintervall der Abfrage in einer INI-Datei hinterlegen und eine Prüfung vornehmen. Als Parameter gibst Du das zu kontrollierende Laufwerk an.

      Ich hab das ganze dann in einen Timer eingehängt.

      Gruß Andreas

      <PRE>
      function aktuelleKapazitaet(a_Laufwerk:string):boolean;
      var
      lwa:string;
      lw:char;
      lw_nr, grenzwert, intervall:integer;
      bytefree, bytevoll: integer;
      byteproz :double;
      iniparam:TiniFile;
      begin

      Iniparam:=TIniFile.Create('MyINI.INI');
      grenzwert:= iniparam.ReadInteger('KAP','KapGrenzwert',100);
      intervall:= iniparam.ReadInteger('KAP','KapIntervall',10);
      Iniparam.free;
      if grenzwert > 0 then
      begin
      kap_timer.Interval:=intervall * 60000;
      lwa:=a_Laufwerk;
      if pos(':',lwa) > 0 then
      begin
      lwa:=copy(lwa,1,1);
      lw:=char(lwa[1]);
      lw_nr:=ord(lw)-64;
      end
      else
      lw_nr:=0;
      bytefree:=diskfree(lw_nr) div (1024*1024);
      bytevoll:=disksize(lw_nr) div (1024*1024);
      byteproz := bytefree / bytevoll * 100;
      showmessage( 'Frei: ' + formatfloat('##0.##',byteproz) + ' % bei: ' + floattostr(bytefree) + '/' + floattostr(bytevoll) + ' Mbyte');
      if grenzwert > bytefree then
      messagedlg('Achtung: Die Laufwerkskapazität liegt unter dem eingestelltem Grenzwert: ' + inttostr(grenzwert) + ' MB. Bitte benachrichtigen Sie Ihren Systemverwalter.',mtWarning ,[mbOK],0);
      end;
      result:=true;
      end;
      </PRE&lt

      Comment


      • #4
        Ach ja,
        die Zeile ist natürlich deppert und versorgt bei mir 'ne Statusbar..

        <PRE>
        showmessage( 'Frei: ' + formatfloat('##0.##',byteproz) + ' % bei: ' + floattostr(bytefree) + '/' + floattostr(bytevoll) + ' Mbyte');
        </PRE>

        Andrea

        Comment

        Working...
        X