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.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus - MacOS - Bepaal beschikbare disk ruimte

1 Berichten
1 Gebruikers
0 Reactions
2,066 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2860
Topic starter  

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 


   
BeantwoordenCiteren
Deel: