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

Pfad zum Schreibtisch - path to desktop-Spez:MINI=SERVER
Gehe zu Seite 1, 2  Weiter
 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 13.05.2005 - 07:56    Titel: Pfad zum Schreibtisch - path to desktop-Spez:MINI=SERVER Antworten mit Zitat

Very Happy super was ihr da macht, finde ich

ich habe auch "Sändi's Additions" drauf und vor allem auch Smile als Skriptprogramm(hast du das auch, dann kannst du ganz leicht alles ersetzen lassen auf OS9
Auf OSX gibts ja neulich den ScriptEditor, der kann das auch in etwa u.s.w)
trotzdem muss ich einen teil deines Skripts auslassen, ... mein liebster CLAE ,,musste reeditieren da micht Snow rübergeschmissen hat nun will ich als erste Korrektur brav richtig zitieren... weil bei mir
Get Current Printer
nicht kompilierbar ist. Hast du oder Snow eine Erklärung?
(mein Gott jetzt hat mich Snow aber ins schwitzen gebracht mit formatieren, huch!

CLAE hat Folgendes geschrieben:
property WatchFolder : "" -- anstelle von "" hätte ich "Drucken" geschrieben. Der Ordner heißt so und liegt auf dem Desktop
property GedruckteOrdner : "" --anstelle von "" hätte ich hier "Gedruckte Dateien" geschrieben


on doJob()
-- ab hier hätte ich weggelassen
if WatchFolder = "" then
set WatchFolder to ¬
choose folder with prompt "Welcher Ordner soll überwacht werden?"
end if
if GedruckteOrdner = "" then
set GedruckteOrdner to ¬
choose folder with prompt "In welchen Ordner sollen die gedruckten Dateien verschoben werden?"
end if
-- Ende weggelassene Dinge
tell application "Finder"
set FileList to every file of WatchFolder
if FileList is not {} then
repeat with oneFile in FileList
set theInfo to info for oneFile
if busy status of theInfo = false then
--Dieses Scriptteil wählt den Drucker CX6400 aus der Auswahl aus es benötigt "Sändi's Additions"
-- (*
if (Get Current Printer) is not "CX6400" then
tell application "Finder"
activate
select file "Auswahl" of folder "Apple-Menü" of folder "Systemordner" of startup disk
open selection --Auswahl öffnen
delay 5 -- kleine Pause bis es wirklich offen ist
TypeText "c" -- Anfangs Buchstabe des Druckers
delay 3 -- kleine Pause bis er wirklich soweit ist
TypeText "w" with Command -- Apfel+w um das Auswahl-Fenster zu schließen
delay 3 -- Es erscheint jetzt die Warnung, das man das Papierformat ändern sollte.
TypeText return -- die Meldung wird bestätigt
end tell
end if
--*)
print oneFile with properties "Acrobat Reader"
--drucken der datei
delay 30
TypeText return
tell application "Finder"
move oneFile to GedruckteOrdner
end tell
end if
end repeat
end if
end tell
end doJob

on idle
my doJob()
return 10
end idle


Question Frage 1 also oben im (* *)-Teil deines Skripts


Beim Navigieren zum festlegen irgendeines Pfades in abstrakter Form hilft dir ev. dieses Snippet das dir
als Ergebnis wenns ZB im Skript Menu geparkt ist in dieser Form dann die Pfade vorlegen würde:

http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1118

macht:

-- ==================================================
property STARTNAME : {}
-- ==================================================
my PROPERTYER()
----------------
on PROPERTYER()
set STARTNAME to (first item of (list disks)) as string
--im Moment zwar nicht nötig aber schon mal vorgesehen für kompliziertere Skriptteile
end PROPERTYER
---------------------property MUSTER-----------------
tell application "Finder"
set PFAD to ((first item of (list disks)) as string) & ":" & ¬
"Desktop Folder:Drucker:"
open folder PFAD --für ORDNER!
activate
end tell
"mcchef:Desktop Folder:Drucker:"




Damit noch einen kleinen Abstecher zu Snow:
Snow hat Folgendes geschrieben:
sondern zu einem Ordner innerhalb des Desktop-Ordners
(dieser ist übrigens unsichtbar unter OS 9).


Question Welcher Ordner ist unsichtbar? ich habs nicht ganz gechect.
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 18.05.2005 - 12:36, insgesamt 5-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 13.05.2005 - 15:43    Titel: Antworten mit Zitat

spirigwi hat Folgendes geschrieben:
Damit noch einen kleinen Abstecher zu Snow:
Snow hat Folgendes geschrieben:
sondern zu einem Ordner innerhalb des Desktop-Ordners
(dieser ist übrigens unsichtbar unter OS 9).


Question Welcher Ordner ist unsichtbar? ich habs nicht ganz gechect.


Der Desktop-Ordner unter OS 9. Unter OS X liegt er ja sichtbar im Home-Verzeichnis des Users. Unter OS 9 liegt er auf der obersten Ebene der Festplatte - aber eben unsichtbar.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 14.05.2005 - 16:49    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Unter OS 9 liegt er auf der obersten Ebene der Festplatte - aber eben unsichtbar.

stimmt hab ich ganz vergessen, warum, sag ich auch noch:

auf allen OS9 hab ich Now Utilities 6.0(=Jahrgang 96, sic!= stimmt=genau so) installiert was diesen dann wieder ganz einfach sichtbar hält: In Menu opt-ctrl kann man den Startdisk einfach drauf-ziehen, dann sieht man alle Unterordner, die das Herz begehrt, mit durchangeln aus irgend einem Programm heraus(auch aus ...Word...) mit ctrl_Alt-Taste plus langer Klick der Maus):
da sieht man natürlich den ganzen Baum inklusive Desktop Folder und dessen Inhalte und das auch auf jedem OSX-Rechner. usw

