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

Anmeldedatum: 06.01.2005 Beiträge: 9
|
Verfasst am: 18.05.2005 - 19:30 Titel: Preferences |
|
|
Upps, mein vorheriges Thema sollte eigentlich nicht hier landen...
aber zu meiner frage: kann man per ASS ein "preference" file plazieren, und wenn ja, wie ruft man es wieder ab? |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 18.05.2005 - 19:43 Titel: |
|
|
Preferences anlegen:
tell user defaults
make new default entry at end of default entries with properties {name:"Pos1", contents:"40"}
make new default entry at end of default entries with properties {name:"Pos2", contents:"400"}
end tell
Hier werden alle Einträge ( meinem Fall nur zwei ) der Preferences-Datei definiert. Dies sollte man immer tun, auch wenn die Datei bereit besteht. Bereits vorhandene Werte werden NICHT überschrieben.
Werte abspeichern:
tell user defaults
set contents of default entry "Pos1" to (Pos1 as Unicode text)
set contents of default entry "Pos2" to (Pos2 as Unicode text)
end tell
Werte auslesen:
tell user defaults
set Pos1 to (contents of default entry "Pos1") as number
set Pos2 to (contents of default entry "Pos2") as number
end tell _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 18.05.2005 - 19:45 Titel: Re: Preferences |
|
|
florianm2 hat Folgendes geschrieben: | Upps, mein vorheriges Thema sollte eigentlich nicht hier landen...
|
Hab's jetzt verschoben, vielleicht reagiert noch jemand darauf. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
florianm2 •->

Anmeldedatum: 06.01.2005 Beiträge: 9
|
Verfasst am: 19.05.2005 - 13:18 Titel: |
|
|
hmm. klingt gut... aber wird bei deinem bespiel eine neue datei angelegt? oder wird nur an das ende einer bestehenden datei geschrieben? |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 19.05.2005 - 18:49 Titel: |
|
|
Wenn die Datei noch nicht besteht, wird sie angelegt. Kennen wir das nicht schon lange so von Preferences-Dateien?  _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
florianm2 •->

Anmeldedatum: 06.01.2005 Beiträge: 9
|
Verfasst am: 20.05.2005 - 20:46 Titel: |
|
|
stimmt ja eigentlich... aber es kommt eine "cantscriptcommanderror" oder so... und die datei besteht nicht, jedenfalls nicht in meinem preferences ordner... |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 21.05.2005 - 15:28 Titel: |
|
|
In welche Handler hast du die Anweisungen gepackt?
Ich habe die Angaben direkt aus einem Projekt von mir kopiert.
Die Anweisung zum Anlegen und Einlesen stecken im 'on will finish launching'-Handler, die zum Schreiben der aktuellen Werte im 'on will quit'-Handler.
Auch unter Tiger getestet. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 05.08.2005 - 09:19 Titel: |
|
|
man findet immer hilfe hier - das forum ist goldwert!!!  _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 08.08.2005 - 09:45 Titel: |
|
|
mein problem bei der sache:
wenn ich den text eines textfeldes in die preference datei schreibe, den text dann nachher wieder auslese und in das selbe textfeld wieder schreiben möchte funktioniert das nicht.
ich bekomme immer den fehler -1700 (can't make class...) - hat jemand ne idee an was das liegt? _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 08.08.2005 - 12:35 Titel: |
|
|
In die Preferences Datei Unicode Text schreiben (möglicherweise wird das aber auch automatisch konvertiert) - beim Einlesen des Textes daran denken, dass dies nun Unicode Text ist - und entsprechend in string bzw. text konvertieren - klappt anscheinend nicht automatisch. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 08.08.2005 - 12:51 Titel: |
|
|
habe ich aber gemacht... komisch... moment...
hier:
Code: |
tell user defaults
try
set contents of default entry "Infolder" to (GetInfolderPath as Unicode text)
end try
end tell
|
Code: |
tell user defaults
try
set Infolder to (contents of default entry "Infolder") as string
end try
end tell
set contents of text field "path_storagefolder" of window "prefs" to Storagefolder
|
dann gibts immer diese fehlermeldung:
Can't make contents of «class texF» "path_storagefolder" of window "prefs" of «class useD» into type reference. (-1700)
wahrscheinlich hab ich irgendwo ganz furchtbar nen hund drin?!  _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 08.08.2005 - 13:24 Titel: |
|
|
sideshow hat Folgendes geschrieben: | dann gibts immer diese fehlermeldung:
Can't make contents of «class texF» "path_storagefolder" of window "prefs" of «class useD» into type reference. (-1700)
|
Hier wird anscheinend versucht, den Textwert in eine Referenz umzuwandeln. Du musst versuchen den Grund dafür zu finden. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 08.08.2005 - 13:38 Titel: |
|
|
Snow hat Folgendes geschrieben: |
Hier wird anscheinend versucht, den Textwert in eine Referenz umzuwandeln. Du musst versuchen den Grund dafür zu finden. |
hehe... versuch ich schon die ganze zeit - ich hab zulange zuviel php programmiert. apple script kann ich einfach nicht mehr! ;D _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 08.08.2005 - 16:06 Titel: |
|
|
sideshow hat Folgendes geschrieben: | Snow hat Folgendes geschrieben: |
Hier wird anscheinend versucht, den Textwert in eine Referenz umzuwandeln. Du musst versuchen den Grund dafür zu finden. |
hehe... versuch ich schon die ganze zeit - ich hab zulange zuviel php programmiert. apple script kann ich einfach nicht mehr! ;D |
Eine Ferndiagnose ist hier leider nicht möglich, es kann ja schließlich direkt mit dem Interface in Zusammenhang stehen.
Die Fehlermeldungen sind ja leider immer etwas allgemein gehalten. - Und so aussagekräftig wie 15 Meter Feldweg.
Möglicherweise stimmt auch einfach die Referenzierung dieses Textfeldes nicht.
Mach doch mal einen Test mit "internem" Text. Also
set VariableX to "Dies ist mein Testtext"
Diesen Textwert versuchst du nun in das Textfeld zu verfrachten. Wenn das nicht klappt, liegt es an der Referenzierung des Textfeldes. Vielleicht befindet es sich noch in einer Box, die du vergessen hast anzugeben.
Leider gibt es in AppleScript-Studio aufgrund der unzähligen Gestaltungsmöglichkeiten auch ebenso unzählig viele Fehlerquellen.
Ferndiagnose ist so gut wie gar nicht möglich - ich kann nur raten. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 08.08.2005 - 16:27 Titel: |
|
|
mh... das textfeld liegt zwar "in" einer textbox - aber eigentlich auch nicht. ich hab es so designed, das die beiden objekte nicht in verbindung zueinander stehen.
komisch ist es auch, das es einmal geht und einmal nicht.
also:
erst hole ich über ein panel einen pfad zu einem ordner und lasse diesen in das textfeld schreiben:
set pathName to ""
display open panel
set the pathName to path name of open panel as string
set contents of text field "path_storagefolder" of window "prefs" to pathName
das geht auch ohne probleme. jetzt speichere ich diesen pfad aus dem textfeld in die preference datei über einen speichern button. das geht auch ohne probleme.
jetzt will ich diesen pfad wieder aus den preferences holen und auslesen. geht auch (also den pfad wieder zurück in eine variable zu schreiben)
wenn ich aber jetzt den ausgelesenen pfad aus der variable wieder in das gleiche textfeld schreiben will, bekomme ich eben diese fehlermeldung (siehe oben). und hier der code dazu - unterscheidet sich auch nicht wirklich von dem code weiter oben:
tell user defaults
set Storagefolder to (contents of default entry "Storagefolder") as string
end tell
set contents of text field "path_storagefolder" of window "prefs" to Storagefolder
ich dank dir aber schonmal trotzdem für die mühe snow und das du dich mit diesem dämlichen problem von mir beschäftigst (ich rauf mir langsam die haare aus! ) _________________ Meine Wenigkeit im Internet: http://www.sideshow-systems.de |
|
Nach oben |
|
 |
|