[GastForen Programme Print/Bildbearbeitung Adobe InDesign [Javascript] Einstellungen eines Skripts speichern

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

[Javascript] Einstellungen eines Skripts speichern

Wolfgang Reszel
Beiträge gesamt: 4170

4. Okt 2007, 15:06
Beitrag # 1 von 10
Bewertung:
(27937 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

gibt es eine plattformübergreifende Möglichkeit aus Javascripts vorgenommene Einstellungen auf Festplatte zu speichern und wieder einzulesen? Ich meine einen offiziellen Weg, der ggf. nicht im gleichen Verzeichnis speichert, wo das Skript liegt. Es geht mir darum, dass sich ein Skript in einer GUI vorgenommene Einstellungen merkt.
X

[Javascript] Einstellungen eines Skripts speichern

Gerald Singelmann
  
Beiträge gesamt: 6269

4. Okt 2007, 15:11
Beitrag # 2 von 10
Beitrag ID: #315485
Bewertung:
(27888 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Man kann Labels im Dokument einfügen, die dann aber nur im gleichen Dokument wieder zu lesen sind.
Ab CS3 kann man Labels auch im application-Objekt speichern, aber ich glaube nicht, dass die persistent sind.
Wenn das also dokument- und sessionübergreifend sein soll, bleibt nur die Verwaltung einer config-Datei.
Von Ole gibt es eine Bibliothek dafür (CS3)

http://forum.adobe.com/...bin/webx/.3bc44567/0


als Antwort auf: [#315484]

[Javascript] Einstellungen eines Skripts speichern

zaphodbeeblebroxx
Beiträge gesamt: 408

4. Okt 2007, 15:28
Beitrag # 3 von 10
Beitrag ID: #315491
Bewertung:
(27877 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Hallo,

ein Beispiel für das Speichern + Einlesen von Einstellungen eines Skripts in eine config-Datei gibt es hier:

http://www.hilfdirselbst.ch/..._P253076.html#253076


als Antwort auf: [#315485]

[Javascript] Einstellungen eines Skripts speichern

Wolfgang Reszel
Beiträge gesamt: 4170

5. Okt 2007, 10:59
Beitrag # 4 von 10
Beitrag ID: #315597
Bewertung:
(27827 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die Antworten. Sehr hilfreich. Ich war mittlerweile selber dabei so was zu schreiben und es so kompakt wie möglich zu machen. Habt ihr eine Idee, wie man die Datei in der Skripten-Palette verstecken kann? Ein Punkt am Anfang des Namens bringt's am Mac leider nicht. Gibt es eine systemübergreifende Möglichkeit ins Benutzerverzeichnis zu schreiben. Beim Mac könnte man ja z. B. "~/Preferences/file.prefs" verwenden. Geht das auch unter Windows.


als Antwort auf: [#315491]

[Javascript] Einstellungen eines Skripts speichern

Martin Fischer
  
Beiträge gesamt: 12783

5. Okt 2007, 11:18
Beitrag # 5 von 10
Beitrag ID: #315602
Bewertung:
(27823 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Verwende für die Datei einfach einen Namen, der nicht mit ".js" oder ".jsx" endet.


als Antwort auf: [#315597]

[Javascript] Einstellungen eines Skripts speichern

Wolfgang Reszel
Beiträge gesamt: 4170

5. Okt 2007, 11:23
Beitrag # 6 von 10
Beitrag ID: #315603
Bewertung:
(27820 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Die Palette zeigt leider alles an, ob .txt, .prefs, .cfg, .ini oder auch ohne Erweiterung. In der Palette steht dein ein i-Symbol vor dem Namen.


als Antwort auf: [#315602]

[Javascript] Einstellungen eines Skripts speichern

Gerald Singelmann
  
Beiträge gesamt: 6269

5. Okt 2007, 11:28
Beitrag # 7 von 10
Beitrag ID: #315606
Bewertung:
(27818 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
In CS3 ist es eine Option in der Scripte Palette, ob "nicht unterstützte Dateien" angezeigt werden sollen oder nicht. Wahrscheinlich kann man die Option aber nicht per Script umstellen. Diese Vermutung habe ich jetzt nicht überprüft...


als Antwort auf: [#315603]

[Javascript] Einstellungen eines Skripts speichern

Martin Fischer
  
Beiträge gesamt: 12783

5. Okt 2007, 11:46
Beitrag # 8 von 10
Beitrag ID: #315614
Bewertung:
(27809 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
WR> In der Palette steht dein ein i-Symbol vor dem Namen.

Entschuldige.
Hatte das erwartete Verhalten ungeprüft von CS2 auf CS3 übertragen.

GS> In CS3 ist es eine Option in der Scripte Palette, ob "nicht unterstützte Dateien" angezeigt
GS> werden sollen oder nicht. Wahrscheinlich kann man die Option aber nicht per Script umstellen.

Letzteres wäre auch unanständig.
Oder?


als Antwort auf: [#315603]

[Javascript] Einstellungen eines Skripts speichern

Gerald Singelmann
  
Beiträge gesamt: 6269

5. Okt 2007, 12:00
Beitrag # 9 von 10
Beitrag ID: #315617
Bewertung:
(27799 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Letzteres wäre auch unanständig.


Nicht wenn du in einer Arbeitsumgebung wie z.B. einer Redaktion oder Agentur wohnst, in der alle Mitarbeiter ihre Rechner eh von der IT konfiguriert bekommen.


als Antwort auf: [#315614]

[Javascript] Einstellungen eines Skripts speichern

Wolfgang Reszel
Beiträge gesamt: 4170

5. Okt 2007, 17:28
Beitrag # 10 von 10
Beitrag ID: #315672
Bewertung:
(27755 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ah, habe gar nicht bemerkt, dass es da eine Einstellung gibt. Ich habe das jetzt aber so gelöst, dass die Einstellungen eine Hierarchiestufe höher gespeichert werden:

Code
// Voreinstellungen laden und speichern  
// 2007-10-05 Wolfgang Reszel
//
// - Am Anfang eines Skripts muss initPreferences() aufgerufen werden
// - Danach können mit Preferences.xxx = yyy, Preferences.yyy = zzz ...
// die Standardeinstellungen festgelegt werden
// - Es folgt readPreferences(), welches die Einstellungsdatei ausliest
// und das Object Preferences entsprechend ändert
// - Es können nun Preferences-Objekte verändert und auch neue angelegt werden
// - Mit writePreferences() wir das komplette Preferences-Objekt in die
// Einstellungsdatei geschrieben
//
// Die Einstellungsdatei befindet sich eine Hierarchiestufe höher als das
// Skript und dort im Preferences-Ordner. Hier ein Beispiel:
// Skript: ~/Library/Preferences/Adobe InDesign/Version 5.0/Scripts/Scripts Panel/Skript.jsx
// Einstellungsdatei: ~/Library/Preferences/Adobe InDesign/Version 5.0/Scripts/Preferences/Skript.preferences

function initPreferences() {
scriptFile = File($.fileName);
scriptName = scriptFile.name.match(/^.*\./g).toString();
preferencesFile = File(scriptFile.parent.path.toString() + "/Preferences/" + scriptName + "preferences");
preferencesFile.encoding = "UTF-8";
Preferences = new Object();
}

function readPreferences() {
if (preferencesFile.open("r")) {
try {
var evaluated = eval(preferencesFile.read());
if (evaluated) Preferences = evaluated;
} catch (e) {}
}
preferencesFile.close();
}

function writePreferences( ) {
if (!preferencesFile.parent.exists) {preferencesFile.parent.create();}
if (preferencesFile.open("w")) {
preferencesFile.writeln(Preferences.toSource());
}
preferencesFile.close();
}



als Antwort auf: [#315617]
X