[GastForen Programmierung/Entwicklung AppleScript AppleScript - Variable nach jeder Ausführung überschreiben

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

AppleScript - Variable nach jeder Ausführung überschreiben

1Frage_abc
Beiträge gesamt: 1

15. Okt 2019, 15:05
Beitrag # 1 von 3
Bewertung:
(20364 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen,
Ich bin recht neu bei AppleScript und baue nun einen ersten kleinen Script. Die Besonderheit ist, dass am Anfang des scripts ein Link als Variable festgelegt wird. Während des scripts wird ein neuer Link in die Zwischenablage kopiert, woraufhin dieser mit dem ursprünglichen Link abgeglichen wird. Falls er diesem nicht entspricht, folgen einige Handlungen auf der Website und der Script ist zu Ende. Das Problem ist, dass der zweite Link beim nächsten Ausführen des Scripts als "erster" Link dienen soll, d.h. als Grundlage zum vergleich mit einem weiteren Script.

Bisher habe Ich das Problem mit UI Programmierung gelöst, was meiner Meinung nach aber keine ideale Lösung ist. Dabei "drückt" das Script am Ende über dem Quellcode cmd+f und sucht nach den ersten Buchstaben des ersten Links, wählt diesen aus, löscht die Ziffern im Quellcode und drückt setzt an diese Stelle schließlich den neuen Link ein.

Denkt Ihr es gibt da evtl. eine bessere Lösung ohne UI Programmierung? Ich hätte da z.B. an Variablen gedacht, welche Werte aus einem Datensatz nehmen, welchem diese Werte wiederum zuvor zugewiesen wurden (so eine Art größerer Zwischenspeicher)

Mich würde echt interessieren wie man so ein Problem lösen kann, im Internet findet man zu so speziellen Anliegen ja leider kaum hilfreiche Infos. Deshalb wäre Ich sehr dankbar, wenn Ihr mir da ein paar Tipps gebt oder einfach mal eure Meinung bzw. euer Wissen in die Kommentare schreibt.

Vielen Dank im Voraus!
X

AppleScript - Variable nach jeder Ausführung überschreiben

Hans Haesler
  
Beiträge gesamt: 5791

15. Okt 2019, 17:47
Beitrag # 2 von 3
Beitrag ID: #572307
Bewertung:
(20336 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo 1Frage_abc,

herzlich willkommen im AppleScript-Forum auf HilfDirSelbst! :-)

Zur Lösung Deines Problems habe ich zwei Ideen. Aber ich muss zuerst prüfen, ob eine davon brauchbar ist. Doch vermutlich werde ich es erst morgen Vormittag anpacken können.

Gruss, Hans


als Antwort auf: [#572300]

AppleScript - Variable nach jeder Ausführung überschreiben

Hans Haesler
  
Beiträge gesamt: 5791

16. Okt 2019, 06:37
Beitrag # 3 von 3
Beitrag ID: #572312
Bewertung:
(20300 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen 1Frage_abc,

nachstehend eine mögliche Lösung. Sie setzt voraus, dass sich die Textdatei "Aktueller_Link.txt" auf dem Schreibtisch befindet und den aktuellen Link enthält.
Der Name der Datei und der Speicherort kann geändert werden (z.B. "Alter_Link.txt" und ein Pfad zu einem Ordner in "Dokumente").

*****
Das Script prüft, ob die Textdatei vorhanden ist. Falls ja, wird deren Inhalt der Variablen 'oldLink' zugewiesen ...

... und der Variablen 'newLink' der neue Link (dieser ist hier zum Testen fix im Code definiert).

Die beiden Links werden verglichen. Stimmen sie nicht überein, wird der neue in die Textdatei geschrieben.

Mit der folgenden Zeile wird zuvor der Inhalt der Datei gelöscht. Das eof steht für end of file. Das Ende der Datei wird auf Null (= den Anfang) gesetzt.

Code
set eof of file linkFile to 0 


Und hier der Code, mit ein paar Kommentaren versehen:

Code
# der Dateiname ... 
set fileName to "Aktueller_Link.txt"
# ... und der volle Pfad
set linkFile to (path to desktop as Unicode text) & fileName

# prüfen, ob die Textadtei existiert
tell application "Finder"
if not (linkFile exists) then
display dialog "Die Datei \"" & fileName & "\" kann nicht gefunden werden." buttons "OK" default button 1 with icon 0
# die folgende Zeile bricht die Ausführung ab
error number -128
end if
end tell

# den gespeicherten Link einlesen
set oldLink to my readFile(linkFile)

# der neue Link
set newLink to "https://www.youtube.com/watch?v=YfXmUUS4Jqo"

# Übereinstimmung prüfen
if newLink is not oldLink then
my writeFile(newLink, linkFile)
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1
else
display dialog "Identische Links" buttons "OK" default button 1 with icon 2 giving up after 2
end if

### die Handler ############################
# dieser Handler liest die Datei ...
on readFile(linkFile)
set curLink to read file linkFile
end readFile

# ... und dieser Handler schreibt den neuen hinein
on writeFile(newLink, linkFile)
try
open for access file linkFile with write permission
set eof of file linkFile to 0
write newLink to file linkFile
close access file linkFile
on error
try
close access file linkFile
end try
end try
end writeFile

Hoffe, dass das schon einigermassen brauchbar sein wird.

Gruss, Hans


als Antwort auf: [#572300]

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
04.09.2020 - 05.03.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 04. Sept. 2020, 13.00 Uhr - Freitag, 05. März 2021, 12.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte. Mit dem Abschluss «Publisher Professional – Profil «Multimedia» verliehen durch die Digicomp Academy AG, bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-professional-profil-multimedia

Veranstaltungen
22.09.2020 - 23.09.2020

Digicomp Academy AG, Basel, Bern oder virtuell
Dienstag, 22. Sept. 2020, 08.30 Uhr - Mittwoch, 23. Sept. 2020, 17.00 Uhr

Kurs

In diesem Basic-Kurs lernen Sie das Wichtigste über den Aufbau und die Funktionsweise von Photoshop. Zusammen mit den notwendigen Grundlagen von Farbenlehre bis Bildauflösung lernen Sie zudem die kreativen Möglichkeiten von Photoshop kennen.

Preis: CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-photoshop-cc/kurs-adobe-photoshop-cc-basic

Neuste Foreneinträge


safaribookmarkssyncagent wurde unerwartet beendet Fehlermeldung geht nicht mehr weg

Lüftergeräusch nach Installation von Catalina update 10.15.6

wie langen Text auf viele Seiten einfügen - erledigt

wie langen Text auf viele Seiten einfügen

Tastatur-Kürzel in Dialogen tun nicht mehr

Formularfelder mit Mediävalziffern

Automatische Farbmengenberechnung

Wörter mit Bindestrichen werden nicht automatisch getrennt. Alternative?

Pfeil zurück geht nur im eingeloggten Zustand

Zeichen nach Absatzformat
medienjobs