Bitte nicht beleidig sein: dasselbe Ding läuft genau so gut unter OSX-Tiger-Classic , mein Mac Mini inklusive
nur !
Tiger selbst läuft ja nicht wies sollte (sie verstehen nämlich die Nutzerrechte ihres UNIX-Unterbaues nicht mehr diese Tigers..)

Nun worauf ich aus für CLAES¿ Skript:(kann richt. Name aus Forumfenster nicht lesen, sorry)

der path to desktop ist sicher wesentlich professioneller als Xxx..User:Desktop...usw und auch immer richtig unabhängig von sekundären Fummeleien des users an ZB-Tiger-Reparaturversuchen nach Mitternacht und frustranen Rückschlägen weil er auf Desktop keine images mehr frei geben kann dieser Tiger...

Aber: path to desktop -das Resultat braucht dann leider auch wieder professionelle Hilfe:
wohin das Wort Alias¿ wohin der string¿ was ist text und was ist string¿ Warum macht er plötzlich Probleme aus heiterem Himmel wenn der als text in Variable zu machender Pfad path to desktop plötzlich die Orientierung zu verlieren scheint nach 2-3 völlig problemlosen durchläufen

Sicher etwas zum diskutieren oder ist da alles klar?
erste Frage wäre ZB Question
muss das so sein?
Snow hat Folgendes geschrieben:
Unter OS X liegt er ja sichtbar im Home-Verzeichnis des Users.

Ja, da er nicht verschiebbar sondern nur kopierbar gehalten wird vom UNIX, auch wenn man wie andern Ordner solcher Eigenschaft den eigentümer nicht einfach wechseln kann und dann kann man verschieben, nein bei Schreibtisch bleibt das so, was ja auch gut ist, nicht zuletzt zu gunsten alte AS-Formulierungen wie "Desktop folder"...
(reeidirt, da mir die antwort selbst durch herumpröbeln gekommen ist)
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 14.05.2005 - 23:54, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 14.05.2005 - 18:32    Titel: Antworten mit Zitat

spirigwi hat Folgendes geschrieben:
wohin das Wort Alias¿ wohin der string¿ was ist text und was ist string¿ Warum macht er plötzlich Probleme aus heiterem Himmel wenn der als text in Variable zu machender Pfad path to desktop plötzlich die Orientierung zu verlieren scheint nach 2-3 völlig problemlosen durchläufen


Ob 'text' oder 'string', das ist ganz egal - es ist das Gleiche - nämlich reiner, unformatierter Text.

Problematischer wird's dann mit 'styled text' oder 'Unicode text'.

Wenn du also innerhalb des Skriptes einen Textwert benötigst, kannst du stets 'as text' oder 'as string' schreiben, ohne dass dies einen Unterschied machen würde.

Wann braucht man nun 'as alias'?
Sobald du auf ein Objekt zugreifen musst.

Wenn dir klar ist, dass du eine Referenz zum Desktop mehrmals im Skript brauchst, dann belasse es bei einer Referenz. Soll der Pfad aber nur Teil einer Pfadangabe sein, kannst du ihn gleich zu einem Text umwandeln. - Später wird ja die gesamte Pfadangabe wieder zur Referenz umgewandelt.

set Deskpfad to path to desktop
--
alias "X Disk:Users:snow:Desktop:"
--
= Referenz
set PfadZuFehler1 to (Deskpfad as string) & "Fehler-Liste.txt"
--
"X Disk:Users:snow:Desktop:Fehler-Liste.txt"
--
= Textwert
set PfadZuFehler2 to (Deskpfad as string) & "Fehler-Liste(2).txt"
--
"X Disk:Users:snow:Desktop:Fehler-Liste(2).txt"
--
= Textwert
set RefZuObjekt to PfadZuFehler1 as alias
--
alias "X Disk:Users:snow:Desktop:Fehler-Liste.txt"
--
= Referenz


Man muss sich doch einfach nur merken, dass man eine Pfadangabe nur zusammensetzen kann, wenn alle Einzelteile aus einem Textwert bestehen.

Folgendes Skript ergibt keinen zusammengesetzten Pfad, sondern eine Liste:

set Zusammengesetzt to alias "X Disk:Users:snow:Desktop:" & "Fehler-Liste.txt"

Das gleiche mal als simple Rechenaufgabe:

x + 3 = 12 -- Einheit: Äpfel

Hier bekommst du auch nur das richtige Ergebnis, wenn x 9 Äpfel ist.
Bei x = 9 Birnen gibt es auch nur eine Liste {9 Birnen, 3 Äpfel} aber nie 12 Äpfel.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 14.05.2005 - 23:22    Titel: Antworten mit Zitat

Danke Snow, das war eine Zusammenfassung vom feinsten.

da clae ja ein Desktop -Problem hat, hier nochmals eine ergänzende Frage an dich:

da wir uns immernoch auf    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum befinden sei die Frage erlaubt:

Was spricht nun definitv dagegen dass man prinzipiell in AS auch den Desktop Pfad wie alle überigen Pfade und seien sie Programm-folder usw , von vorneherein als Text ausformulieren lässt (natürlich immer den user durch abstrakte Formulierung als Formel sozusagen umgehend) und dann keine hin und Rückübersetzung Referenzpfade mehr nötig wären?
etwas so:

Zitat:
set PFAD to ((first item of (list disks)) as string) & ":" & ¬
"
Desktop Folder:Drucker:"


die Frage hast du natürlich bereits einmal im Forum beantwortet, aber ich meine dort etwas zu kurz ("...frei: der Weg zum Desktop auf OSX sei zu weit, lange?...")

Wäre denn das so schlimm? Gibt es merkliche Bremser für die paar Desktop folder Ordner und deren spärliche AppleSkripts die sich darauf beziehen?
Ist nicht clae der Beweis dafür dass er seit Urzeiten des Forums wieder mal der einzige ist der darüber nachfragt und man daraus schliessen dürfte, dass man diese sehr selten braucht und wenn schon meist nur in einem Vorstadium des Skriptens um leicht erkennbare Resultate zu sehen "mal so fürs erste", wo ja die speed -performance nicht so eine gravierende Rolle spielt?

ich meinte clae unterschieben zu dürfen dass er Ordner DRUCKER auf schreibtisch hat weils direkt daneben die Desktop-Drucker Bildli gibt in die man so ein File aus dem Drucker einfach hineinziehen könnte, stimmt das @clae ?

Also: spielt sie überhaupt eine relveante Rolle, die speed-Frage meine ich?

Vielleicht noch einen Vorteil der "prinzipiellen" vollständigen Ausformulierung von Pfaden als Text, damit
Snow hat Folgendes geschrieben:
alle Einzelteile aus einem Textwert bestehen.
:

Man wird sich nie Sorgen machen müssen in Zukunft über die Compilierbarkeit auf OS9 und solange OSX seine Architektur mit Private--Schreibtisch--Programme--librery nicht namentlich ändert, auch nicht: das erscheint mir übrigens extrem unwahrscheinlich dass sie das wagen würden, was mein ihr?

folg. haben sie jedenfalls bis OS-Tiger von OS 7.0 her rübergerettet, was die minimale Chance eines "obsolet"- werdens bereits bewiesen hätte:

set PFAD to ((first item of (list disks)) as string) & ":" & ¬
"
Desktop Folder:"


und dies wäre der Zankapfel "Desktop Folder:" , das vorangestellte funktioniert auch für alles was auf dem Rechner herumliegt, ob Desktop oder lybrery usw. da die Amis immer librery und nie lybrery schreiben werden, Gadaffi hin oder her, is ent it?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 15.05.2005 - 00:10    Titel: Antworten mit Zitat

Der Weg zum Desktop unter OS X ist nicht nur länger, er beinhaltet auch eine weitere Unbekannte - nämlich den Usernamen.

Macintosh HD/Users/USERNAME/Desktop/

Mit 'path to desktop' erreicht der User, der gerade das Skript ausführt auch wirklich seinen Desktop Folder.

Schreibt man 'path to desktop', bringt das unter OS 9 und unter OS X das richtige Ergebnis.

Schreibt man, wie du vorschlägst:

set PFAD to ((first item of (list disks)) as string) & ":" & ¬
    "Desktop Folder:"


bekommt man unter OS 9 zwar das richtige Ergebnis, aber unter OS X führt das nicht zum gewünschten Ziel. Es wird die oberste Ebene der Startfestplatte angezeigt - warum auch immer, keine Ahnung.

Den Weg zum "wirklichen" Desktop Folder bekommt man eben nur, wenn man die Pfadangabe vervollständigt - inklusive Usernamen, den man dann erst extra ermitteln müsste um ihn mittels Variable flexibel in einem Skript einzusetzen.

Um deine Frage nochmal aufzugreifen:

spirigwi hat Folgendes geschrieben:
Was spricht nun definitv dagegen dass man prinzipiell in AS auch den Desktop Pfad wie alle überigen Pfade und seien sie Programm-folder usw , von vorneherein als Text ausformulieren lässt


Gegenfrage: Was spricht dagegen, den Pfad komplett als Text auszuformulieren? - Also "X Disk:Users:snow:Desktop:"

Diese Pfadangabe bekommt man mit einem einzigen Befehl 'path to desktop'.
Wenn man es ausformuliert, müsste man den Namen der Startfestplatte ermitteln, den Usernamen ermitteln und danach die einzelnen Teile zusammen setzen.

Außerdem, wer sagt, dass man alle übrigen Pfade voll als Text ausformuliert? Ich mache das bestimmt nicht. Es gibt doch extra in den Snippets-Foren die entsprechenden Einträge, damit man die nötigen Abkürzungen zu den gewünschten Zielen findet. Und die existieren nicht nur, damit man nicht so viel tippen muss, sondern damit man ein Skript flexibel gestalten kann, so dass es auch auf einem Rechner läuft, dessen Festplatte "Super-Gau" und der User "Blödmann" heißt. Wink
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

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

Danke Snow, eins muss man dir ja lassen: dank deiner unglaublichen Formulierungskraft in der Kürze machst du es einem wirklich leicht zu sehen was man als Laie in der meiner Meinung nach (und die stammt von einem Voll-Laien) genialen AppleScript-Sprache eben selbst noch gar nicht weiss:

hier zuerst meine Versuchsanordnung:
Snows und aller Profis Schreibweise hat Folgendes geschrieben:
--
=======================
tell application "
Finder" --dieser Hund ist nötig
   set
PtD to path to desktop
end tell
--
=======================
--
OS9-Ergebnis
--
alias "mcchef:Desktop Folder:"
--
OSX-Ergebnis
--
alias "mcchef:Desktop Folder:" --warte noch auf OSX-Rechner, juts a moment

Laeinhafter Blödmann-(aber mit System welches das Blödsein ja kompensieren soll)-Schreibweise hat Folgendes geschrieben:
--
=======================
set
PFAD to ((first item of (list disks)) as string) & ":" & ¬
   "
Desktop Folder:"
--
=======================
--
OS9-Ergebnis
"
mcchef:Desktop Folder:" --= TEXT
--
OSX-Ergebnis
"
mcchef:Desktop Folder:" --= TEXT--warte noch auf OSX-Rechner, juts a moment
PtD

PFAD


Snow hat Folgendes geschrieben:

Gegenfrage: Was spricht dagegen, den Pfad komplett als Text auszuformulieren? - Also "X Disk:Users:snow:Desktop:"

Diese Pfadangabe bekommt man mit einem einzigen Befehl 'path to desktop'.


du meist sicher mit 'einzigen Befehl' :

tell application "
Finder" to set PtD to path to desktop
--
alias "mcchef:Desktop Folder:"-- is ent it?

Start Question nun also für mich die erlösende Frage: ergibt also der Satz:

--
=======================
tell application "
Finder" to set PtD to path to desktop
--
=======================

als Ergebnis der
Variable = PtD einen TEXT? oder eine Referenz? Ende Question

mein Ergebnis ist von vornherein immer ein
TEXT und braucht den Generator tell application "Finder" ... nicht dazu, um es zu erzeugen innerhalb des definitven Skripts.(beim choosen zu Skripterzeugung natürlich schon) und auch keine Sachkenntnise, wie man nun die Variable weiter behandeln muss als Referenz oder TEXT mit oder ohne Alias , einfach immer TEXT

ob nun auf OSX immer das gewünschte Ergebnis erreicht wird aus:

set
PFAD to ((first item of (list disks)) as string) & ":" & ¬
"
Desktop Folder:"
--
Desktop wäre auch ein Ziel! is aber not: Desktop Folder

lass mich mal tief durchatmen: nebst dem Wunschtraum dass es dies tut hab ich noch paar Argumente, muss aber noch studieren... natürlich immernoch in der Hoffnung dass
cael (sorry mein Gedächtnis für Namen hat Schwienssucht-Doppel-S, kommt von schwinden oder schwindeln?) dem ganzen ein Ende setzt mit dem Satz
Könnte er nun sagen--Biite NICHT!! hat Folgendes geschrieben:
"ich habs, alles klar, vielen Dank"
dann muss ich nämlich auf den nächsten Desktoper warten und das kann dauern, wie figura zeigt

_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 15.05.2005 - 11:46    Titel: Antworten mit Zitat

Warum verwendest du einen Finder-Tell-Block? Der 'path to'-Befehl stammt aus den Standard Additions und benötigt daher keinen Tell-Block. Adressiert man diesen Befehl an ein Programm, wird er von dort aus nur wieder weitergereicht. Ohne Tell-Block geht der Befehl direkt an die richtige Stelle.

set PFAD to path to desktop

Warum ist das Ergebnis bei dir immer Text?

alias "X Disk:Users:snow:Desktop:"

Es steht doch deutlich 'alias' davor. Wenn du die Formatierung für "Verweise" anders eingestellt hast als für "Werte (Zahlen,Zeichenketten,Listen)", dann sollte das Ergebnis auch eine andere Farbe haben.

Wenn du prüfen willst, welcher Art nun der Inhalt der Variablen ist, schreibe mal so:

set PFAD to path to desktop
log class of PFAD


Im Eventprotokoll (oder was auch immer diesem in Smile entspricht) erscheint:

(*alias*)

Gegenprobe:

set PFAD to path to desktop as text
log class of PFAD


liefert als Ergebnis:

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


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 16.05.2005 - 20:34    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Ohne Tell-Block geht der Befehl direkt an die richtige Stelle.
Aha
Snow hat Folgendes geschrieben:
Warum ist das Ergebnis bei dir immer Text ?
Ich will ja gerade immer ein Text erzeugen, finde das gut dass es Text gibt in Variable, Text ist was für Anfänger und damit für mich noch nachvollziehbar, also wirds mit zu schwierig wenn path to eine Variable als Referenz liefert, noch schwieriger wenn sie eine Alias liefert, finde also gut wenns mir einen Text ohne wenn und aber erzeugt den man später beim Befehl:
tell application "Finder"
open folder PFAD&"Drucker:"
end tell

auch geöffnet kriegt ohne ein Expert in Referenz--> Text <---Referenz mit Alias oder ohne Alias ? wie war das schon wieder fragen muss



set PFAD to path to desktop
-->Alias "mcchef:Desktop Folder:"
-- = eine Referenz ? hier weiss ich doch nicht weiter, bin schliesslich kein Profi, also was nützen mir noch so kurze elegante Phrase um Pfad auszuformulieren wenn ich dann beim dazuschreiben eines weiteren Ordners usw noch rückübersetzen muss? oder muss man das gar nicht? also will sagen:
Die Pfadangabe sollte doch so trivial sein dass das Ausführen des open- Befehles eines nur durch kleine Veränderungen varierten Zieles nicht zur hexerei wird

--mit "bei mir" meine ich:
set PFAD to ((first item of (list disks)) as string) & ":" & ¬
"Desktop Folder:"
-->"mcchef:Desktop Folder:"
--= ein Text doch wohl? so wäre zumindest mein Wunsch und wenn ich weiterbehandle verhält es sich wenigstens als text

Also nochmlas eine Gegenüberstellung i.d.Hoffnung man versteht mein Problem:

Ich, damit ich auch draus komme hat Folgendes geschrieben:

--======================================
set PFAD to ((first item of (list disks)) as string) & ":" & ¬
"Desktop Folder:Drucker"
--======================================
tell application "Finder"
(open folder PFAD) activate
end tell
--> ergibt: Ordner "Drucker" öffnet sich problemlos
--diese sicher klobige Grammatik kann ich aber verstehen oder besser gesagt nachvollziehen
--**************************************


frei nach Snow, aber kreuz falsch zitiert, da ohne nötigen Zutaten wie Alias, as text usw, da ich schlichterdings nicht draus komme hat Folgendes geschrieben:

--======================================
set PFAD to path to desktop & ":" & ¬
"Desktop Folder:Drucker" --klar: into a item = error...
--======================================
tell application "Finder"
(open folder PFAD) activate
end tell
--> ergibt also error und nun wirds für mich zu schwierig den Fehler zu finden da ich plötzlich mit Adam und Evas Frage konfrontiert bin: Was ist nun falsch?
--**************************************


Noch kürzer: ich bin zu dumm für diese paths to wo auch immer hin sie führen
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 16.05.2005 - 22:14    Titel: Antworten mit Zitat

spirigwi hat Folgendes geschrieben:
frei nach Snow, aber kreuz falsch zitiert, da ohne nötigen Zutaten wie Alias, as text usw, da ich schlichterdings nicht draus komme hat Folgendes geschrieben:

