Wie finde ich heraus, ob ich eine Datei oder ein Verzeichnis über ein Filepanel oder Dropzone verarbeiten muss?
Meine diesbezügliche Lösung beinhaltet eine IF-Abfrage und eine Subroutine.
If-Abfrage:
Folder$=Quellvariable$
if(IfDirectory(Folder$))thenis_an_directory=1elseis_an_directory=2endif
print is_an_directory
Subroutine:
sub IfDirectory(filename$)return not system("test -d "+filename$)end sub
Um herauszufinden, ob ich ein Verzeichnis oder eine Datei
über ein Filepanel oder Dropzone zu verarbeiten habe, übergebe ich meinen
Dateipfad an die Variable Folder$ und verwende den Test Befehl um zu prüfen, ob
ich ein Verzeichnis in der Variablen übergeben habe.
Ist die Überprüfung positiv wird durch die If-Abfrage die
Zalenvariable is_an_directory
auf 1 gesetzt. Ist es kein Verzeichnis, wird der Wert auf 2 gesetzt.
If-Abfrage:
if(IfDirectory(Quellvariable$)) thenis_an_directory=1Folder$= Quellvariable$elseis_an_directory=2dim SplitFolderPath$(1)splitting = split(Quellvariable$, SplitFolderPath$(), "/")for i = 2 to splitting-1Folder$=Folder$+"/"+SplitFolderPath$(i)next iprint "folder:"+Folder$endif
Subroutine:
sub IfDirectory(filename$)return not system("test -d "+filename$)end sub
In
diesem Beispiel erweitern wir diese Überpürfung und ermitteln, egal was wir
abfragen (Datei oder Verzeichnis), wie der Dateipfad ist.
Ermittelt
der test Befehl ein „nicht“ Verzeichnis, wird die Quellvariable über einen
Array (SplitFolderPath$()) in seine Einzelteile zerschnitten. Um dies zu tun,
wird bei jedem „/“ Zeichen eine neuer Eintrag im Array angelegt.
Danach
werden alle Arrayeinträge wieder zusammengesetzt, mit Ausnahme des letzten
Eintrages.
Keine Kommentare:
Kommentar veröffentlichen