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

Save Dialog... - ...und der andere Lösungsansatz.
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
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 04.05.2002 - 17:55    Titel: Save Dialog... - ...und der andere Lösungsansatz. Antworten mit Zitat

Ich habe ein kleines Script gebastelt,
dieses Script schreibt in eine .html Datei.
Es geht nun um den Standort dieser Datei:

1.: Lösungsansatz:
...besteht darin, den User über einen Save-Dialog aussuchen zu lassen wo diese Datei
angelegt werden soll.
ich habs mit

set woHin to (choose folder) & "dateiname.html"
[...]
set RefNum to (open for access file woHin with write permission)
[...]

ausprobiert. Das funktioniert nicht. Wie gehts richtig?

2.: Lösungsansatz:
...wäre die Datei bei jedem auf dem Desktop abzuspeichern.
Problem hierbei:
In OS9 ist es "Festplattenname:Desktop Folder"
Aber wie komm ich an den Festplattennamen?
In X ists sogar noch schwieriger: "Festplattenname:Users:Username:Desktop"
Hier brauch ich auch noch den Usernamen...

Danke im Vorraus... Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 04.05.2002 - 18:23    Titel: Save Dialog... Antworten mit Zitat

Hi Mojo,

zu 1:

set newFile to (choose file name with prompt "Wie soll's heißen?" )
open for access newFile with write permission
set FileRefNum to (result)
set derTitel to name of (get info for newFile)
write ¨
"Hallo Mojo, wie geht es dir?" to FileRefNum
close access FileRefNum


Hm?

zu 2:

set woHin to ((path to desktop) as string) & "dateiname.html"

Das funktioniert auch unter X. rundum grins
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 21:42, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 04.05.2002 - 19:14    Titel: Save Dialog... Antworten mit Zitat

Danke, klappt hervorragend Smile
So, das Script ist fast fertig, kommt noch das Feintuning Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 04.05.2002 - 21:19    Titel: Save Dialog... Antworten mit Zitat

So, die große Enthüllung kommt Wink
Das Script macht aus der iTunes Bibliothek eine HTML Datei:
http://homepage.mac.com/pixel7000/FileSharing1.html
Aber aufpassen, dass ihr die zur Sprachversion von eurem iTunes passende .SIT runterladet.
Hehe, mein erstes brauchbares Script!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 04.05.2002 - 22:45    Titel: Save Dialog... Antworten mit Zitat

Hey Mojo,

ich hab's gleich mal getestet.

Gleich am Anfang hast du einen kleinen Fehler drin. Wenn man das Skript gleich abbrechen will (aber wer will das schon), steht folgendes:

if the button returned of the result is "No" then
display dialog "Abgebrochen." buttons { "" } default button 1 with icon 1


Diese Bedingung wird nie zutreffen, da du den entsprechenden Button mit "Nein" betitelt hast. - Aber außer mir bricht ja eh keiner das Skript ab. Eh!

Was mir sonst noch aufgefallen ist.

Die 'activate'-Befehle für iTunes solltest du weglassen, sonst drängt sich iTunes ständig in den Vordergrund und man kann am Rechner eigentlich nicht mehr arbeiten während das Skript läuft.

Ich hatte natürlich gleich mal das Pech, dass etwas daneben gegangen ist. Bei einer MP3-Datei konnte der Name nicht gelesern werden. Confused - Keine Ahung warum. Auf jeden Fall hat das dein Skript natürlich gewaltig gestört.

Die Datei hatte den Titel "grüss". Ich habe ihn dann geändert und dann ging's.


Eine Sortierung wäre nicht schlecht. Am besten nach der aktuellen Sortierung in iTunes.

Ach ja, wenn man die HTML-Datei benennen soll, weiß man gar nicht, ob man nun ".html" anhängen soll oder nicht. Hier wäre es gut, wenn du das im Skript prüfen würdest und ggf. ergänzen.
Hm?
Eine Kodierung der Umlaute wäre auch wünschenswert, da ja sicherlich nicht nur englische Titel in der Bibliothek sind.

Dann kannst du natürlich noch das HTML-Layout verfeinern. seufz

So, das waren also mal die ersten Anregungen von mir.

Jetzt heißt's: Dran bleiben!

wasndas Weiter viel Spass mit AppleScript! strahlend
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 21:45, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 04.05.2002 - 23:46    Titel: Save Dialog... Antworten mit Zitat

Zitat:
Eine Sortierung wäre nicht schlecht. Am besten nach der aktuellen Sortierung in iTunes.

Wenn alles Durcheinander war, dann hast du vergessen den Shuffle auszuschalten. Steht aber im README Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 05.05.2002 - 04:46    Titel: Save Dialog... Antworten mit Zitat

Zitat:
Zitat: von Mojo am 23:46 Uhr am 4 Mai 2002
Zitat:
Eine Sortierung wäre nicht schlecht. Am besten nach der aktuellen Sortierung in iTunes.

Wenn alles Durcheinander war, dann hast du vergessen den Shuffle auszuschalten. Steht aber im README Wink


Das README ist aber ein .rtf - Das liest sich unter System 9.1 nicht so leicht.
Darum habe ich's gar nicht gelesen. Huch
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 21:47, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 05.05.2002 - 11:57    Titel: Save Dialog... Antworten mit Zitat

Beta Release 0.9.2 is raus.
Hab eigentlich die meisten der oben genannten Sachen gefixed/eingebaut.
Nur das mit den Umlauten wollte noch nicht so recht.
Da muss ich mir noch was ausdenken.

http://homepage.mac.com/pixel7000/FileSharing1.html
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 06.05.2002 - 13:55    Titel: Save Dialog... Antworten mit Zitat

Hallo Mojo

Hab' Dein Script auch mal getestet. Bei mir läuft es um einiges schneller, wenn der String erst zusammengebaut und dann - nach der repeat-Schleife - in einem Rutsch in die Datei geschrieben wird. Das sieht so aus:

Irgendwie lässt sich in diesem Forum keine HTML-Tags darstellen (auch nicht mit "\" davor) ???
Die [html]-Teile musst Du selbst einfügen...

ññññ

-- write html header
set addString to "[html-Anfang]"
set myCounter to 0
set newCounter to 0

-- get tracknames and write to .html
repeat numberOFTracks times
set myCounter to myCounter + 1
set newCounter to newCounter + 1
tell application "iTunes"
tell source "Bibliothek"
tell playlist "Bibliothek"
set this_track to track myCounter
set this_name to the name of this_track
set this_artist to the artist of this_track
end tell
end tell
end tell
set addString to addString & newCounter & ". " & this_artist & " - " & this_name & "[html-br]"
end repeat

set addString to addString & "[html-Ende]"
writetofile(addString)
-- write html end
display dialog "Fertig."

ññññ

Zu den Umlauten: Da gibt es ein paar Additions (z.B. "Clipboard To HTML 0.6" oder "convertToHtml" - auf macscripter.net nach "html" suchen...), die das machen (mehr oder weniger gut, eher weniger). Ist für ein öffentliches Script natürlich nicht so praktisch.
Du müsstest den Text selbstständig durchsuchen und die Sonderzeichen ersetzten. Falls Du das angehen willst, die HTML-Entities findest Du in SelfHTML:
http://selfhtml.teamone.de/html/referenz/zeichen.htm
Ich würde mich da aber auf die Gängigen beschränken: Umlaute und ein paar oft benutzte Sonderzeichen.

Grüße Jens

(Geändert von Jens Hoffmann um 13:59 Uhr am 6 Mai 2002)


(Geändert von Jens Hoffmann um 14:00 Uhr am 6 Mai 2002)


(Geändert von Jens Hoffmann um 14:03 Uhr am 6 Mai 2002)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 06.05.2002 - 14:11    Titel: Save Dialog... Antworten mit Zitat

@erst String dann HTML: Cool, das werd ich machen!
@Umlaute ändern: Additions wären mir nicht wirklich recht,
Dann lieber ein paar mehr Codeblöcke (möglich ist es aber umständlich)
Danke für die Hilfe...
Noch ein paar allgemeine Fragen:
Ist es verpönt den Script Source zu sperren? Also nur als ausführbare Datei?
Wo bekomme ich das AppleScript Studio? Lohnt sich das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 06.05.2002 - 16:33    Titel: Save Dialog... Antworten mit Zitat

Ich will die Funktion einbauen, dass man die Playlist in mehrere htmls aufteilen kann.
Wenn jetzt jemand im save dialog eingibt "playlist.html" und als split option "10 seiten",
dann sollen 10 seiten erstellt werden, von "playlist01.html" bis "playlist10.html"
Wie krieg ich jetzt applescript dazu meinen string, den ich im script bereits bearbeitet habe ("Macintosh:HD[...]:playlist") als pfadangabe zu werten?
habs mit dem zusatz "as URL" versucht
beim testen krieg ich hier immer "Can't make "Macintosh HD:[..]:playlist1.html" into a URL"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 07.05.2002 - 12:44    Titel: Save Dialog... Antworten mit Zitat

Hi Mojo

Ein URL ist eine Internet-Adresse, beginnt mit einem Protokoll ( "http://" ) und trennt die Hierachie mir "/", während eine Pfadangabe mit einem Volume beginnt und die Ordner mit ":" getrennt werden.

Dein String ist also durchaus eine Pfadangabe. Wenn ich das Problem richtig verstehe, versuchst Du
"Macintosh:HD[...]:playlist"
als Pfadangabe zu verwenden? Dies wäre nicht korrekt, denn die Datei endet ja mit ".html" und falls Du einen Ordner "playlist" referenzieren willst, fehlt der abschliessende Doppelpunkt:
"Macintosh:HD[...]:playlist:"

Um die Dateipfade zu generieren musst Du den Original-String in 2 Teile teilen, wie Du's im Script ja schon bei der Prüfung, ob der Name mit ".html" endet, gemacht hast:
1. "Macintosh:HD[...]:playlist" und
2. ".html"

Dann setzt Du in der repeat-Schleife die Nummern ein:

set neueDatei to "Macintosh:HD[...]:playlist" & dieNummer & ".html" as string

Zitat:
Ist es verpönt den Script Source zu sperren? Also nur als ausführbare Datei?

Ich weis nicht, ob das verpönt ist. Ich persönlich finde, dass man solche Sachen selbst entscheiden sollte, nachdem man sich die für & wieder angeshen hat. Denn manches verpönte finde ich durchaus sinnvoll und was viele toll finden, geht mir gegen den Strich. In diesem Fall kann nichts Anstössiges oder für andere Nachteiliges finden.

Zitat:
Wo bekomme ich das AppleScript Studio? Lohnt sich das?

Hierzu gibt es auch schon ein paar Threads in diesem Forum ( z.B.: http://www.maniamusic.de/cgi-bin/ikonboard/topic.cgi?forum=1&topic=340 , dort steht, wo Du's bekommst), such auch mal nach "ASS" oder "AppleScript Studio".

Grüße Jens


(Geändert von Jens Hoffmann um 14:55 Uhr am 7 Mai 2002)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 07.05.2002 - 14:57    Titel: Save Dialog... Antworten mit Zitat

Erstmal vielen dank für deine Hilfe Smile
Bin jetzt schon ziemlich weit mit den neuen Funktionen.
Eine Frage hab ich noch.
Wenn ich den User auffordere mit "choose from list eineListe" einen Listeneintrag
auszuwählen, und er drückt cancel,
wie schaff ich es, dass das script sich beendet?

Danke nochmal, Mojo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 07.05.2002 - 16:56    Titel: Save Dialog... Antworten mit Zitat

set x to chosse from list eineListe
if x is false
quit me
else
-- x enthält die Wahl
end if

Grüße Jens
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 07.05.2002 - 17:03    Titel: Save Dialog... Antworten mit Zitat

Hi Mojo

Bin gerade auf Apples iTunes Scripts gestossen, könnte vielleicht eine Menge Anregungen und Lösungen für Dich drin sein:
http://www.apple.com/applescript/itunes/index.html

Wenn Du (oder andere) mal ein bisschen Lernmaterial brauchst: Ich empfehle Dir mal zum einen die AppleScript Guidebooks von Apple runterzuladen (leider Englisch: http://www.apple.com/applescript/help_mods.html ) und zum anderen die ScripterMagazine (deutsch, hier bei Snow: http://www.Fischer-Bayern.de/applescript/html/mag.html ). Während sich die GuideBooks zum schnellen Nachschauen und kopieren eignen, sind die ScripterMagazine eher Lehrgänge.

Ausserdem gibt es da noch den "AppleScriptLanguageGuide" ( http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf ), eine detailierte (leider wieder englische und nicht einfach zu verstehende) Dokumentation von Apple.

Jens
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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