--======================================
set PFAD to path to desktop & ":" & ¬
"Desktop Folder:Drucker" --klar: into a item = error...
--======================================
tell application "Finder"
(open folder PFAD) activate
end tell
--> ergibt also error und nun wirds für mich zu schwierig den Fehler zu finden da ich plötzlich mit Adam und Evas Frage konfrontiert bin: Was ist nun falsch?
--**************************************



Der Fehler liegt doch auf der Hand. In der Fehlermeldung wird genau angezeigt, was nicht in ein 'item' umgewandelt werden kann - dort ist nämlich deutlich eine Liste zu erkennen (sieht man an den geschweiften Klammern). Hier haben wir den Fall, dass aus 9 Birnen und 3 Äpfeln das Ergebnis 12 Äpfel gemacht werden soll, was jedoch nicht geht, da es unterschiedliche Obstsorten sind. Wie soll das Programm "Finder" nun diese Liste öffnen?

Wie ich weiter oben schon geschrieben habe:

Willst du an den Pfad zum Desktop noch etwas anhängen, verwende:

set PFAD to path to desktop as string

Brauchst du den Pfad zum Desktop, um auf den Desktop zugreifen zu können, verwende:

set PFAD to path to desktop

Willst du auf einen zusammengesetzten Pfad zugreifen, geht das nicht, solange die Pfadangabe als reiner Text vorliegt.

set PFAD to path to desktop as string
--
= Text
set PFAD to PFAD & "Drucker"
--
= Text
--
"X Disk:Users:snow:Desktop:Drucker"


Wenn du nun den Finder anweist, den Ordner "Drucker" zu öffnen, klappt das leider. Denn wie ich schon bereits erwähnt hatte, funktionieren manchmal auch reine Text-Pfade - aber der Regelfall sieht anders aus.

Du hast doch selbst in deinem Beispiel vor die Pfadangabe das Wort 'folder' gesetzt. Das ergibt eine Referenz.
Es ist damit genau definiert, dass auf einen Ordner zugegriffen werden soll, der sich an der Stelle befindet, auf den die Pfadangabe verweist.

Ebenso könnte man das mit 'file' machen, und so auf eine Datei verweisen.

Unabhängig von Ordner oder Datei, bekommst du mit 'alias' die gewünschte Referenz. Bei 'alias' ist es egal, ob die Pfadangabe auf eine Datei oder einen Ordner verweist.

Nachtrag:

Probiere mal folgendes Skript aus:

tell "Finder"
    activate
end tell


Dies wird zu einem Fehler führen, da "Finder" nichts weiter als ein Textwert ist.

Schreibst du aber application "Finder", handelt es sich um eine Referenz zum Programm "Finder".

Ich hoffe, das hilft dir zum besseren Verständnis von Referenzen. Vielleicht sollte man statt dem Begriff 'Referenz' lieber 'Verweis' benutzen.

"Olten" -- = Text

Was ist das? - Ein Wort - Text, mehr nicht. - Auf jeden Fall wenn man "Olten" nicht kennt.

Wohnort "Olten" -- = Verweis (=Referenz)

Hier weiß man sofort, dass es sich um eine Ortschaft handelt - auch wenn man noch nie dort war und noch nie zuvor davon gehört hat.

Wird dir damit klar, was die Beschreibung der 'Klasse' vor dem Textwert bewirkt?

P.S. Es tut mir leid, dass ich das ursprüngliche Thema falsch gesplittet habe. Der erste Beitrag oben, von dir sollte eigentlich noch im ursprünglichen Thema bleiben. - Ich mache das halt nicht sehr oft, da fehlt es einfach an der Erfahrung.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 17.05.2005 - 01:54    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Unabhängig von Ordner oder Datei, bekommst du mit 'alias' die gewünschte Referenz.

? kann man auch auf das : am -Schluss verzichten wenns ein Ordner wäre und Alias alles so schön verallgemeinert?

Ein wundervoller Vortrag, bisher hab ich halt im AS immer alle erdenklichen Wendungen um die tiefere Analyse gemacht und mir formeln gemerkt die so ganz einfach "hineingehen", vor allem möglichst immer mit ein und derselben technik erweiterbar sind. Sobald man verschiedene techniken nimmt bei Pfadformulierung wirds halt schon happig für einen.

Snow hat Folgendes geschrieben:
Wird dir damit klar, was die Beschreibung der 'Klasse' vor dem Textwert

Ja, natürlich:
KLASSE! Snow, und vielen Dank

