Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Helfer & Tools

Helfer & Tools Programme für und in XProfan und Fragen dazu.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7594, Antworten: 180
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26816, Antworten: 4212
Gehe zum ersten neuen Beitrag Hamachi deinstallieren
Aufrufe: 37, Antworten: 4
Gehe zum ersten neuen Beitrag PPF Blödstückchen Teil 3
Aufrufe: 22138, Antworten: 864
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 175, Antworten: 5
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 123, Antworten: 7
Gehe zum ersten neuen Beitrag Microsoft: Mehr Datenschutz...
Aufrufe: 24, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 44, Antworten: 5
Gehe zum ersten neuen Beitrag Hilfe bei Script Erstellung
Aufrufe: 71, Antworten: 7
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 55, Antworten: 3
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30.10.2011, 18:10   #16 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

schöne Sache, die Inc gefällt mir (endlich mal einer der sauberen Code schreibt )

2 Wünsche:
REG_MULTI_SZ
REG_EXPAND_SZ


Wobei der erstere der wichtigere ist.
__________________
Gruß Thomas

Wenn mir früher jemand gesagt hätte, ich würde
freiwillig eine Wanze mit mir herum tragen und sie
auch noch selbst aufladen, hätte ich laut gelacht.

Heute habe ich ein Smartphone.


http://realsource.de
ts-soft ist gerade online   Mit Zitat antworten
Alt 30.10.2011, 21:26   #17 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
Standard

Hier die nächste Variante. Zur Übersicht nochmal die Beschreibung komplett.

Ergebnis? = XReadINI(Key$, Abschnitt$, Eintrag$)
Bei Vorgabe des Keys mit _DW ist die Rückgabe ein Long, falls ein DWord gelesen wird. In jedem anderen Falle wird ein String zurück gegeben. Ist Eintrag$ ein Leerstring, dann wird der Standardeintrag gelesen.

Weitere Angaben für Key$
HKEY_BIN_x liest binäre Daten (REG_BINARY) und liefert einen String mit diesen Daten. Zur Auswertung ist ein Trick notwendig;
Code:
Var String Ergebnis = XReadINI(Key$, Abschnitt$, Eintrag$)
Var Long Pointer = Addr(Ergebnis)
Var Long ByteZahl = Long(Pointer, 0)
Ab Pointer,4 kann dann auf die Binärdaten zugegriffen werden. Mit dem String Ergebnis dürfen natürlich keine Stringfunktionen ausgeführt werden, dies würde die Daten mit großer Sicherheit zerstören.

HKEY_MULTI_x liest eine Folge von Strings vom Typ REG_MULTI_SZ, also mehrere nullterminierte Strings hintereinander, abgeschlossen durch ein weiteres NullByte. Als Ergebnis wird ein String geliefert, der das XProfanübliche Trennzeichen | zwischen den einzelnen Strings verwendet.

HKEY_EX_x liest einen vollständigen Dateinamen, wobei enthaltene Variablen aufgelöst werden.

Key$ kann auch ein Dateiname sein, dann wird aus einer INI-Datei gelesen.

XWriteINI Key$, Abschnitt$, Eintrag$, Wert?
Bei Vorgabe des Keys mit _DW ist der Wert ein Long, ansonsten ein String. Um einen Eintrag zu löschen muß ein Leestring als Wert angegeben sein.
Dementsprechend darf auch bei numerischen Werten _DW im Key nicht angegeben sein, Löschen ist nur mit Stringtyp (auch für DWord-Einträge) möglich!
Ist als Eintrag ein Leerstring angegeben, dann wird im bezeichneten Pfad der Standardeintrag mit dem Wert belegt. Wird ein Leerstring geschrieben, wird der Standardeintrag leer gesetzt ohne etwas zu löschen.

Weitere Angaben für Key$
HKEY_BIN_x speichert binäre Daten. Wert? ist hier ein Bereich, der als ersten Wert einen Long mit der Anzahl der nachfolgenden Bytes enthält.

HKEY_MULTI_x speichert eine Folge von Strings, die XProfan-üblich mit | als Trenner angegeben sind. In der Registry wird der Typ REG_MULTI_SZ verwendet, also mehrere nullterminierte Strings hintereinander, abgeschlossen durch ein weiteres NullByte.

HKEY_EX_x speichert einen vollständigen Dateinamen, wobei Pfade durch Variablen dargestellt werden.

Key$ kann auch ein Dateiname sein, dann wird in eine INI-Datei geschrieben. Hier funktioniert das Löschen anders:
Wird anstelle Wert$ der Long -1 angegeben, dann wird die Zeile aus der INI-Datei entfernt.
Wird sowohl für Wert$ als auch für Eintrag$ jeweils der Long -1 angegeben, dann wird der ganze durch Abschnitt bezeichnete Abschnitt aus der Datei entfernt.

Neu hinzugekommen ist die Funktion
XEnumINI(Key$, Abschnitt$, Liste%, Flag%)
Listet alle Subkeys und Wertebezeichner in einem Registrypfad
Flag = 1 Subkeys auflisten, SubKeys stehen immer in [eckigen] Klammern
Flag = 2 Wertebezeichner auflisten
Flag = 4 Datentyp als String zu Wertebezeichnern angeben, stehen immer hinten in (runden) Klammern
Liste ist eine Stringliste oder Listbox, in der die Ausgabe geschrieben wird
In INI-Dateien ist möglich
Flag = 1 Alle Sektionen der Datei (Sektionen stehen immer in [eckigen] Klammern)
Flag = 2 Alle Wertebezeichner in der angegebenen Sektion
werden die Flags kombiniert, dann werden alle Sektionen der Datei und die Wertebezeichner der angegebenen Sektion gelistet
Flag = 4 wird ignoriert
Wenn Flag = 0, dann wird 7 angenommen, alles alle Bits gesetzt

Ich hoffe, daß es nun alles wie gewünscht funktioniert.

Gruß Volkmar
Angehängte Dateien
Dateityp: zip Registry4.zip (2,6 KB, 8x aufgerufen)
Volkmar ist gerade online   Mit Zitat antworten
Alt 30.10.2011, 21:38   #18 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard



Sehr schön, so sollte es für die meisten Fälle komplett sein!
(aber hab noch nicht getested )
__________________
Gruß Thomas

Wenn mir früher jemand gesagt hätte, ich würde
freiwillig eine Wanze mit mir herum tragen und sie
auch noch selbst aufladen, hätte ich laut gelacht.

Heute habe ich ein Smartphone.


http://realsource.de
ts-soft ist gerade online   Mit Zitat antworten
Alt 31.10.2011, 19:52   #19 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
Standard

Nachdem ich das Ganze nun auch mal in einem realen Programm eingebaut habe, habe ich noch ein Problem gefunden. Der Typ REG_SZ läßt sich nach dem Lesen nicht so einfach weiter verarbeiten. Das abschließende Nullbyte war mit in der Stringlänge drin. Entweder den Rückgabestring trimmen oder besser die korrigierte Version hier verwenden.

Tut mir leid, daß ich das erst jetzt bringen kann, aber mein Provider hat wohl schon den ganzen Tag Halloween gefeiert. Die Verbindung ging nur immer mal für ein paar Minuten und dann war ich wieder raus. Aber die Party scheint nun vorbei zu sein .

Gruß Volkmar
Angehängte Dateien
Dateityp: zip Registry4.zip (2,7 KB, 9x aufgerufen)
Volkmar ist gerade online   Mit Zitat antworten
Alt 10.11.2011, 19:18   #20 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
Standard

Ich muß mich nochmal korrigieren. Rückgabe 0 war ein Schuß in den Ofen, das gibt natürlich bei Stringtypen als Ergebnis "0", wenn der Wert nicht vorhanden ist. Jetzt wird immer ein Leestring zurückgegeben, wenn der Wert nicht vorhanden ist, außer, es wird ausdrücklich ein numerischer Wert verlangt (HKEY_DW_x). Dann kommt weiterhin die Zahl 0, oder bei Zuweisung an einen String eben "0".
Die Rückgabe bei einfachen Strings habe ich auch nochmal etwas verändert, das wird jetzt getrimmt und nicht nur auf die durch die Registry gelieferte Länge gekürzt. Damit sollen dann Probleme vermieden werden, die entstehen, wenn jemand "irgendwas\z" geschrieben hat. Kommt jetzt als "irgendwas" zurück.

Gruß Volkmar
Angehängte Dateien
Dateityp: zip Registry4b.zip (2,7 KB, 8x aufgerufen)
Volkmar ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Helfer & Tools

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Vit Registry Fix 9.5.0.31 Paule 4. ) Registrycleaner 0 08.05.2010 00:00
Registry etc... HelpMEplease Windows XP 3 26.10.2006 16:48
Registry Mechanic, registry kaputt, backup draufgeben? poeli001 Windows XP 2 16.09.2005 14:56
Registry. Helmut Windows 95/98/ME/2000/NT 4 06.12.2003 16:21
registry. cyberfan Windows XP 12 22.11.2003 20:48



Alle Zeitangaben in WEZ +2. Es ist jetzt 20:02 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2