Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
m0j0 •->


Anmeldedatum: 12.06.2001 Beiträge: 3
|
Verfasst am: 14.06.2001 - 00:56 Titel: Hilfe... - mein Script will nicht so wie ich will! |
|
|
Das Script soll, wenn jemand im channel !kalauer sagt "5DM in die Kalauerkasse zahlen", also der Wert, der in der Datei kalauerkasse.data gespeichert ist, soll um 5 erhöht werden.
Aber das tut er nicht, immer kommt eine Fehlermeldung...
Ich weis auch nicht mehr weiter.
Ihr vielleicht?
property KassenStand : 0
on load()
tell application "ircle"
echo "Kalauerkasse ist jetzt aktiv. !kalauer zahlt 5 DM in die Kalauerkasse."
set RefNum to (open for access file "Macintosh HD:Kalauerkasse.data" with write permission)
set KassenStand to read RefNum
beep
end tell
end load
on pubmsg(con, source, sourcehost, target, thestring)
tell application "ircle"
if thestring contains "!kalauer" then
type source & " zahlt 5DM in die Kalauerkasse."
set KassenStand to KassenStand + 5
write KassenStand to RefNum
end if
end tell
end pubmsg
on unload()
tell application "ircle"
echo "Kalauerkasse deaktiviert."
close access RefNum
end tell
end unload |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 14.06.2001 - 09:54 Titel: Hilfe... |
|
|
Moin,
über das Programm "ircle" verfüge ich nicht, aber was ich so sehe ist:
Im 1. Handler (on load) erzeugst Du eine Dateireferenz (RefNum) die in den weiteren Handlern auch benutzt wird. Diese Dateireferenz ist aber in den Handlern jeweils eine lokale Variable. Übergebe diese Variable entweder als Parameter oder mache eine globale Variable daraus (bzw. einen Property).
Gruß,
Folker
PS: Poste doch die Fehlermeldung mit, daraus läßt sich oft schon das Problem eingrenzen. _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
macgix •--->


Anmeldedatum: 13.12.2000 Beiträge: 206 Wohnort: K–ln
|
Verfasst am: 29.06.2001 - 13:10 Titel: Hilfe... |
|
|
Volker, hast vollkommen Recht! Dieses Skript macht es deutlich:
property tRefNum : ""
han1()
on han1()
set tRefNum to open for access file "Fortissimo:Bild 1"
close access tRefNum
my han2()
end han1
on han2()
return tRefNum
end han2
Da man jedoch tRefNum innerhalb eines Skriptes durchaus aber öfter verwendet, wenn man Dateien zum Lesen oder Schreiben öffnet, habe ich mir angewöhnt, ein wenig anders zu verfahren, um Verwechslungen auszuschließen:
property this_is_my_file : "Fortissimo:Bild 1"
han1()
on han1()
set tRefNum to open for access file this_is_my_file
close access tRefNum
my han2()
end han1
on han2()
return this_is_my_file
end han2
So bleibt der Skriptcode frei von absoluten Werten und arbeitet ausschließlich mit Variablen.
Man sollte immer (soweit möglich) mit Variablen anstatt fester Werte arbeiten, damit man den/die Handler innerhalb des Skriptes auch aus anderen Handlern heraus ansprechen und nutzen kann.
Ausserdem lässt sich der Handler dann leichter in andere Skriptprojekte kopieren ohne modifiziert werden zu müssen.
Grüße,
Thomas _________________ [macgix] |
|
Nach oben |
|
 |
|
|
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
|
|
|