Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

AppleScript Versions-Check

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Armin Egginger
•-->
•-->


Anmeldedatum: 04.05.2002
Beiträge: 96
Wohnort: Germering (b. München)

BeitragVerfasst am: 09.05.2003 - 21:54    Titel: AppleScript Versions-Check Antworten mit Zitat

Beschreibung:
Dieses Script prüft, welche AppleScript Version installiert ist und gibt diese mit einem Dialog aus. Falls die Version 1.7 installiert ist, wird ein Warnhinweis ausgegeben. Die Version 1.7 gibts nur in OS 9, aber dieses Script kann als Grundlage zur if-then-else Struktur dienen.

Code:
set xASvers to version as string
if xASvers contains "1.7" then
   display dialog "Es ist die AppleScript-Version " & (get word 2 of xASvers) & " installiert!
ACHTUNG! Bitte Version 1.6 installieren! Sie finden diese unter www.info.apple.com/support/downloads_de.html" buttons {"ok"}
   return
else
   display dialog "AppleScript Version ok!" & return & "Es ist die AppleScript-Version " & xASvers & " installiert! " buttons {"ok"}
end if


Fehlende Funktionen bitte noch hinzufügen oder das Script erweitern!

happy filemaking

Armin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Yahoo Messenger
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 10.05.2003 - 13:15    Titel: Antworten mit Zitat

Hallo Armin, hallo ihr Scripter,

die erste Zeile im Snippet hat mich etwas verwirrt. Schreibt man:

set xASvers to version

dann sieht das Ergebnis im Ergebnisfenster bereits so aus, als wäre es ein String.

set xASvers to version --as string
log class of xASvers


Hier wird im Eventprotokoll angezeigt, dass es sich um den Datentyp "version" handelt. Anscheinend ist es nicht möglich, einen Text oder eine Zahl in diesen Datentyp umzuwandeln. Wäre dies irgendwie möglich könnte man die AS-Version direkt vergleichen

Achtung! Folgendes Beispiel funktioniert NICHT.

set MinVers to "1.6" as version
set xASvers to version
if xASvers is greater than or equal to MinVers then
display dialog "Alles im Lot"
else
display dialog "Es muss mindesten die Version 1.6 installiert sein."
end if


Hat jemand eine Idee, wie man so einen Vergleich anstellen könnte? Die Versionsnummer in eine Zahl umzuwandeln klappt ja auch nicht immer. Bei Version 1.6 wäre es ja noch möglich aber z.B. 1.8.3 oder 1.9.1 sträuben sich doch sehr dagegen.

Gruß
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Armin Egginger
•-->
•-->


Anmeldedatum: 04.05.2002
Beiträge: 96
Wohnort: Germering (b. München)

BeitragVerfasst am: 23.05.2003 - 18:20    Titel: Bei mir funkt's! Antworten mit Zitat

Hi Snow, hi Scripter,

Snow hat Folgendes geschrieben:
Hat jemand eine Idee, wie man so einen Vergleich anstellen könnte? Die Versionsnummer in eine Zahl umzuwandeln klappt ja auch nicht immer. Bei Version 1.6 wäre es ja noch möglich aber z.B. 1.8.3 oder 1.9.1 sträuben sich doch sehr dagegen.


Bei mir funktioniert das auch einwandfrei mit der Version 1.9.1. Das hab ich eben nocheinmal getestet. Ich hab das Script für OS9 noch erweitert, indem es die StandardAdditions-Version prüft. Dieses Script läuft bei mir einwandfrei - macht keine Mucken. Hallo Ihr Scripter - testet mal, wie es bei euch läuft und gebt eure Erfahrungen weiter!

happy filemaking


Armin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Yahoo Messenger
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 01.10.2003 - 10:11    Titel: Antworten mit Zitat

Mein Tipp:

für OS X

set theVersion to system attribute "ascv"
set temp to {}
repeat with i from 1 to 4
set beginning of temp to (theVersion mod 16)
set theVersion to theVersion div 16
end repeat
temp
set AppleScript's text item delimiters to {""}
0 + ("" & temp)

Systemversion erhält man via system attribute "sysv" -

Unter OS 9 (8) ersetzt man system attribute durch computer und auch dort funktioniert es. Allerdings kennt dort nur der Finder computer - also 1. Zeile:
tell app "Finder" to set theVersion to computer "ascv"

Obigen Code habe ich nur schnell aus einem meiner alten Programme herauskopiert. Ich habe jetzt nicht alles nochmals nachvollzogen. Dat funzt aber auf jedem Rechner bisher und in allen Sprachen usw.

Gruß,
Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter