[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:
(30997 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: 5826

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

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

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!