Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Dateipfade bei choose file und display open panel attached..

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
roser
•-->
•-->


Anmeldedatum: 29.09.2003
Beiträge: 61
Wohnort: Solingen

BeitragVerfasst am: 30.09.2003 - 08:10    Titel: Dateipfade bei choose file und display open panel attached.. Antworten mit Zitat

Habe ein kleines Programm, in dem ich die Größe einer Datei in einer Variablen speichern möchte:

on clicked theObject
set derTitel to the title of theObject
tell open panel
set treat packages as directories to false
set can choose directories to false
set can choose files to true
set allows multiple selection to false
end tell
if derTitel = "Öffnen" then
display open panel attached to window "fenster_f"
end if
end clicked

on panel ended theObject with result withResult
if withResult = 1 then
set the pfadNamen to (path names of open panel as list)
set pfadName to item 1 of pfadNamen

set contents of text field "eingabe_tf" of window "fenster_f" to pfadName as string
end if
end panel ended

Benutze ich "choose file" ist der Pfadname: HD:Benutzer:.... Mit dieser Angabe kann ich z.B. eine Größe oder den Namen der Datei mit "data size" oder "name of" abfragen.

Bezogen auf das Programm
In der Variablen pfadName steht: /User/......., je nach Pfad.
Dies ist aber kein Pfad zu einem item (gem. der Fehlermeldungen).
Und jetzt das Problem: Wie mache ich aus dieser Angabe den Pfad zu einem item, in dessen properties die size (Größe) gespeichert ist?
Ist eine Konvertierung von /User... -> HD:Benutzer möglich?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 30.09.2003 - 21:15    Titel: Antworten mit Zitat

Ich habe das jetzt einfach mal im Skripteditor nachgestellt, da ich mir sonst erst ein Projekt in AppleScript Studio hätte anlegen müssen.

Du kannst ja mal probieren, ob dir folgendes weiter hilft:

set thePath to "/Users/snow/Desktop/Neuer Ordner/Attach Script to Folder.app"

set AppleScript's text item delimiters to "/"
set thePath to text items 2 thru (count of text items in thePath) of thePath
set AppleScript's text item delimiters to ":"
set thePath to (path to startup disk as string) & (thePath as string)

thePath as alias

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
roser
•-->
•-->


Anmeldedatum: 29.09.2003
Beiträge: 61
Wohnort: Solingen

BeitragVerfasst am: 01.10.2003 - 07:50    Titel: Danke. n/t Antworten mit Zitat

Danke, danke, aber schade, dass das "umgerechnet" werden muß.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
roser
•-->
•-->


Anmeldedatum: 29.09.2003
Beiträge: 61
Wohnort: Solingen

BeitragVerfasst am: 01.10.2003 - 14:05    Titel: Klappt nicht ganz, weil: Antworten mit Zitat

der POSIX-Pfad ausschliesslich in englischer Sprache angegeben wird, das System aber anderssprachige Namen verlangt.
Bsp.: Users <-> Benutzer; Documents <-> Dokumente

Vielleicht hat noch jemand eine Idee, wie die Umrechnung per Befehl erfolgen kann.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 01.10.2003 - 18:11    Titel: Antworten mit Zitat

Stammt das "Klappt nicht ganz" jetzt aus der Theorie oder aus der Praxis?

Normalerweise funktionieren nämlich die englischen Bezeichnungen durchaus. Der "User"-Ordner heißt bei mir auch "Benutzer" und trotzdem funktionieren die Pfadangaben.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
roser
•-->
•-->


Anmeldedatum: 29.09.2003
Beiträge: 61
Wohnort: Solingen

BeitragVerfasst am: 01.10.2003 - 20:14    Titel: jaja, war ein wenig voreilig, habe dafür aber die Lösung:!!! Antworten mit Zitat

der Ansatz lautet:

set quelldatei to POSIX file "/Users/xxx/Documents"

Ergebnis: HD:Users:xxx:Documents


Bitte kein "of" nach POSIX file,
dann klappts (auch mit dem Nachbarn). Razz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MDickten
•->
•->


Anmeldedatum: 26.01.2005
Beiträge: 12

BeitragVerfasst am: 26.01.2005 - 12:17    Titel: Naja Antworten mit Zitat

Das "set the ... to POSIX file ..." geht natürlich nicht immer, weil das schon beim Kompilieren umgerechnet wird. Die Frage ist, wie man beispielsweise ein AppleScript mit einem Posix-Pfad von außen füttern kann. (Bei uns etwa: Skript mit Platzhaltern wird von Cocoa-Anwendung vervollständigt und dann gestartet.) Dann funktioniert das Skript mit der Delimiter-Ersetzung gut, *solange* der Dateiname keinen Slash enthält. Genau das ist bei uns der Fall. Auwei....
Man müßte also jeden Bestandteil des Pfades einzeln darauf prüfen, ob es sich um einen legitimen Pfad handelt und anschließend erst konkatenieren.
*seufz*

MDickten
-----BEGIN GEEK CODE BLOCK-----
Version 3.1
GCS/M d--(++) s--: a? C++$ U P? L- E- W+ N o? K? w--- O? M++ V? PS PE Y+ PGP- t 5? X- R tv-- b++ CI++ D+ G++ e+++ h- r+++ x+++
-----END GEEK CODE BLOCK-----
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MDickten
•->
•->


Anmeldedatum: 26.01.2005
Beiträge: 12

BeitragVerfasst am: 26.01.2005 - 13:24    Titel: oder... Antworten mit Zitat

Laufwerksunabhängig und auch bei Dateien mit "/" im sichtbaren Namen sollte folgendes funktionieren. Schön ist es nicht, aber wenn's erstmal tut....
Code:

on myConvertPathToHFS from thePath
--Ich glaube, wenn der im Finder sichtbare Dateiname einen Slash
--enthält, wird der interne POSIX-Pfad mit Doppelpunkt gespeichert
set theTempPath to ""
set suchanfang to 2
if thePath begins with "/Volumes" then
   set suchanfang to 10
   set theDisk to ""
else
   set theDisk to (path to startup disk as string)
end if
repeat with i from suchanfang to (count characters of thePath)
   if character i of thePath is equal to "/" then
      set theTempPath to theTempPath & ":"
   else
      if character i of thePath is equal to ":" then
         set theTempPath to theTempPath & "/"
      else
         set theTempPath to theTempPath & (character i of thePath)
      end if
   end if
end repeat
   return (theDisk & theTempPath)
end myConvertPathToHFS

set r to myConvertPathToHFS from¬
    "/Volumes/PROJEKTE/Programmiertools/iText:1.zip"


liefert "PROJEKTE:Programmiertools:iText/1.zip". Sorry, ich hatte keine Lust, das alles noch schön bunt zu machen, kopiert es halt in den Skripteditor.

MDickten
-----BEGIN GEEK CODE BLOCK-----
Version 3.1
GCS/M d--(++) s--: a? C++$ U P? L- E- W+ N o? K? w--- O? M++ V? PS PE Y+ PGP- t 5? X- R tv-- b++ CI++ D+ G++ e+++ h- r+++ x+++
-----END GEEK CODE BLOCK-----
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter