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

einige fragen zu URL Access Scripting
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
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 05.09.2003 - 03:46    Titel: einige fragen zu URL Access Scripting Antworten mit Zitat

beim Rumprobieren mit "URL Access Scripting" ist mir aufgefallen, das es da eine Angabe der Anzahl der übertragenen Dateien im Progress-Fenster gibt. ist das ein Fake? hat da ein Programierer seine Arbeit nicht zuende gemacht, oder gibt es tatsächlich eine Möglichkeit, den Fortschritt für mehrere Dateien nebst File-Counter anzeigen zu lassen? am liebsten noch mit Anzeige des Dateinamens der gerade behandelten Datei.

gibt es irgendwo eine Liste der möglichen Error-Codes mit Erklärung?

und zum guten Schluss noch:
ich hab bisher viel mit PHP gescriptet, Applescript ist ja im Verhältnis dazu (sorry) saumässig dokumentiert. Crying or Very sad ich hab jedenfalls nichts, mit der php-hilfe vergleichbares gefunden.
kann ich mir eine Funktionsbibliothek schreiben, die ich dann einfach per include einbinden kann?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 05.09.2003 - 14:19    Titel: Antworten mit Zitat

Hallo Raik,

zu URL Access Scripting kann ich dir leider nichts sagen. Ich hatte mal ein Skript zum Upload der News benutzt. Irgendwann hat es einfach aufgehört zu funktionieren (die AppleScript-Version und Systemversion blieben unverändert). Ich weiß also nicht, was dazu geführt hat. Seither scripte ich Interarchy.

Zitat:
ich hab bisher viel mit PHP gescriptet, Applescript ist ja im Verhältnis dazu (sorry) saumässig dokumentiert.


Das liegt daran, dass AppleScript über ganz wenig eigene Befehle verfügt.
Die Funktionalität bekomme AppleScript erst durch Scripting Additions und die AppleScript-Unterstützung der einzelnen Programme.
AppleScript ist praktisch modular aufgebaut. Deshalb wird es auch keine Dokumentation geben, die mit der von PHP vergleichbar wäre.

Eine Funktionsbilbliothek zu schreiben ist durchaus möglich.

Speichere verschiedene Handler in einem Skript ab.

Dieses Skript kannst du dann in anderen Skripten wieder laden. Allerdings nicht mit 'include' sondern mit dem Befehl 'load script'.

set myLib to load script (choose file with prompt ¬
"Öffnen Sie die Bibliothekt myScriptLib" of type "osas")


Auf die einzelnen Funktionen greifst du dann z.B. so zu:

tell myLib to HandlerName("Parameter")
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 05.09.2003 - 15:48    Titel: Antworten mit Zitat

das mit dem "includieren" ist doch mal ne positive nachricht.
muss ich die funktionen dann zum erstellen eines "nur ausführen"-scriptes doch in dieses übernehmen oder passiert das automatisch?

allerdings hätte apple wenigstens bei der parameterangabe exakte angaben über die möglichen formate machen können.
z.b.:
Zitat:
repeat with [var "array_pointer"] from [int "start"] to number of items in [alias-array "file_array"]
set [var "current_file"] to item [var "array_pointer"] of [alias-array "file_array"]
upload [var "current_file"] to [string "FTP_Url"]
end repeat
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 05.09.2003 - 21:51    Titel: Antworten mit Zitat

Mit dem 'load script'-Befehl wird die Skriptbibliothek bei jedem Ausführen des Skripts in eine Variable geladen. D.h. du müsstest deine Library mit dem Skript ausliefern.

Ich persönlich würde aber eher die benutzen Handler in das Skript kopieren.

Zu den Formatangaben:

In dem von dir zitierten Beispiel sind die Formate doch bereits angegeben.
var = Variable
int = Integer
alias = alias (besondere Referenzform)
string = Textwert

Praktisch würde das Beispiel dann in etwa so aussehen:

repeat with i from 1 to number of items in MeineDateiListe
set aktuelleDatei to item i of MeineDateiListe
upload aktuelleDatei to "ftp://fischer-bayern.de/"
end repeat


Wenn du ein Befehlsverzeichnis eines Programms oder einer Scripting Addition anschaust, sind dort auch immer die jeweiligen Formate angegeben.

Beispiel: Der Upload-Befehl aus URL Access Scripting

upload: upload the file to the URL.
upload file specification -- the file to upload
to string -- the URL of the receiving server
[replacing yes/no] -- whether to replace an existing file (default: no)
[progress boolean] -- whether to display a modal progress dialog (default: false)
[binhexing boolean] -- whether to binhex before uploading or not (default: true)
[upload directory boolean] -- upload as an entire directory (default: false)
[authentication boolean] -- show authentication dialog (default: false)
[Result: boolean]

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


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 05.09.2003 - 23:04    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Ich persönlich würde aber eher die benutzen Handler in das Skript kopieren.

... oder das auch von einem script erledigen lassen ... Wink
vielleicht könnte man das ja sogar in die bibliothek mit einbauen, das beim droppen des fertigen scriptes auf die bibliothek diese die benutzten handler in das script schreibt und ein compiliertes script erzeugt. *augen leucht* Very Happy

Snow hat Folgendes geschrieben:
Zu den Formatangaben:
...
upload file specification -- the file to upload


"the file" <= den pfad zur datei?
einen alias auf die datei?
und bei mehreren dateien?
ein array von alias'en?
oder "CommaSeparatedValues" ?
da fehlt die genaue "specification"

genau darauf will ich ja hinaus:
wenn der file-counter wirklich eine funktion hat, der da angezeigt wird (und immer auf "1" steht Neutral ),
und ich gehe davon aus, das apple es nicht nötig hat, funktionalität vorzutäuschen, wo keine ist.
dann muss es ein eingabeformat füe die dateien geben, das diesen counter "zum leben erweckt".
aber genau an diesem punkt ist die dokumentation des apple-eigenen URL.A.S. eben lückenhaft, leider.

nen ordner kann ich ohne schleife droppen, obwohl auch da der counter nix zählt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 06.09.2003 - 02:35    Titel: Antworten mit Zitat

Raik hat Folgendes geschrieben:
Snow hat Folgendes geschrieben:
Zu den Formatangaben:
...
upload file specification -- the file to upload


"the file" <= den pfad zur datei?
einen alias auf die datei?
und bei mehreren dateien?
ein array von alias'en?
oder "CommaSeparatedValues" ?
da fehlt die genaue "specification"


'file specification' kann folgendes sein:
1. Eine Finder-Referenz zu einer Datei oder einem Ordner (wird aber nur vom Finder verstanden - ist also nicht so gut)

Das wäre dann sowas wie "file "Testdatei.html" of folder "MeinOrdner" of folder "Dokumente" of startup disk"

2. Feste Pfadangabe zu einer Datei oder einem Ordner

Beispiel:

file "Macintosh HD:Dokumente:MeinOrdner:Testdatei.html"
oder
folder "Macintosh HD:Dokumente:MeinOrdner:"

3. Alias zu einer Datei oder einem Ordner

Beispiel:

alias "Macintosh HD:Dokumente:MeinOrdner:Testdatei.html"
oder
alias "Macintosh HD:Dokumente:MeinOrdner:"

Wenn du 'alias' verwendest, muss die Datei bzw. der Ordner nur beim Kompilieren des Skripts an der angegebenen Stelle sein und kann später verschoben werden, ohne dass sich das Skript daran stören würde.

Raik hat Folgendes geschrieben:
genau darauf will ich ja hinaus:
wenn der file-counter wirklich eine funktion hat, der da angezeigt wird (und immer auf "1" steht Neutral ),
und ich gehe davon aus, das apple es nicht nötig hat, funktionalität vorzutäuschen, wo keine ist.
dann muss es ein eingabeformat füe die dateien geben, das diesen counter "zum leben erweckt".
aber genau an diesem punkt ist die dokumentation des apple-eigenen URL.A.S. eben lückenhaft, leider.

nen ordner kann ich ohne schleife droppen, obwohl auch da der counter nix zählt.


Den Fortgangsbalken kannst du nicht beeinflussen. Das ist eine spezielle Funktionalität von URL Access Scripting.

Ich habe eben mal einen Ordner mit Bildern hochgeladen. Da wurde die korrekte Anzahl angezeigt. Bei einer einzelnen Datei oder mehreren Dateien, die per Schleife hochgeladen werden ist das jedoch relativ sinnlos.

