Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 02.09.2004 - 15:45 Titel: choose file-Ergebnis: Alias oder Original? |
|
|
*æ=apfel?*æ auch nativ eingepastet wird *
"Hier ist HOPFEN und APFEL verloren:
kann meinen eigenen Mist nicht mehr löschen, füge ich halt das Ende oben ein aber ja Snows Beiträge unten stehen lassen!!! Danke
"Lieber SNOW, um deiner Hilfe irgendwie gerecht zu werden habe ich
4 Massnahmen getroffen:
• der Uebersicht zuliebe meine Fröglerei oberhalb gelöscht
( musste lange üben bis ichs erlickt hatte)
• die funktionstüchtige Final-Version zu der dein Rat nun geführt hat
• ein MonsterSnippet gelegt(Typ Straussenei!) ins Classic
das kopierbar sofort läuft und alle 3 Versionen der Pfadsuche
ermöglicht.(Das skripten war ein Kinderspiel im Vergleich zum
einfügen ins Forum, Bibelzitat: °..schwerer für den Reichen ins
Himmelreich als
für ein Kamel(wie ich) durch (Snows) Nadelör.
• mir und anderen hoffentlich auch bewiesen dass choosen eigentlich
nun ad absurdum geführt ist: beim choosen beraubt man sich
sämtlicher sinnvoller Hilfsmittel des Macs wie:
1) einziehen des Ziels direkt ins öffenen-Fenster
2) Der Sherlock-Hilfe!
Snow, die Gemeinde brüllt nach: Ziel antippen(Sherlock oder aufHD)
--> direkt Pfadangabe als Text(HD:asdf:ASDFASDF) und Referenz lesen:
beides geht nämlich nicht mit AS-Funktion: VERWEIS EINSETZEN,
die schreibt nämlich wieder alles verkehrt.
Im folgenden die def. Fassung des Kurzskiptes das den Pfad eines Zieles
sowohl übers Alias wie auch Direktanwahl ins Worksheet legt
(sheet = Exkremente zu deutsch ??)oder Ergebnis.. oder wie sie alle
heissen "
--SKRIPT:
tell application "Finder"
set ANFZ to "\""
set StartupDisk to name of startup disk
set FilePFAD to {}
activate
set FilePFAD to (choose file with prompt ¬
"wähle File/o.Alias[*æ]-D wenn auf Schreibtisch") as string
try
set AliasPfad to ¬
(reveal original item of file ¬
FilePFAD) as string
set FilePFAD to AliasPfad
end try --dadurch wird man immer zum Original-Objekt geführt
--egal ob nun am File oder dessen Alias ge-choost wird
--damit kann man OrdnerPfade gewinnen durch dessen Alias
activate
set the clipboard to ANFZ & FilePFAD & ANFZ
FilePFAD
end tell _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Zuletzt bearbeitet von spirigwi am 05.09.2004 - 15:54, insgesamt 9-mal bearbeitet |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 02.09.2004 - 17:10 Titel: |
|
|
Hallo Willy,
das ist ja eine interessante Problematik. Im Finder gibt es zwar die Klasse 'alias file', mir ist es jedoch nicht gelungen, diese Klasse abzufragen.
Über einen kleinen Umweg gibt es dennoch eine Lösung. Man kann testen, ob es zu diesem Alias ein Original-File gibt. Wenn dieser Test fehlschlägt, ist es entweder kein Alias oder die zugehörige Original-Datei existiert nicht mehr.
Hier vorerst einmal die Behelfslösung:
set FilePFAD to choose file -- ein Alias auswählen
tell application "Finder"
try
get original item of FilePFAD
on error
--kein Alias
beep 2
end try
end tell
Werde mal sehen, ob ich noch eine bessere Möglichkeit finde. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 02.09.2004 - 17:16 Titel: Re: choose file-Ergebnis: Alias oder Original? |
|
|
spirigwi hat Folgendes geschrieben: | tell application "Finder"
set FilePFAD to (choose file) as string
--Ergebnis bei Originalfile-Wahl:
"McChef:Bild 1"
--Ergebnis bei Alias-file-Wahl(dies auf Schreibtisch)
"McChef:Desktop Folder:Bild 1"
end tell
--etwa so???
get file type of FilePFAD
"diesen Satz versteht mein AS umsVerreckenNICHT!?
Brauche Notarzt, kann leider weder gut deutsch noch englisch noch AS.." |
Das liegt daran, dass du keine gültige Referenz verwendest, sondern nur einen Textwert. Schuld ist 'as string' in dieser Zeile:
set FilePFAD to (choose file) as string
Lass einfach mal 'as string' weg und ganz wichtig, schreibe diese Zeile noch innerhalb des Finder-Tell-Blocks.
Allerdings bringt uns das nicht weiter, da 'file type' den Dateityp der Originaldatei wiedergibt. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 02.09.2004 - 17:26 Titel: |
|
|
So, hier kommt die Lösung:
set FilePFAD to choose file -- ein Alias auswählen
tell application "Finder"
get kind of item FilePFAD
end tell
Ergebnis: "Alias"
Bei der Original-Datei heißt es z.B. "Filemaker Pro Dokument".
Bei der Klasse 'item' wird man schließlich fündig. Wie kommt man drauf?
Beobachten, welche Eigenschaften geerbt werden. Bei 'alias file' steht:
<Inheritance> file
Bei der Klasse 'file' ist auch nichts brauchbares dabei außer:
<Inheritance> item
Und hier gibt es die Eigenschaft 'kind', was also genau die Art des Dokuments liefert. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 03.09.2004 - 01:32 Titel: kind um typ(alias file) herauszufinden das beste |
|
|
[size=10]"SNOOOOOOOOWWWWWWW!!!!!!!!!!!![color=#1822CD], vom feinsten! Danke vielmals
Da ich sowieso nicht löschen kann(X) fehlt! solls gelten
Zuletzt bearbeitet von spirigwi am 04.09.2004 - 23:46, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 03.09.2004 - 09:38 Titel: Re: kind um typ(alias file) herauszufinden das beste |
|
|
spirigwi hat Folgendes geschrieben: |
-- dein wörtlich ausgeführter Tipp oben ergibt bei mir
-- in beiden Fällen(ob Alias oder File anwählt)2 beep-ser!
-- ev wegen meinem blöden "as string" ?
-- Beispiel einfachst: "Bild 1" in HD und "Bild 1" als Alias davon
-- auf dektop und vom Namen her nicht als solches erkennbar. |
Dass in jedem Fall 2 beep-ser kommen liegt in der Tat an 'as string'. Du hast dadurch keine gültige Referenz - nur ein Stück Text.
'choose file' liefert als Ergebnis eine gültige Referenz wie z.B.
alias "Datengrab:Desktop Folder:Testbase"
Daran musst du im Normalfall nichts mehr ändern. 'as string' brauchst du nur, wenn du Pfadangaben zusammensetzen oder einen Teil der Pfadangabe extrahieren willst.
Beispiel:
set PFAD to (path to desktop as string) & "Testbase:"
Ergebnis:
"Datengrab:Desktop Folder:Testbase"
Da hier das Ergebnis wieder ein Textwert ist, kann man es so nicht als Referenz benutzen. Du musst zuerst wieder dafür sorgen, dass es zu einer gültigen Referenz wird.
set PFAD to ((path to desktop as string) & "Testbase") as alias
oder:
set PFAD to (path to desktop as string) & "Testbase"
set PFAD to PFAD as alias
Hier noch eine Berichtigung von zwei Postings weiter oben:
Snow hat Folgendes geschrieben: | Lass einfach mal 'as string' weg und ganz wichtig, schreibe diese Zeile noch innerhalb des Finder-Tell-Blocks. |
Da war ich wohl leicht verwirrt.
'choose file' muss natürlich nicht in einem Finder-Tell-Block stehen, da dieser Befehl Teil der Standard Additions ist, und somit freistehend im Skripttext funktioniert. Was ich eigentlich sagen wollte ist, dass der Satz "get file type of FilePFAD" innerhalb des Finder-Tell-Blocks stehen muss, da 'file type' nur vom Finder erkannt wird. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 04.09.2004 - 23:56 Titel: Finalversion ganz oben |
|
|
Nein nein! ich Idiot habs extra aus dem Finder Tell-Block genommen um der Fehlermeldung zu entgehen.besser wäre natürlich entschärfen mit --!
Da man nachher klüger wird hab ich die Finalversion ganz zuoberst wieder hingeschrieben.
Nochmals vielen Dank _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
 |
|