CreateRegistry
#
Erzeugt ein Registry-Objekt zum Zugriff auf die interne SQL-Registry, eine Registry-Datei oder eine flüchtige RAM-Registry. Die SQL-Registry ist der zentrale Speicher für viele EULANDA-Einstellungen. Es gibt sowohl benutzerbezogene als auch globale Bereiche.
Set reg = Client.CreateRegistry(Root, Key, Options)
Parameter
#
Root
#
| Name | Beschreibung |
|---|
| CLIENT: | Zugriff auf die EULANDA-Registry. Diese wird größtenteils beim Starten des Mandanten in den Arbeitsspeicher gelesen. Der Zugriff ist also gepuffert. Änderungen werden i.d.R. erst beim Beenden von EULANDA zurückgespeichert. Der Zugriff entspricht dem Registry-Editor unter „Systemverwaltung". Nur bei diesem Typ darf auf den Präfix „CLIENT:" verzichtet werden. Über die Angabe hinter dem Doppelpunkt kann auf spezielle Teile der Registry zugegriffen werden (siehe unten). |
| SERVER: | Zugriff auf die nicht gecachte Registry direkt im SQL-Server. Dies entspricht dem Zugriff über den Registry-Editor im SQL-Designer. Alle Änderungen werden umgehend in die Datenbank geschrieben und alle Lesevorgänge werden frisch aus der Datenbank abgerufen. Der Zugriff ist deutlich langsamer als beim normalen Registry-Zugriff. |
| FILE: | Reiner Lesemodus. Zugriff auf eine beliebige “.cnreg”-Datei. Die Datei muss komplett in den Arbeitsspeicher gelesen und interpretiert werden. Dies kann je nach Dateigröße einige Sekunden in Anspruch nehmen. Der Dateiname wird direkt nach dem Doppelpunkt angegeben: FILE:C:\Pfad\datei.cnreg |
| INSTALL: | Reiner Lesemodus. Die Installationsregistry von EULANDA, wie sie beim Installieren eines neuen Mandanten vorliegt. Das Erzeugen kann einige Sekunden dauern, da die Daten aus der EXE extrahiert und dekomprimiert werden. |
| RAM: | Flüchtige Registry im Arbeitsspeicher. Existiert nur während der aktuellen Session. Optional kann ein Name angegeben werden: RAM:MeinSpeicher |
CLIENT:-Bezeichner
#
Folgende Bezeichner können an “CLIENT:” angehängt werden, um einen speziellen Registry-Teil zu öffnen:
Benutzer
#
| Bezeichner | Beschreibung | Pfad |
|---|
| ROOT | Basisverzeichnis der Registry | \ |
| CURRENT_USER | Der momentan angemeldete Benutzer | \USER\<aktueller User> |
| ALLUSER | Der spezielle Benutzer “.ALLUSER” (Standardwerte) | \USER\.ALLUSER |
| ALL_USERS | Der Pfad unter dem sich alle Benutzer-Schlüssel befinden | \USER |
| DEFAULT_USER | Der spezielle Benutzer “.DEFAULT” | \USER\.DEFAULT |
| USER | Ein bestimmter Benutzer. Der Benutzername wird mit Leerzeichen getrennt angehängt. | \USER\<name> |
Set reg = Client.CreateRegistry("CLIENT:USER franz", "", "")
Session
#
| Bezeichner | Beschreibung | Pfad |
|---|
| SESSION | Flüchtiger Session-Bereich (nur aktuelle EULANDA-Instanz) | \SESSION |
Set reg = Client.CreateRegistry("SESSION", "\AppFeatures", "")
Maschinen (Arbeitsplätze)
#
| Bezeichner | Beschreibung | Pfad |
|---|
| ALL_MACHINES | Arbeitsplatzübergreifende Einstellungen | \MACHINE\.ALLMACHINE |
| MACHINE | Ein bestimmter Arbeitsplatz. Der PC-Name wird mit Leerzeichen getrennt angehängt. | \MACHINE\<name> |
| LOCAL_MACHINE | Der aktuelle Arbeitsplatz | \MACHINE\<aktueller PC> |
| SESSION_MACHINE | Spezieller Key bei Terminalserver (enthält Server- und Clientname) | \MACHINE\<session> |
Set reg = Client.CreateRegistry("CLIENT:MACHINE PC-LAGER01", "", "")
Solution-Partner
#
| Bezeichner | Beschreibung | Pfad |
|---|
| ALL_VENDORS | Pfad unter dem sich alle Solution-Partner befinden | \VENDOR |
| VENDOR | Ein bestimmter Solution-Partner. Die Kennung wird mit Leerzeichen getrennt angehängt. | \VENDOR\<kennung> |
Set reg = Client.CreateRegistry("CLIENT:VENDOR meinepartner", "", "")
Key (optional)
#
Ein Registry-Pfad, der gleich zu Anfang geöffnet sein soll. Falls der Schlüssel nicht existiert, wird er automatisch erstellt.
Options (optional)
#
Reserviert für Erweiterungen.
Beispiele
#
Unterschlüssel von .ALLUSER auflisten
#
Set reg = Client.CreateRegistry("ALL_USERS", "", "")
MsgBox reg.GetKeyNames
Session-Registry für temporäre Daten
#
Set reg = Client.CreateRegistry("SESSION", "\MeinSkript\TempDaten", "")
reg.Write "LetzterLauf", Now
reg.Write "Zähler", 42
Datei-Registry lesen
#
Set reg = Client.CreateRegistry("FILE:C:\Backup\settings.cnreg", "", "")
If reg.KeyExists("\USER\.ALLUSER") Then
reg.OpenKey "\USER\.ALLUSER"
MsgBox reg.GetValueNames
End If
RAM-Registry für Zwischenspeicherung
#
Set reg = Client.CreateRegistry("RAM:ImportCache", "", "")
reg.Write "Datensätze", 0
' ... später im Skript ...
count = reg.Read("Datensätze")
Direkt auf SQL-Server zugreifen
#
' Änderungen werden sofort in die Datenbank geschrieben
Set reg = Client.CreateRegistry("SERVER:", "\OBJECTS\ACTIONS", "")
If reg.KeyExists("MeinMenüpunkt") Then
reg.DeleteKey "MeinMenüpunkt"
End If
Siehe auch
#
- Registry-Objekt – Vollständige API-Dokumentation des zurückgegebenen Objekts (Methoden, Eigenschaften, cnreg-Format)