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

Variable von einem Handler zum anderen weitergeben

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


Anmeldedatum: 19.08.2008
Beiträge: 13
Wohnort: Wien

BeitragVerfasst am: 24.09.2012 - 22:02    Titel: Variable von einem Handler zum anderen weitergeben Antworten mit Zitat

Hallo,
Ich bekomme die Variablen nicht weiter in das restliche Script.
Fehlermeldung: theSender (theContent) ist nicht definiert.
Wie kann ich die Variablen weitergeben.
Weiss jemand Rat?

Danke im Voraus
G.

zB Teil des Scripts:

using terms from application "BluePhoneElite 2"
on incoming message theMessage
tell theMessage

global theContent, theSender, theSenderDay, theSenderN
set theContent to the content
set theString to theContent
set theSender to the display value of the sender
set theSenderN to the phone number of the sender

end tell
end incoming message

end using terms from

set day_num to do shell script "date +%j"
set theSenderDay to theSender & day_num
set divider to ":"
set theDate to (current date)
set timeString to (hours of theDate) & divider & (minutes of theDate) & divider & (seconds of theDate) as text
set dividerD to "."
set theDate to (current date)
set datetring to (day of theDate) & dividerD & " " & (month of theDate) & " " & (year of theDate) as text

set DateG to datetring & " " & timeString

ZReplacer(theContent, {"z", " "}, {"", ""}, "") -- (a) Mit Suchen/Ersetzen-Listen
on ZReplacer(input, srchList, replList, separator)
if class of srchList is string then
set AppleScript's text item delimiters to separator
set srchList to every text item of srchList
set replList to every text item of replList
else
set AppleScript's text item delimiters to ""
end if
repeat with i from 1 to (count of srchList)
set srch to item i of srchList
set repl to item i of replList
set AppleScript's text item delimiters to srch
set the temp to every text item of input
set AppleScript's text item delimiters to repl
set input to temp as string
end repeat
set AppleScript's text item delimiters to ""
return input
end ZReplacer

usw...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 24.09.2012 - 23:22    Titel: Antworten mit Zitat

So wird Dir kaum jemand helfen können. Ich habe das Programm BluePhone … nicht. Somit kann das Script bei diesen Leuten nicht kompiliert werden und ist ja so schon schwer zu lesen, da unstrukturiert (dafür gibt es die Code-Tags).

Lasse mal zeilenweise ein log mitlaufen und poste dann den konkreten Teil, der nicht läuft. Evtl. kommst Du ja auch dabei darauf, wo was hakt.
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jürgen
•->
•->


Anmeldedatum: 09.07.2012
Beiträge: 15
Wohnort: Langenfeld

BeitragVerfasst am: 02.10.2012 - 17:57    Titel: Globale in Handlern Antworten mit Zitat

Bei deinem Script-Ausschnitt kann ich auch nur raten, ob der hinreichend vollständig ist.

Du benutzt in »set theSenderDay to theSender & day_num« nach dem »to« die Variable »theSender«. Die wird aber im Handler «incoming» erzeugt, den du vorher gar nicht aufrufst. Damit ist «theSender» an der Stelle nicht definiert.

Gruß, Jürgen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zyrus
•->
•->


Anmeldedatum: 19.08.2008
Beiträge: 13
Wohnort: Wien

BeitragVerfasst am: 02.10.2012 - 20:48    Titel: Handlerproblem Antworten mit Zitat

Hallo Jürgen,

Danke für die Erklärung.
Das Script ist nahezu vollständig (der Rest sind Wiederholungen mit geänderten Parameter um alle mögliche Buchstaben zu ersetzen).

Als Neuling würde ich gerne einen Rat erhalten, wie ich den Handler so aufrufen kann, dass theSender nicht mehr als nicht definiert gemeldet wird
(das wird wahrscheinlich auch für die anderen noch undefinierten Variablen gelten).

G.Z.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jürgen
•->
•->


Anmeldedatum: 09.07.2012
Beiträge: 15
Wohnort: Langenfeld

BeitragVerfasst am: 03.10.2012 - 23:23    Titel: Script-Aufruf aus BluePhoneElite Antworten mit Zitat

Ich kenne »BluePhoneElite 2« auch nicht. Davon, welche Dinge das Programm kennt, habe ich also auch keine Ahnung.

Es gibt eigentlich nur zwei Ablaufmodelle für Scripts.

Wenn du das Script startest (Apfel-R im Script-Editor, Doppelklick auf ein AppleScript-Programm…), dann müsste es irgendwo in einem »tell application "BluePhoneElite 2" … end« Block mit dem Programm reden. Dabei müsste das Script das Programm nach angekommenen Messages fragen und mit denen was machen.

Das andere Modell: BluePhoneElite 2 kann so konfiguriert werden, dass es ein Script aufruft. In dem Fall ruft es immer einen Handler in dem Script auf. (Welche Handler es aufrufen kann, steckt im Programm, davon habe ich also wieder keine Ahnung.)

Falls »on incoming message« so ein Handler ist, wird der nur dann was tun, wenn du BluePhoneElite 2 das Script aufrufen lässt. Mit Apfel-R im Script-Editor wird es dann nicht klappen.

Die Diskussion z.B. in

http://www.perceptiveautomation.com/userforum/viewtopic.php?f=4&t=2003

verstehe ich so, dass Ich kenne »BluePhoneElite« Scripts treten kann, also Modell 2 gilt. Das kann aber nur funktionieren, wenn du irgendwo in dem Programm konfigurierst, dass es dein Script aufruft (und der Handlername im Script stimmt Smile.

Dann wirst du aber in das nächste Problem laufen: Alle Anweisungen, die außerhalb von »on incoming message … end incoming message« stehen, werden in deinem Script dann nie aufgerufen. Der Handler müsste mindestens noch etwas wie »tell me to run« enthalten. Oder aber, alle Anweisungen müssen im incoming message Handler stehen.

Noch ein Tipp: Du deklarierst die Globalen im Handler »incoming message«. Das geht, aber der Unterschied zu Globalen, die auf oberster Scriptebene deklariert werden (also außerhalb von allen Handlern), iet extrem subtil. Im Zweifelsfall würde ich die Globalen immer außerhalb von allen Handler deklarieren - oder aber Properties nehmen (die kann man nur außerhalb von Handlern deklarieren).

Bin gerade ziemlich vergrippt, ich hoffe, ich bin trotzdem noch halbwegs verständlich.

Gruß, Jürgen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zyrus
•->
•->


Anmeldedatum: 19.08.2008
Beiträge: 13
Wohnort: Wien

BeitragVerfasst am: 04.10.2012 - 14:36    Titel: Handlerprobleme Antworten mit Zitat

Hallo Jürgen,

danke für die ausführliche Darstellung.
Der Einfachheit halber lasse ich jetzt das Script des BluephoneElite eine FileMakerDatei aufrufen und eine FMScript aufrufen; bei FM kenne ich mich mehr aus aus und habe dabei keine Probleme, zumal bei mir BluephoneElite und Filemaker eng zusammenarbeiten.
Bisher funktioniert es einwandfrei.
G.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X 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