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

Hilfe... - mein Script will nicht so wie ich will!

 
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
m0j0
•->
•->


Anmeldedatum: 12.06.2001
Beiträge: 3

BeitragVerfasst am: 14.06.2001 - 00:56    Titel: Hilfe... - mein Script will nicht so wie ich will! Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


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

BeitragVerfasst am: 14.06.2001 - 09:54    Titel: Hilfe... Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
macgix
•--->
•--->


Anmeldedatum: 13.12.2000
Beiträge: 206
Wohnort: K–ln

BeitragVerfasst am: 29.06.2001 - 13:10    Titel: Hilfe... Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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
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