Hi, ich habe meinen Versuchsaufbau nochmal erstellt:
Code: Alles auswählen
Value.l = GetFileAttributes("/path/to/file")
If Value = -1
Debug "Fehler beim Lesen der Datei-Attribute!"
Else
If Value & #PB_FileSystem_ReadUser : txt$ + "ru-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_WriteUser : txt$ + "wu-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_ExecUser : txt$ + "exU-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_ReadGroup : txt$ + "rg-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_WriteGroup : txt$ + "wg-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_ExecGroup : txt$ + "exG-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_ReadAll : txt$ + "ra-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_WriteAll : txt$ + "wa-" : Else : txt$+"-0-" : EndIf
If Value & #PB_FileSystem_ExecAll : txt$ + "exA-" : Else : txt$+"-0-" : EndIf
Debug txt$
EndIf
und an diversen Dateien ausprobiert und diese Ergebnisse erhalten:
; ru-wu-exU-rg--0-exG-ra--0-exA- ... ausführbar
; ru-wu--0-rg--0--0-ra--0--0- ... pb
; ru-wu--0-rg--0--0-ra--0--0- ... html
; ru-wu--0-rg--0--0-ra--0--0- ... ini
; ru-wu--0-rg--0--0-ra--0--0- ... txt
; ru-wu--0-rg--0--0-ra--0--0- ... Text ohne extension
; ru-wu-exU-rg--0-exG-ra--0-exA- ... ausführbar
; ru-wu-exU-rg--0-exG-ra--0-exA- ... ausführbar
; ru-wu-exU-rg-wg-exG-ra-wa-exA- ... xml
; ru-wu-exU-rg-wg-exG-ra-wa-exA- ... png
; ru-wu-exU-rg-wg-exG-ra-wa-exA- ... bmp
; ru-wu-exU-rg-wg-exG-ra-wa-exA- ... wav
Da fragt sich doch, ob ich nicht besser den Aufruf mit default-Anwendung nutze, da es bei ausführbaren Programmen ja scheinbar keine Probleme macht? ... während aber im anderen Fall, mit der obigen If-Schleife zB eine xml nicht geöffnet würde
Das mit dem Mime-Typ ist mir bewußt. Dazu hatte ich in der LinuxApiLib schon eine Routine gefunden, mit der man das zugeordnete Programm ermitteln könnte. Das sprengt aber an dieser Stelle meinen simplen LauncherAnsatz und lass das erstmal unberücksichtigt.
Zunächt war mir nur grundsätzlich wichtig, dass es nicht ausschließlich nur für aufzurufende Anwendungen funktioniert, sondern mehr oder weniger für alle Dateien.
LG ~ Vera