Wenn du einen Fortgangsbalken brauchst, der per AppleScript gesteuert wird, müsstest du unter OS 9 die Scripting Addition "Dialog Director" verwenden.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 06.09.2003 - 17:21    Titel: Antworten mit Zitat

wenn ich nicht gerade das os8.6 nochmal neu installiert hätte, wodurch zwar die scripte wieder sauber laufen, aber der scripteditor wegen irgend einer fehlenden sprache nicht Rolling Eyes Sad Question
Zitat:
Das Programm konnte nicht initialisiert werden, weil die Sprache nicht verfügbar ist.

dann könnte ich das jetzt ausprobieren. bin ja noch so ein greenhorn, was den mac angeht ... Neutral

hab mich wohl verguckt beim ordner droppen mit dem counter. vielleicht lief er ja doch und ich habs übersehen. ich habs halt gerne, wenn alles, was da ist, auch funktioniert.
also müsste ich wohl erst per finder alle dateien in ein temporäres verzeichnis kopieren, das dann übertragen wird, und dann dieses wieder löschen...
könnte man denn nicht einen file-pfad angeben in einen ordner mit platzhalter * , so das dann alle dateien aus dem ordner übertragen werden würden?
also:
file "Macintosh HD:Dokumente:MeinOrdner:*"
oder:
files "Macintosh HD:Dokumente:MeinOrdner:*"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 06.09.2003 - 21:34    Titel: Antworten mit Zitat

Du möchtest also die Dateien in einen bereits bestehenden Ordner hochladen.

Offiziell geht das so:
(Beispiel aus dem AppleScript Guidebook Hilfemodul)

-- an alias reference to the uploadable folder
set this_folder to alias "Datengrab:Desktop Folder:testing:"
-- the FTP URL of the receiving directory
set this_URL to "ftp://fischer-bayern.de/htdocs/"
try
-- try connecting for 5 minutes
with timeout of 300 seconds
tell application "URL Access Scripting"
upload this_folder to ¬
this_URL with progress and authentication without upload directory
quit
end tell
end timeout
on error the error_message number error_number
tell application "URL Access Scripting" to quit
if the error_number is not -128 then
tell application (path to frontmost application as text)
beep
display dialog the error_message buttons {"Cancel"} default button 1
end tell
end if
end try


Leider lädt es bei meinen Versuchen immer den ganzen Ordner hoch, obwohl extra 'without upload directory' angegeben ist. Crying or Very sad

Deine Methode mit dem Platzhalter funktioniert in AppleScript leider nicht.
So wie es aussieht, gibt es nur die Möglichkeiten entweder einen ganzen Ordner hochzuladen oder eine Liste mit Dateien.

set this_folder to alias "Datengrab:Desktop Folder:testing:"
tell application "Finder"
set file_list to every file of this_folder
end tell


Die Liste sieht dann etwa so aus:

{file "harry_potter2.jpg" of folder "testing" of application "Finder", file "hogwarts.jpg" of folder "testing" of application "Finder", file "hogwarts2.jpg" of folder "testing" of application "Finder", file "hogwarts2a.jpg" of folder "testing" of application "Finder"}

Das sind wieder die berüchtigten Finder-Referenzen.

Jetzt nochmal als Alias-Liste:

set this_folder to alias "Datengrab:Desktop Folder:testing:"
tell application "Finder"
set file_list to every file of this_folder as alias list
end tell


ergibt die Liste:

{alias "Datengrab:Desktop Folder:testing:harry_potter2.jpg", alias "Datengrab:Desktop Folder:testing:hogwarts.jpg", alias "Datengrab:Desktop Folder:testing:hogwarts2.jpg", alias "Datengrab:Desktop Folder:testing:hogwarts2a.jpg"}

Diese Liste muss natürlich wieder per Schleife abgearbeitet werden und somit ist der Fortschrittsbalken ziemlich sinnlos. - Aber den kannst du doch abschalten. Rolling Eyes
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 07.09.2003 - 17:02    Titel: Antworten mit Zitat

wegen dem nicht funktionierenden scripteditor kannst du mir auch nicht weiterhelfen, oder ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 07.09.2003 - 21:42    Titel: Antworten mit Zitat

Der Skripteditor ist ja nicht AppleScript.

Also schau mal in den Systemerweiterungen nach.
Dort müsste die Erweiterung "AppleScript" drin liegen und wenn ich mich richtig erinnere bei OS 8.6 die "AppleScript Lib".

Quatsch! Die Skripte laufen ja, also liegts daran wohl nicht

Passt die Version des Skripteditors zur AppleScript-Version?
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 08.09.2003 - 00:03    Titel: Antworten mit Zitat

ich hab eine version für os9, eine für os8.5 und eine, wo was von "classic compatibility 7" oder so drinsteht.
das system war vorher von os9 downgradet, da liefen sie alle.
jetzt will keiner mehr, auch der 8.5er nicht unter os8.6 .

hab da noch einen applescript texteditor gefunden, aber keine ahnung, wozu der gut sein soll.

hab mir noch den hier: http://gamma.nic.fi/~lpesonen/BasiliskII/
installiert, mit nem os8.0, aber da ist url access scripting nicht dabei. und ich vermute, das es dort nicht läuft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 08.09.2003 - 14:59    Titel: Antworten mit Zitat

ich habs!!!
so ein doofes ding aber auch!
hab alles verglichen mit dem alten systemordner, was mir auffiel.
in den preferences gibts ne datei "applescript voreinstellungen".
KEIN programm fühlt sich dazu in der lage, die datei zu öffnen, obwohl das laut aussage unseres admins plain-text ist.
unter windows kann ich immerhin mit einem programm auch eine datei von hand öffnen, wenn die dateiendung fehlt, unter mac scheint da garnichts zu gehen. Crying or Very sad
aber des rätsels lösung:
die datei in den neuen preferences-ordner schmeissen und ES LÄUFT! Very Happy Exclamation Idea Very Happy

das format von "simpletext" dürfte doch wohl dem von notepad entsprechen, oder?
wieso zum T*** öffnet es dann diese datei nicht???
es steht ihm doch überhaupt nicht zu, zu entscheiden, ob der inhalt für mich lesbar ist!

argh! ein ganzes wochenende verbraten mit so nem SCH*** billigen problem! Confused

naja, jetzt geht es ja, ENDLICH. Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 08.09.2003 - 15:48    Titel: Antworten mit Zitat

zu früh gefreut.
der editor läuft jetzt, alle versionen sogar.
aber die englischen scripte sind ihm immer noch unverständlich:
"aus der datei konnte nicht gelesen werden, weil die sprache nicht verfügbar ist." Twisted Evil

die einstellungen unter "scriptformatierung" sind übrigens leer.
und wenn ich auf "standard" klicke, heist es:
"die aktion konnte nicht ausgeführt werden, weil die sprache nicht verfügbar ist."

ich vermute ja schon, dass das auch mit irgendwelchen fehlenden einstellungen unter preferences zu tun hat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 08.09.2003 - 18:49    Titel: Antworten mit Zitat

Also für System 8.5 und 8.6 müsstest du die AppleScript-Version 1.4.3 verwenden.

Ich habe so das Gefühl dass du die 1.6, die für OS 9.x bestimmt war einfach kopiert hast.

Zu dieser Version gehört die Extension "AppleScript" und die "AppleScript Lib". Beide sollten bei den Systemerweiterungen sein.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Raik
•->
•->


Anmeldedatum: 05.09.2003
Beiträge: 11

BeitragVerfasst am: 10.09.2003 - 13:55    Titel: Antworten mit Zitat

nein, applescript => Version D1-1.3.7 für OS D-8.6
applescriptlib => Version D1-1.2.2 für OS D-8.5

die 3 editor-versionen in meinem eigenen ordner laufen, wie gesagt.

stuffit deluxe 5.0 deutsch hat beim komprimieren übrigens auch namen mit umlauten zu crypischem unfug verwandelt.
auch wieder etwas, was mit "sprache" zu tun hat.
irgend etwas muss da mit der registrierung/einrichtung des deutschen sprachpaketes schiefgegangen sein.

lässt sich die vom system benutzte sprache irgendwo um/einstellen?

hab heute von apple die carbonlib 1.6 deutsch als update für os8.6 geladen und installiert. keine besserung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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