meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

registry-tipp [2011/09/06 10:00]
127.0.0.1 Externe Bearbeitung
registry-tipp [2020/01/03 10:47] (aktuell)
michael
Zeile 2: Zeile 2:
 ====== **Eindimensionales Feld in der Registry ablegen und wieder auslesen** ====== ====== **Eindimensionales Feld in der Registry ablegen und wieder auslesen** ======
  Will man ein eindimensionales Array in der Registry ablegen, ist dies sehr aufwendig. Es muss jedes Element einzeln abgespeichert und beim Auslesen wieder einzeln ausgelesen und zu einem Array zusammengesetzt werden.\\ ​ In einem VB-Skript ist es einfacher das Feld mit dem **join-Befehl** in einen String zu verwandeln und diesen in der Registry abzuspeichern. Wenn man den String wieder ausliest, lässt sich das Array mit dem **split-Befehl** auf einfache Weise wieder rekonstruieren.\\ \\  Es gibt allerdings das Problem, dass das Array nicht mit einem **Dim-** oder **Redim-Befehl** erstellt sein darf. Da muss ein wenig getrickst werden, indem man das Array anfangs auch mit dem **split-Befehl** aus einem String, der nur aus Trennzeichen besteht, erstellt. Die Anzahl der Trennzeichen muss dem gewünschten höchsten Indexwert des zu erstellenden Arrays entsprechen.\\ \\ **Beispiel 1:​**\\ ​  Will man ein eindimensionales Array in der Registry ablegen, ist dies sehr aufwendig. Es muss jedes Element einzeln abgespeichert und beim Auslesen wieder einzeln ausgelesen und zu einem Array zusammengesetzt werden.\\ ​ In einem VB-Skript ist es einfacher das Feld mit dem **join-Befehl** in einen String zu verwandeln und diesen in der Registry abzuspeichern. Wenn man den String wieder ausliest, lässt sich das Array mit dem **split-Befehl** auf einfache Weise wieder rekonstruieren.\\ \\  Es gibt allerdings das Problem, dass das Array nicht mit einem **Dim-** oder **Redim-Befehl** erstellt sein darf. Da muss ein wenig getrickst werden, indem man das Array anfangs auch mit dem **split-Befehl** aus einem String, der nur aus Trennzeichen besteht, erstellt. Die Anzahl der Trennzeichen muss dem gewünschten höchsten Indexwert des zu erstellenden Arrays entsprechen.\\ \\ **Beispiel 1:​**\\ ​
 +<code VBScript [enable_line_numbers="​true"​]>​
   const regschluessel = "​JoinTest"​   const regschluessel = "​JoinTest"​
   Dim zeichenfolge,​Feld   Dim zeichenfolge,​Feld
Zeile 22: Zeile 23:
   zeichenfolge = join(Feld,"​|"​)   zeichenfolge = join(Feld,"​|"​)
   FF_WriteProfile regschluessel,"​zeichenfolge",​zeichenfolge   FF_WriteProfile regschluessel,"​zeichenfolge",​zeichenfolge
-   +</​code> ​  
 Man kann aber auch mit einem zweiten Feld arbeiten, im nächsten Beispiel mit Feld1, in das die der Registry entnommenen Werte übertragen werden.\\ \\ **Beispiel 2:​**\\ ​ Man kann aber auch mit einem zweiten Feld arbeiten, im nächsten Beispiel mit Feld1, in das die der Registry entnommenen Werte übertragen werden.\\ \\ **Beispiel 2:​**\\ ​
 +<code VBScript [enable_line_numbers="​true"​]>​
   const regschluessel = "​JoinTest1"​   const regschluessel = "​JoinTest1"​
   Dim zeichenfolge,​n,​Feld,​Feld1(3)   Dim zeichenfolge,​n,​Feld,​Feld1(3)
Zeile 48: Zeile 50:
   zeichenfolge = join(Feld1,"​|"​)   zeichenfolge = join(Feld1,"​|"​)
   FF_WriteProfile regschluessel,"​zeichenfolge",​zeichenfolge   FF_WriteProfile regschluessel,"​zeichenfolge",​zeichenfolge
 +</​code>  ​
 Wenn man obige Beispiele testweise ausführt, sollte man nicht vergessen, die erzeugten Schlüssel in der Registry wieder zu löschen. Zu finden sind sie unter\\ **HKEY_CURRENT_USER\Software\Joachim Koopmann Software\FixFoto\Script\**\\ \\ **Hinweis:​**\\ ​ Angewendet wurde die Methode nach **Beispiel 1** im Skript "//​ScaleAll//"​ zum Sichern der Parameter für verschiedene Schärfungsmethoden in der Registry Wenn man obige Beispiele testweise ausführt, sollte man nicht vergessen, die erzeugten Schlüssel in der Registry wieder zu löschen. Zu finden sind sie unter\\ **HKEY_CURRENT_USER\Software\Joachim Koopmann Software\FixFoto\Script\**\\ \\ **Hinweis:​**\\ ​ Angewendet wurde die Methode nach **Beispiel 1** im Skript "//​ScaleAll//"​ zum Sichern der Parameter für verschiedene Schärfungsmethoden in der Registry