(Ps du hast selbst einmal geschrieben es sei alles andere als leicht sich durch Verzeichnisse durchzuarbeiten die mit Begriffen wie Klasse usw. agieren das zitat kann ich ad hoc nicht horten aber es gibts!)
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 17.05.2005 - 13:37    Titel: Z.B aus OS-Tiger Problem: "un-(be)schreibbare" ima Antworten mit Zitat

--ich habe hier noch ein konkretes Beispiel wo mir mit deiner Hilfe viel geholfen wäre.
--Also Snow können wir mal versuchen diese aufgrund des Tigers entsandene Problematik mit
set ptdf to path to desktop folder
--zusammenzustellen?
--Architektur der Ordner:auf MacMINI liegt Desktop des einzigen users den es dort gibt, also auf Administratorebene sinnvollerweise ein FileMaker-file verpackender image-Ordner(seit Jahren)
--Den lasse ich öffnen beim Systemstart, dann mountet er die files natürlich immer auf diesem Schreibtisch in einem gleichnamigen Ordner ohne .img als Name(das ist Naturgesetz)
--OS-Tiger kann das auch, aber: die files sind nur noch "lesbar", was in einer arztpraxis nicht so das wahre ist
--folglich: für OS-TIGER kann mir nur die Version des Folders auf Schreibtisch sinnvoll dienen.

--Meine Lösung um beide Varianten griffbereit zu haben (OS-Tiger und dann wieder die brauchbare OSX.10.3.7-9):
tigerauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Zitat:
-- ==================================================
property STARTNAME : {}
property VisProcessesOhneFiFM : {}
property Ausschluss : {"Finder", "FileMaker Pro"}
global AppFm
-- ==================================================
property a : "HOST_FM_SERVER:HOSTBezüge :FileMaker Server Config.app:" --muss für OS-Tiger Ordner so machen da es kein image-disk richtig verwalten kann
property b : "McServer:Users:McFileMaker:Desktop:HOST_FM_SERVER:HOSTBezüge :FileMaker Server Config.app:"
property c : "McServer:Users:McFileMaker:Desktop:HOST_FM_SERVER:HOSTBezüge :Events.log"
property d : "HOST_FM_SERVER:HOSTBezüge :Events.log"

property FmServConfig : a --b
property PfEvLOG : d -- c
property ProcFMServConfig : "FileMaker Server Config" --=Name des process
property WinFmServer : "FileMaker Server"
-- ==================================================
my PROPERTYER()
----------------
on PROPERTYER()
   set STARTNAME to (first item of (list disks)) as string
   my FM() --weist auf handler-file das das richtige filemaker immer öffnet
end PROPERTYER
tell application "System Events"
   open file FmServConfig
   --hier folgen noch gewaltig komplexe Aktivitäten inkl dialoge die ich in der Entstehungsphase ja schrittweise überprüfen musste und sie desahlb in handlern verpackt halte so dass sie mit reinem kopieren der propertys ins Pfobefile auch laufen
end tell




--PS: diese furchtbaren Pfade wie
"McServer:Users:McFileMaker:Desktop:HOST_FM_SERVER:HOSTBezüge :FileMaker Server Config.app:"
--hab ich mir natürlich durch mein SNIPPET "vorreden" lassen da ich nicht nur tippfaul bin sondern mir lieber die Dinge einmal durchleide(..denke..) und dann nur noch Produkte vorlesen lasse.Dies Verfahren ist meist unter zeitdruck das idealste.

http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1118

Frage also: wie löst man das mit korrekt zusammengestelltem PFAD aus
set ptdf to path to desktop folder?
-- Ehrlich ich habs probiert komm aber immernoch nicht zurecht mit Unterscheidung Alias Referenzen Text.Könntest du mir das richtig hinschreiben? vielen Dank im voraus
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 17.05.2005 - 18:50    Titel: Antworten mit Zitat

spirigwi hat Folgendes geschrieben:
? kann man auch auf das : am -Schluss verzichten wenns ein Ordner wäre und Alias alles so schön verallgemeinert?


Das geht, hab's gerade unter OS 9 und 10.3.8 getestet.

Zu deinen unsäglichen Pfaden:

-- Skript 1 sollte das Programm "FileMaker Server Config.app" anzeigen
set AppPfad to ((path to "desk" as string) & "HOST_FM_SERVER:HOSTBezüge :FileMaker Server Config.app:") as alias

tell application "Finder"
    activate
    
reveal AppPfad
end tell

--
Skript 2 sollte die Datei "Events.log" anzeigen
set LogPfad to ((path to "desk" as string) & "HOST_FM_SERVER:HOSTBezüge :Events.log") as alias

tell application "Finder"
    activate
    
reveal LogPfad
end tell


