• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Dashcode Dateien

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Hallo liebe Community.

Ich suche nach einer Möglichkeit, eine Datei bzw. den Pfad zu einer Datei in Dashcode zu bekommen.
Versucht habe ich schon <input type="file"> was aber leider nicht funktioniert.

Welche Möglichkeiten habe ich sonst noch?
Ich würde auch eine Drop-Area benutzen, wenn ich wüsste, wie das geht.

Schon viele Widgets, die ich gesehen habe benutzen so was.
Aber wieso findet man dazu nichts im Internet?!


Vielen Dank für Tips.
Grüße
…
 
soweit ich weiß, kannst du den direkten pfad nie bekommen, nur über diesen type="file" dialog, der dann die datei weiter leitet, aber es wird kein ganzer pfard übermittelt...
 
Das funktioniert ja nicht.
Du kannst ja in einem Dashboard Projekt kein <input type="file"> einfügen, das ist doch mein Problem!

Aber ich habe jetzt folgende Möglichkeit gefunden:
Ich führe ein Applescript mit dem Terminal-Befehl osascript aus, welches mir einen direkten Dateipfad zurückgibt.

Wenn ich alles funktionstüchtig und fertig habe, werd ich meine komplette Lösung hier noch mal posten.


Grüße
…
 
Ich habe nun eine Lösung.
Diese ist aber (um ehrlich zu sein) ziemlich beschi**en…

Sie besteht aus zwei teilen. Zum einen einem AppleScript, welches in die Ressourcen des Widgets aufgenommen wird (unter dem Namen "file.scpt"):
Code:
tell application "System Events"
	activate
	set derPfad to POSIX path of (choose file of type "public.png")
end tell
get derPfad

Der andere Teil ist dann nur noch eine JavaScript Funktion, welche über einen Button aufgerufen wird:
Code:
function setInnerHTML(event)
{
    var ortung = document.location;
    var returning = widget.system(('/usr/bin/osascript file.scpt'), null).outputString;
    document.getElementById('textarea').value = returning;
}

Diese führt den Terminal Befehl osascript aus, und nennt das AppleScript aus den Widget Ressourcen als Script-Quelle.
Nach dem Klicken des Buttons wird nun also System Events aktiviert und ein File-Dialog angezeigt. Am Ende wird der Unix-Pfad zurückgegeben.

Problem:
Das Dashboard muss geschlossen werden, um den File-Dialog zu verwenden.
Nach Verwendung des Selbigen muss das Dashboard wieder geöffnet werden.

Das ist natürlich null benutzerfreundlich.


Wenn zu dem Thema jemand noch 'ne Tolle Idee hat, freu ich mich sehr, davon zu hören!
Liebe Grüße
…
 
Habe jetzt die perfekte Lösung.
"Einfach" ( :) ) eine Drop-Zone für Dateien. Nicht ganz easy… Aber es geht :)

Wenn das jemand genauer wissen will, dann such ich den Code gerne raus.