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

AppleScript-STOPPER=AS ANHALTEN an beliebiger Stelle gesucht
Gehe zu Seite Zurück  1, 2
 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 23.11.2004 - 19:28    Titel: Antworten mit Zitat

EDIT 21.11.07, einsichtig dass ich eine Zumutung war für Appleskripter(entschuldige Folker) kurz das Wesentliche:

Frage: wie stoppt man ein AS, das mit Handlern verknüpft ist, auch innerhalb eines Handler-Ablaufes beim Eintritt einer bestimmten Bedingung(ZB dass im Moment ein File nicht geöffnet werden kann und der user beim Dialog dazu den Abbruch-Button drückt)

Antwort gemäss Folkers Anweisungen:
mit error kann ein noch so handler-verschachteltes AppleSkript an gewünschter Stelle ge-STOPP-t werden!

Problem dabei aufgetaucht:
error-Dialog darf nicht im Hintergrund blinken
Meine Bastler-Lösung: (habe sie jahrelang ausprobiert und gut damit gefahren)

Zitat:
--ZB einen informativen noch so komplizierten Dialog in einen Handler plazieren(um Klarheit innerhalb des Skriptes wahren zu können) und ZB den Dialog mit Abbruch-Obtion versehen
tell application FileMaker to display dialog "Kann NICHT...soll zuerst.." --buttons, default usw

(*
dann das Skript stoppen lassen, ZB falls Dialog "Abbruch"-button gewählt wurde:
Damit dies auch innerhalb eines handlers ganz kurz aber effektiv und lesbar funktioniert:
Error-Dialog zuerst in den Vordergrund bringen:
*)
tell current application to activate
error "Adressfile.HOST kann nicht geöffnet werden,
das Skript wird nun automatisch beendet
"

_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 25.01.2007 - 23:19    Titel: Antworten mit Zitat

EDIT 1.4.07(nomen est omen)
Die Sache mit der Platzierung der error ist doch recht knifflig
ich hoffe man sieht es so:
hat Folgendes geschrieben:
--spi:
set errmsg to "error Nummer 2"
set errnum to -31960

--Folker:
try
   set x to 3
   set y to 3
   set z to (x ^ y)
   ---Ach nö - keine Lust mehr
   error "Ich habe keine Lust mehr ..." number -31960
   
   -- werden nicht weiter abgearbeitet
   set a to "b"
   set c to "d"
   
on error errmsg number errnum
   display dialog errmsg
end try

--spi:
set dspD to display dialog ¬
   "bei Dialog-Abbruch erhält man auf OS9 keine errmsg - Meldung sondern \"User cancelet. \" ist das Folkers Idee?" default answer ¬
   "
try-Anordnung bewirkt anderseits" & return & ¬
   "
Durchlauf trotz error" with icon 0


Daher muss wohl der Befehl error ausserhalb des try-Blockes plaziert werden. Das Skript muss so angeordnet sein, dass man mit einer "if...Bedingung" an den "error" ausserhalb des "try.." geführt wird?

Innerhalb von handlern entsteht dann nochmals eine zusätzliche Schwierigkeit: bei nicht erfüllter Bedingung muss der "error" ausserhalb des handlers in den Skriptablauf gesetzt werden, um es an gewünschter Stelle anzuhalten.

Hier noch eine einfache Variante dazu:
Zitat:
try....
if....then    error
on
   error
error "SCRIPT GESTOPPT"
...end try


Ich glaube es nun für alle Fälle begriffen zu haben.

PS: Zusammenfassend 3 Varianten, um das Skript an mehreren kritischen Stellen durchzutesten:
1) keines der 3 kann den jeweiligen Vorteil das anderen ersetzen (auch die log-Technik kann das nicht)
• hat Folgendes geschrieben:
set Var to "resultat einer bestimmten Variablen des Skriptes"
-------------------------------------------
error 0 & Var
•• hat Folgendes geschrieben:
set Var to "resultat einer bestimmten Variablen des Skriptes"
tell current application to activate
-------------------------------------------
display dialog 0 default answer Var
••• hat Folgendes geschrieben:
return 0 & GechoostZ

2) Um das Skript wieder aufzuräumen, genügt ein Suchen/Ersetz-Verfahren derart:
error 0=> --error 0
•• display dialog 0=> --display dialog 0
••• return 0=> --return 0

Pssssssssss: es kann dann ruhig auch so heissen:
return 0.1 & Bedingung1
return 0.2 & Bedingung2

um mit suchen/ersetzen:
return 0=> --return 0.1 & Bedingung1
und das Skript wäre wegen Inaktivität der return-Zeilen gereinigt
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
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