Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: nitram8 am 28.02.06 - 08:24:35

Titel: Benutzervorgaben per Script ändern
Beitrag von: nitram8 am 28.02.06 - 08:24:35
Hallo,
kann man die Benutzervorgaben per Agent bzw. Script ändern? Ich möchte gerne komplett per Script zwischen dem deutschen und englischen Wörterbuch umschalten und dann die Rechtschreibprüfung starten.

Nitram8
Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: Tode am 28.02.06 - 10:43:42
jein man kann.. dummerweise "merkt" sich der Client die Einstellungen im internen Cache.

Das heisst: Per Script geänderte Einstellungen ziehen erst, nachdem der Client durchgestartet wurde....

Das ganze wird nämlich in der notes.ini geparkt (SPELL_DIR). Dummerweise liest der Client diese Einstellung nur dann aktiv aus, wenn man sie im Frontend ändert, nicht wenn man das per Script tut.

Also ich habe schon alles mögliche versucht: das will einfach nicht klappen...
Sorry: Für diese Frage gibt es momentan kein "Ja"

Tode
Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: nitram8 am 28.02.06 - 11:06:28
Danke. Dann werde ich es in einem Windows-Makro direkt auf der Oberfläche des Client ändern (ist nur ziemlich umständlich).

Habe ich es aber richtig verstanden. Wenn ich die notes.ini ändere und irgend eine Änderung in den Benutzereinstellungen mache werden die Änderungen der notes.ini neu eingelesen?

nitram8
Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: it898ur am 28.02.06 - 15:14:42
Die Ausführungen zur Rechtschreibprüfung sind nicht ganz korrekt, man kann die Notes.ini-Variable zur Laufzeit setzen und sie wird auch sofort angewendet.

Wir verwenden dies mit folgenden Codeteilen (in einer Schaltfläche):

' alte Standardsprache merken und durch abweichenden Wert ersetzen
oldSprache = session.GetEnvironmentString("SPELL_LANG", True)
Call session.SetEnvironmentVar("SPELL_LANG", Sprache, True)

' Rechtschreibprüfung starten
Call uidoc.SpellCheck()

' alte Einstellung wiederherstellen         
Call session.SetEnvironmentVar("SPELL_LANG", oldSprache, True)

Wobei die Variable Sprache einen speziellen Zahlenwert einnehmen muss. Diesen erhält man, wenn man testweise den Client umstellt und in der Notes.ini nachsieht.

Folgende Werte funktionieren bei uns aber sauber:
Const SPELL_DEUTSCH_NEU = "32775"
Const SPELL_ENGLISCH_UK = "2057"
Const SPELL_FRANZOESISCH = "1036"
Const SPELL_PORTUGIESISCH = "2070"
Const SPELL_SPANISCH = "1034"
Const SPELL_ITALIENISCH = "1040"

Viel Spaß damit !

André
Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: Tode am 28.02.06 - 15:18:38
ja, so oder so ähnlich hatte ich das auch schon mal gecodet... in der damaligen (frühen) 6er Version hat er partout die gesetzten Werte nicht eingelesen... Schön, dass er das jetzt tut.

Und wieder schlauer...

Tode
Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: it898ur am 28.02.06 - 15:25:20
Läuft bei uns mit Client 6.5.0 und 5.0.9a

André
Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: nitram8 am 01.03.06 - 06:40:29
Klingt super. Wollte ich gleich ausprobieren.

Code
Wir verwenden dies mit folgenden Codeteilen (in einer Schaltfläche):


Aber wie verwende ich denn Code in einer Schaltfläche in der Symbolleiste. Die Schaltfäche gibt als Auswahl nur "Formelcode".

Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: it898ur am 01.03.06 - 13:04:24
Der Code läuft leider nicht als SmartIcon, da hier wirklich nur Formelsprache zulässig ist, jedoch kann in jeder Maske eine Aktionsschaltfläche mit Lotus Script eingebaut werden. Ein Agent startbar aus dem Menü "Aktionen" tuts auch  ;)

André
Titel: Re: Benutzervorgaben per Script ändern
Beitrag von: nitram8 am 01.03.06 - 13:48:57
Danke. Mit einem Agenten läuft es jetzt wunderbar. Hat mir wirklich sehr geholfen.

nitram8