[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:
(10910 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: 5790

15. Okt 2019, 17:47
Beitrag # 2 von 3
Beitrag ID: #572307
Bewertung:
(10882 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: 5790

16. Okt 2019, 06:37
Beitrag # 3 von 3
Beitrag ID: #572312
Bewertung:
(10846 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
14.08.2020 - 18.09.2020

Digicomp Academy AG, Zürich oder virtuell
Freitag, 14. Aug. 2020, 13.00 Uhr - Freitag, 18. Sept. 2020, 15.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen. Erlangen Sie das Digicomp-Zertifikat zum Web Publisher. Mit dem Zertifikat bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

Preis: CHF 3'250.-
Dauer: 8.5 Tage (ca. 56 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/zertifizierung/software-anwendungs-zertifikate/publishing-zertifizierung/lehrgang-web-publisher

Veranstaltungen
19.08.2020 - 20.08.2020

Digicomp Academy AG, Zürich oder virtuell
Mittwoch, 19. Aug. 2020, 08.30 Uhr - Donnerstag, 20. Aug. 2020, 17.00 Uhr

Kurs

Mit After Effects können Sie visuelle Effekte und Animationen für Video, Web, DVD und Blu-Ray erzeugen. In diesem Kurs lernen Sie die Grundlagen kennen und sehen inspirierende Anwendungsbeispiele, die Ihnen helfen, Ihre eigenen Ideen umzusetzen.

Preis: CHF 1'700.-
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/video-und-audio-publishing/adobe-after-effects-cc/kurs-adobe-after-effects-basic

Neuste Foreneinträge


�berlappungsbereich inkl. Kontur entfernen

�bergeordnetes PDF bzw. Lesezeichen-Zusammenfassung

Onlinetreffen der IDUG Stuttgart

Dokument-Rastereffekt-Einstellungen von Preflight pr�fen lassen

Zusammengesetzten Pfad mit Pathfinder aufteilen

Pixelgr��e beim png-Export festlegen

SVG-Filter selbst nachbauen

�nderungen des Seitenformats werden nicht �bernommen

Formatierungen pro Zeile

Frage aus der Praxix: Scriptbibliotheken
medienjobs