Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   DiskFree-Alternative für iOS, MacOS und Linux (https://www.delphipraxis.net/200164-diskfree-alternative-fuer-ios-macos-und-linux.html)

philipp.hofmann 25. Mär 2019 19:26

DiskFree-Alternative für iOS, MacOS und Linux
 
Hi,

hat jemand schon DiskFree-Alternativen für iOS, MacOS und Linux am Laufen (falls möglich ohne tausend Zusatzbibliotheken)?
Bisher habe ich nur eine Android-Alternative.

Grüße, Philipp

Luckie 25. Mär 2019 21:00

AW: DiskFree-Alternative für iOS, MacOS und Linux
 
Was soll denn das genau sein? Wenn du von Alternative sprichst meinst du da eine vorhandene Windows Funktion/Routine/Klasse? Und wenn ja, auf was genau beziehst du dich?

philipp.hofmann 26. Mär 2019 08:57

AW: DiskFree-Alternative für iOS, MacOS und Linux
 
SysUtils.DiskFree(Drive:byte) gibt ein Laufwerk den freien Speicherplatz zurück, aber nur unter Windows.
Damit es überhaupt mit anderen OS funktioniert, prüfe ich zuerst ob ein Verzeichnis existiert, ermittele dann für dieses Verzeichnis die Laufwerks-ID und frage dann den freien Speicherplatz mit SysUtils.DiskFree ab:

Delphi-Quellcode:
    if (DirectoryExists(path,true)) then
    begin
      aDiskDrive := uppercase(StringReplace(ExtractFileDrive(path), ':', '', []));
      if (length(aDiskDrive) = 1) then
        Result:=DiskFree(ord(aDiskDrive[low(aDiskDrive)])-$40)
      else
        Result:=0;
    end;
Ich suche also eine Funktion um für ein Verzeichnis zu ermitteln, wie viel Speicherplatz noch auf der genutzten Partition frei ist.

Sherlock 26. Mär 2019 09:02

AW: DiskFree-Alternative für iOS, MacOS und Linux
 
Schau mal hier bei SO:
https://stackoverflow.com/questions/...on-android-ios

Sherlock

philipp.hofmann 26. Mär 2019 09:56

AW: DiskFree-Alternative für iOS, MacOS und Linux
 
Ich habe jetzt mal FlyFilesUtils.pas für iOS, MacOS und Android genutzt und dies funktioniert schon mal soweit. Allerdings waren schon noch ein paar uses-Anpassungen im Original-Code notwendig, damit es für IOS und MacOS kompilierbar wurde. Da musste ich für Android sieben pas-Files einbinden und für MacOS und iOS nur eines. Also recht übersichtlich.

Jetzt fehlt mir nur noch Linux.

Sherlock 26. Mär 2019 10:49

AW: DiskFree-Alternative für iOS, MacOS und Linux
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1428720)
Ich habe jetzt mal FlyFilesUtils.pas [...]

Kannst Du Chinesisch? :shock:

Sherlock

philipp.hofmann 26. Mär 2019 15:07

AW: DiskFree-Alternative für iOS, MacOS und Linux
 
Nö, aber die für mich relevante Methode habe ich vom Code her auch so verstanden und nun bei mir integriert und brauche dann nur noch eine zusätzliche Datei Androidapi.JNI.StatFs.pas aus dem ZIP-File, damit dieser Code auch auf Android läuft.

Aber wie gesagt, die Linux-Implementierung fehlt mir noch.


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