grundlegende Handler frage ...

glzm0

Aktives Mitglied
Thread Starter
Dabei seit
16.03.2003
Beiträge
882
Reaktionspunkte
9
Hallo,

vielleicht liest ja Snow noch mit ;).

Ich habe grundlegende propleme des verstehens wie ein Handler funktioniert (trotz Ihrer Website und PDF =) ).

Ich dachte bisher man könne so ein script lesbarer gestalten z.B.:
-----
on run{}
meinProgramm()
end run

on meinProgramm()
...
end meinProgramm
---------

bisher hat es auch immer geklappt :), nun komme ich aber in verlegenheit so ein Handler innerhalb eines Handlers oder Tell-blockes zu nutzen, und schon geht es nicht mehr.
Warum? Was muss ich tun um dies zu ändern?

mfg glzm0
 
Handler werden in der Regel auf der obersten Scriptebene definiert. Falls der Aufruf nicht von dort aus geschieht, sondern von einem anderen Handler oder einem Tell-Block heraus, dann muss man beim Handleraufruf auf die oberste Scriptebene verweisen.

Statt so zu schreiben:

meinProgramm()

benötigt man nun sowas:

my meinProgramm()

oder

meinProgramm() of me


Handler innerhalb eines anderen Handlers zu definieren geht nicht - man bekommt eine Fehlermeldung. Wenn man so etwas wirklich machen will, muss man innerhalb eines Handlers ein Skriptobjekt anlegen. Wiederum innerhalb dieses Skriptobjekts können nun weitere Handler definiert werden.

Beispiel:

meinProgramm()

on meinProgramm()
****set t to "Hallo"
****
****
script UnterProgramm
********on meinUnter(s)
************display dialog s
********end meinUnter
****end script
****
meinUnter(t) of UnterProgramm
end meinProgramm


Wie man sehen kann, wird es hier mit dem Aufrufen des innersten Handlers schon recht kompliziert.
 
... aha .. Danke =)

Hallo Herr Fischer,

(ich hoffe ich darf Sie mit Nachnamen ansprechen, ist ja kein geheimnis :), wenn nicht schnell den Admin anrufen oder mich zum editieren :) )

Also vielen Dank erst mal. Ziemlich Kompetente Hilfe Ihrerseits. Wie viele Jahre beschäftigen Sie sich eigentlich schon mit AppleScript?

Was ist von AppleScript Studio zu halten? Hat das noch Zukunft wenn nun der Tiger Automator kommt? :)

Ihr hinweis (of me) hat mir weitergeholfen. nun funzt mein Script prima. Habe aus Ihren forum diesen Codeschnipsel geliehen, welcher Text durch anderen erstezen kann, der den Sie auch gefunden hatten der ziemlich kompakt und unverständlich sein mag. Geht Prima.

Habe damit mein Adressbuch neu geordnet. Str. durch Straße und str. durch strasse ersetzen lassen.
:)

Nun hatte ich noch ein Script welches mir die passenden Bundesländer zu den Postleitzahlen einträgt. Hoffentlich war die Arbeit nicht ganz umsonst da die ja im Adressbuch selbst nicht mehr angezeigt werde, aber wenn ich sie als HTML exportiere fand ich es ganz nett =).
Da würde mich mal rein Theoretisch interessieren wie Sie dieses Problem gelöst hätten.
Ich habe es umständlich gelöst,
1. filtern der ganzen Kontakte welche überhaupt eine Adresse besitzen (um die liste klein zu halten)
2. ich habe jeweils für ein Bundesland eine liste mit deren Postleitzahlen.
jetzt können Sie sich ja vorstellen wie lange das dauert bis er jedes mal jede liste durchsucht hat und das dann mal 16 Bundesländer :D - aber ok es hat funktioniert.
Ich dachte erst die liste nach zahlen zu sortieren um so schneller die suchroutine auf die richte PLZ zu setzen. hab es dann aber bei der Variante liste pro Bundesland belassen. :)

nunja :) Danke noch einmal für die Hilfe.
 
You can say you to me.
"Sie" oder "Herr Fischer" bin ich nur an der Arbeit.

Wie viele Jahre beschäftigen Sie sich eigentlich schon mit AppleScript?

Seit meinem ersten Mac - 1993. Allerdings anfangs nur sporadisch. Man ist halt neugierig. Intensiviert hat sich mein Interesse an AppleScript erst 1998. Und seit mein Forum läuft (2000) habe ich täglich damit zu tun.

Was ist von AppleScript Studio zu halten? Hat das noch Zukunft wenn nun der Tiger Automator kommt?

Automator wird keine Konkurrenz für AppleScript Studio sein. Die Ansätze sind zu verschieden. Automator stellt eher eine Alternative zum klassischen AppleScript dar. - Praktisch Scripten ohne Skriptkenntnisse. Im Automator werden ja nur vorgefertigte Scriptteile kombiniert.
Wer ein eigenständiges Programm mit User-Interface erstellen möchte, wird um AppleScript Studio nicht herum kommen.

Zum Bundesländer zuordnen:

Die Postleitzahlen werden ja nicht per Zufallsprinzip vergeben. So lässt sich doch schon einschränken, in welcher Liste gesucht werden soll.
 
nicht unbedingt per zufall, aber ...

Danke für die Beantwortung der Fragen :)

... also per Zufall hat die Post die PLZ nicht vergeben, aber auch nicht Explizit nach Bundesländer. Deswegen gibt es PLZ gebiete die zwei Bundesländer bedienen müssen.

Also nach den ersten 2 Zahlen der PLZ kann ich nicht gehen, nun muss ich mal schauen ob die ersten 3 langen. Ansonsten komme ich um mein Prinzip nicht herum :)

Und wie ich damals beim durchforsten nach meinem Problem feststellen musste, werden die PLZ von der Post ständig up to date gehalten. Also scheinen die das ständig in einem geringem Maße zu ändern.

:) Naja, mal schauen ob es reicht die ersten 3 Ziffern zu kontrollieren.


mfg glzm0
 
Zuletzt bearbeitet:
Zurück
Oben Unten