hilfdirselbst.ch
Facebook Twitter gamper-media
Mac OS X enthält verschiedene integrierte Werkzeuge und Technologien, mit denen sich gängige Aufgaben schnell und einfach automatisieren lassen.
JohanneS. S
Beiträge: 877
17. Okt 2013, 14:05
Beitrag #1 von 9
Bewertung:
(2715 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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
Top
 
X
Hans Haesler  M  p
Beiträge: 5557
17. Okt 2013, 14:33
Beitrag #2 von 9
Beitrag ID: #518556
Bewertung:
(2705 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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] Top
 
Hans Haesler  M  p
Beiträge: 5557
17. Okt 2013, 20:11
Beitrag #3 von 9
Beitrag ID: #518572
Bewertung:
(2668 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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] Top
 
JohanneS. S
Beiträge: 877
18. Okt 2013, 10:16
Beitrag #4 von 9
Beitrag ID: #518588
Bewertung:
(2638 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


Moin Hans,

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

Viele Grüße
Johannes
als Antwort auf: [#518572] Top
 
Hans Haesler  M  p
Beiträge: 5557
18. Okt 2013, 14:32
Beitrag #5 von 9
Beitrag ID: #518603
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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] Top
 
JohanneS. S
Beiträge: 877
18. Okt 2013, 15:02
Beitrag #6 von 9
Beitrag ID: #518605
Bewertung:
(2610 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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] Top
 
Hans Haesler  M  p
Beiträge: 5557
18. Okt 2013, 15:21
Beitrag #7 von 9
Beitrag ID: #518608
Bewertung:
(2600 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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] Top
 
Hans Haesler  M  p
Beiträge: 5557
18. Okt 2013, 18:44
Beitrag #8 von 9
Beitrag ID: #518627
Bewertung:
(2559 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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] Top
 
JohanneS. S
Beiträge: 877
18. Okt 2013, 19:29
Beitrag #9 von 9
Beitrag ID: #518630
Bewertung:
(2548 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Script aktualisieren?


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] Top
 
X