Wie du siehst, wandle ich gleich 'path to desktop' in einen Textwert um, damit ich gleich den Pfad erweitern kann. Im selben Atemzug wird das Gesamtergebnis zu einem Verweis (as alias) gewandelt.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 18.05.2005 - 08:00    Titel: Antworten mit Zitat

So, danke, endlich seh ich klarer: ich bin natürlich bisher immer von einem Spezialfall des Desktop ausgegangen nämlich davon dass es nur 1 davon gibt: dies nicht unbedingt daraus dass es auf OS9 nur 1 Stück pro Gerät gibt (das auch, das erlaubt nämlich die Anwendung derselben Skriptarchitektur auf OSX für einen bestimmten Spezial - Fall) sondern daher dass wenn man einen OSX-er zum Server auswählt Speziell:MINI=SERVER muss man für Server-Ordner natürlich einen ganz bestimmten Desktop ansprechen , nicht den user sondern der des Startup-diskes falls man das Gerät immer über diesen startet wenns SERVERFUNKTION machen soll, wenns aber auf andererer Partition gestartet wird müsste das Skritp dann einen ganz bestimmten DESSKTOP ansprechen und dann halt Angaben über Oberste Ebene der Server-partition und dessen user enthalten sonst stochert man im nichts: zu deutsch: das Skript ist dann auf den Blickwinkel der 2. Partition anzupassen.
Mein Beispielskript behandelt also einen Spezialfall über einen ordner den es pro Gerät eben nur 1 mal geben darf(Verwaltung sämtlicher Praxis-daten) Wenn einer wie Clae Druckobjekte verwaltet geht er wohl eher nicht davon aus dass sie auf dem Hauptdesktop des GERÄTES liegen sondern von user zu user dieslbe Desktopstruktur vorfindet nur eben im "Duplikat" und damit sein Skript unter allen usern startbar ist.


Speziell:MINI=SERVER

Damit muss mein hirn nun mind. einen Tag lang arbeiten, da ich bisher instinktiv alles richtig gemacht habe eben nicht path to desk zu verwenden. Stimmen meine Ueberlegungen Snow?

in unserem Land nennen wir das "e langi leitig" dösend

--=====ab hier re-editiert da Einsicht spät folgt======

erst jetzt versteh ich deine 3 Statements:

Snow hat Folgendes geschrieben:
Mit 'path to desktop' erreicht der User, der gerade das Skript ausführt auch wirklich seinen Desktop Folder .

wirklich seinen Desktop Folder = und nicht den Desktop der die Serverdaten bereitstellt wie ZB in meiner Praxis der Mac MINI

Snow hat Folgendes geschrieben:
Den Weg zum "wirklichen" Desktop Folder bekommt man eben nur ...

"wirklichen" Desktop Folder = ein relativer Desktop, je nach dem was der user gerade vor seiner Nase sieht! AHA! die anderen Desktöpper werden verborgen gehalten und sprechen natürlich nicht an auf das im Moment gültige 'path to desktop'

Snow hat Folgendes geschrieben:
Festplatte "Super-Gau" und der User "Blödmann" heißt. Wink
ich hab mich mal vorsichtshalber auf DesktopSERVER umgetauft, DeskTölpel wäre auch ein Vorschlag aber öööööö! nicht gefressen Wink
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 18.05.2005 - 12:52, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 18.05.2005 - 12:31    Titel: Antworten mit Zitat

--aus Gründen höherer Einsicht hab ich den HOME-Teil des Mac MINI wenn er als McServer startet seinen Ordner mit dem Häuschen als Bild also, so umgetauft mit:
"DesktopServer"
--damit hat er den Namen des sog. Kürzels geerbt das man ja nach Install so leicht nicht mehr loskriegt und damit einen maximalen Informationswert mitbringen sollte, was mit "DesktopServer-BEINHALTER" zwar besser wäre aber zu lang wird...

--nun hab ich noch einen Patienten den du sicher heilen kannst:
set Pfad to path to "favs" as string
set NameList to {}
tell application "Finder"
   set Favoriten to ¬
      (every item of folder Pfad whose kind = "Alias" and ¬
         kind of it's original item = "Programm") as alias list
   --an was ist der wohl erkrankt?
   --„every item of «class cfol» "McServer:Users:DesktopServer:Library:Favorites:" of application "Finder" whose kind = "Alias" and kind of original item = "Programm"“ kann nicht in «class alst» umgewandelt werden.
end tell

--beim alias list hustet er und verstickt fast, nein ganz das skript bleibt stecken


siehst du Snow, Goethe hat alles weise vorausgesagt mit dem path to
"Besen Besen, seids gewesen!"
P.s (ich bin natürlich der Zauberlehrling und die habens bei Gott nicht leicht) nein, nein, nein schon bei der Uebersetzung happerts bei mir:
«class alst» war das nicht KLASSE?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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