[GastForen Programmierung/Entwicklung AppleScript Script aktualisieren?

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

Script aktualisieren?

JohanneS.
Beiträge gesamt: 1056

17. Okt 2013, 14:05
Beitrag # 1 von 9
Bewertung:
(3043 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Kollegen,

bei AppleScript bin ich blutiger Anfänger, das vorweg.
Ich habe ein älteres Script, das mir Kalendarien zusammenstellt, nach Eigenbeschreibung "für OS X 10.3.6 und 10.4, AS 1.9.3 und AS 1.10". Mit OS 10.6.8 läuft es auch noch, aber mit OS 10.8 geht es nicht mehr.
Die Fehlermeldung lautet:
Code
"2.2.4" kann nicht in Typ real umgewandelt werden. Nr. – 1700 

Kann man das Script aktualisieren, ohne viel von AS zu verstehen?
Ach ja, der Vollständigkeit halber: der Script-Autor ist an der angegebenen Adresse nicht mehr zu erreichen, das Script ist Freeware.

Vielen Dank im voraus!

Johannes
X

Script aktualisieren?

Hans Haesler
  
Beiträge gesamt: 5816

17. Okt 2013, 14:33
Beitrag # 2 von 9
Beitrag ID: #518556
Bewertung:
(3033 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Johannes,

also ... wenn eine Textkette zwei Punkte enthält, dürfte es auch unter älteren Versionen nicht klappen. Aber diese meine Behauptung müsste ich zuerst nachprüfen.

Das kann ich aber erst heute Abend tun, denn jetzt bin ich unterwegs.

Mein Angebot: Wenn Du mir das Script sowie eine Beschreibung der Aktionen zustellst, werde ich versuchen, ein Upgrade zustandezubringen.

Gruss, Hans


als Antwort auf: [#518551]

Script aktualisieren?

Hans Haesler
  
Beiträge gesamt: 5816

17. Okt 2013, 20:11
Beitrag # 3 von 9
Beitrag ID: #518572
Bewertung:
(2996 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

meiner Behauptung von heute Nachmittag habe ich nun den praktischen Versuch folgen lassen:

Code
"2.2.4" as real 

Beim Ausführen kommt die Fehlermeldung:

Code
"2.2.4" kann nicht in Typ real umgewandelt werden. 

Und das mit Mac OS X 10.6.8.

Wieso es bei Dir läuft, bleibt mir ein Rätsel.

Gruss, Hans


als Antwort auf: [#518556]

Script aktualisieren?

JohanneS.
Beiträge gesamt: 1056

18. Okt 2013, 10:16
Beitrag # 4 von 9
Beitrag ID: #518588
Bewertung:
(2966 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Hans,

vielen Dank für Deine Hilfe.
Aber wenn Du es schon nicht schaffst …?

Viele Grüße
Johannes


als Antwort auf: [#518572]

Script aktualisieren?

Hans Haesler
  
Beiträge gesamt: 5816

18. Okt 2013, 14:32
Beitrag # 5 von 9
Beitrag ID: #518603
Bewertung:
(2946 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Johannes,

nun, in Bronze gegossene Grundsätze kann keiner aushebeln.

Und Dir kann hier nur geholfen werden, wenn Du uns aufdeckst, welcher Befehl unter welchen Umständen die Fehlermeldung auslöst.

Gruss, Hans


als Antwort auf: [#518588]

Script aktualisieren?

JohanneS.
Beiträge gesamt: 1056

18. Okt 2013, 15:02
Beitrag # 6 von 9
Beitrag ID: #518605
Bewertung:
(2938 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Hans,

der «Verlauf des Event-Protokolls» zeigt folgendes an:

Code
tell current application 
system attribute "ascv"
--> 17826340
current date
--> date "Freitag, 18. Oktober 2013 14:56:30"
path to documents folder from user domain
--> alias "Macintosh HD:xxxx"
end tell
tell application "AppleScript Editor"
display dialog "Geben Sie ein Jahr von 1583 bis 9999 an:" default answer "2014" buttons {"Jetzt nicht!", "Textmodus", "Layoutmodus"} default button 3 with icon 1
--> {text returned:"2014", button returned:"Textmodus"}
choose file name with prompt "Kalenderdatei erzeugen:" default name "Kalender_2014.txt" default location alias "Macintosh HD:Users:johannessteil:Documents:"
--> file "Macintosh HD:xxxx:Kalender_2014.txt"
end tell
tell current application
activate
beep
end tell
tell application "AppleScript Editor"
display dialog "\"2.2.4\" kann nicht in Typ real umgewandelt werden. Nr. -1700" buttons {"Aargh..."} default button 1 with icon 0
--> {button returned:"Aargh..."}
end tell
Ergebnis:
{button returned:"Aargh..."}

Hilft das weiter?
Viele Grüße
Johannes


als Antwort auf: [#518603]

Script aktualisieren?

Hans Haesler
  
Beiträge gesamt: 5816

18. Okt 2013, 15:21
Beitrag # 7 von 9
Beitrag ID: #518608
Bewertung:
(2928 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

hart ist das Rentner-Leben! :-) Wir sind ständig unterwegs.

Ich werde heute Abend versuchen, zu erraten, worum es geht. Allerdings wäre es bedeutend einfacher, wenn Du mir das Script samt Beschreibung der Aktion zustellen würdest.

Gruss, Hans


als Antwort auf: [#518605]

Script aktualisieren?

Hans Haesler
  
Beiträge gesamt: 5816

18. Okt 2013, 18:44
Beitrag # 8 von 9
Beitrag ID: #518627
Bewertung:
(2887 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

danke für das Script. So ist es viel leichter, das Problem einzukreisen.

Also ... unter Mac OS X 10.6.8 (= Snow Leopard) ist die Version von AppleScript mit "2.1.2" angegeben (AppleScript-Editor > Über AppleScript-Editor).

[[ Anmerkung: Die Forensoftware zerlegt das einzelne Zeichen welches gleich oder grösser als bedeutet. Nachstehend ist es durch is equal to or greater than ersetzt. ]]

Die problematische Zeile ...

Code
if ((version as real) is equal to or greater than 1.92) then 

... befindet sich im Handler 'on init_Globals(theMod)' am Schluss des Scripts.

Wenn man folgendes Snippet ausführt ...

Code
log class of version 
log version as real

... dann steht im Event-Protokoll

Code
(*version*) 
(*2.0001*)


Unter Mac OS X 10.8.4 (= Mountain Lion) ist die Version von AppleScript mit "2.2.4" angegeben.

Dasselbe Snippet ausgeführt gibt folgendes Ergebnis:

Code
(*text*) 

Ergebnis:
error "\"2.2.4\" kann nicht in Typ real umgewandelt werden." number -1700 from "2.2.4" to real

Des Rätsels Lösung: Der Typ der Version ist nun "text" und nicht mehr "version".

Was tun?

Wenn man das Script nur unter Mountain Lion einsetzen wird, dann können diese Zeilen ...

Code
-- Kompatibilität für OS 10.2.8, AS-Version 1.9 
if ((version as real) is equal to or greater than 1.92) then
set theGShortStrDate to true
else
set theGShortStrDate to false
end if

... so vereinfacht werden:

Code
set theGShortStrDate to true 


Sonst kann man es so lösen:

Code
-- Kompatibilität für OS 10.2.8, AS-Version 1.9 
if ((text 1 thru 3 of (version as string)) as real) is equal to or greater than 1.92 then
set theGShortStrDate to true
else
set theGShortStrDate to false
end if

So funktioniert es hier auch unter Mountain Lion.

Gruss, Hans


als Antwort auf: [#518608]

Script aktualisieren?

JohanneS.
Beiträge gesamt: 1056

18. Okt 2013, 19:29
Beitrag # 9 von 9
Beitrag ID: #518630
Bewertung:
(2876 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Hans,

das nächste Mal dann das Script gleich im ersten Anlauf, keine Frage!

Ja, so geht das wie gewünscht!
Herzlichen Dank nochmals

Johannes


als Antwort auf: [#518627]
X

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
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Enfocus World Tour 2022