Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.





Share:
Notifications
Clear all

Lazarus - MacOS - Bepaal beschikbare disk ruimte  

  RSS

Hans
 Hans
(@hans)
Noble Member Admin
Lid geworden: 7 jaar geleden
Berichten: 1362
5 juni 2019 15:07  

Voor een van mijn projecten (ApplePi-Baker) wilde ik weten hoeveel ruimte er op een disk was, voor het opslaan van een tijdelijk bestand.
Helaas kon ik geen zinvolle systeem API's vinden en "df" werkt wel goed, maar ik wilde geen command-line tools gebruiken.

Dit is wat ik wilde bereiken: van een gegeven pad, b.v. "/Volumes/LIBREELEC/overlays" (op een USB stick), of "/users/Username" (Mac disk), wilde ik weten hoeveel ruimte er nog beschikbaar was.

Lazarus Pascal blijft me elke keer weer prettig verbazen met z'n handige functies, en op de volgende manier doe je dit voor MacOS (en waarschijnlijk Linux ook).

Als eerste moeten we een disk "toevoegen" met de "AddDisk" functie - het blijkt dat we hier gewoon een directory kunnen opgeven.
Deze functie geeft dan een nummer (byte) terug die we door kunnen geven aan de functie "DiskFree".

Dit ziet er dan b.v. zo uit:

... 
uses ... SysUtils ...; // default included in a project
...
var
  diskID:byte;
begin
  diskID := AddDisk('/Volumes/LIBREELEC/overlays');
  ShowMessage('Available disk space = '+ IntToStr( DiskFree(diskID) ) + ' bytes');
end;

En dat is alles ... eitje 


ReageerCitaat
Share: