![]() |
Anzeige:
|
|
|||||||
| Helfer & Tools Programme für und in XProfan und Fragen dazu. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
|
Da die aktuelle XProfan-Version Probleme mit dem Registryzugriff hat, habe ich mal eine kleine PCU gebastelt, die WriteINI und ReadINI$ ersetzen kann.
Die Syntax ist (fast) die Gleiche wie im Original. Nur das Gleichheitszeichen muß bei XWriteINI ein Komma sein und bei XReadINI endet der Name nicht auf $, da hier auch ein Long als Rückgabe auftreten kann. Namensräume sind natürlich möglich. Der Typ ? soll darauf hinweisen, daß dieser Wert abhängig vom Key sowohl ein String als auch ein Long sein kann. 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. 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. 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. |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Bin noch nicht groß zum Testen gekommen, sorry. Benutzt du RegSetValueEx / RegQueryValueEx?
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#3 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
|
ja, läuft über diese beiden Funktionen.
Gruß Volkmar |
|
|
|
|
|
#4 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
|
Gegenwärtig teste ich gerade eine Variante, die auch den Typ REG_binary schreiben und lesen kann. Sieht schon ganz gut aus.
Gruß Volkmar |
|
|
|
|
|
#5 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
|
Hier nun die Version 2. Es ist nun auch möglich, binäre Daten zu schreiben und zu lesen. Der Key hat dann die Bezeichnung HKEY_BIN_x. Grundsätzlich muß der Datenbereich immer mit einem Long beginnen, der die Anzahl der nachfolgenden Bytes enthält. Damit ist sichergestellt, daß auch hier die Syntax erhalten bleibt, also keine zusätzlichen Parameter hinzukommen.
Dann wird dieser Bereich geschrieben: Code:
XWriteINI Key$, Abschnitt$, Eintrag$, Wert? Code:
Var String Ergebnis = XReadINI(Key$, Abschnitt$, Eintrag$) Var Long Pointer = Addr(Ergebnis) Var Long ByteZahl = Long(Pointer, 0) Alles Andere bleibt wie im ersten Beitrag. Gruß Volkmar |
|
|
|
|
|
|
#6 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.784
|
Schreib mal biite ein Demoprogramm dazu, mit dem man irgendwo in der Registry was auslesen und beliebiges schreiben kann.
Compiliere das dann auch zu einer EXE. Ich möchte auch mal was testen, habe aber mit Sicherheit nicht die passende XProfan Version.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#7 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
|
@AHT hier der Link zu einem Testprogramm, kann Strings und DWs schreiben und lesen
File-Upload.net - RegTester.zip Gruß Volkmar |
|
|
|
|
|
#8 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
|
Da hat sich gestern in der Version 2 noch ein Problem eingeschlichen. Wenn der Schlüssel oder Wert nicht vorhanden ist, dann bricht das Programm ab. Kommt nun nicht mehr vor. Im aufrufenden Programm kann der Errorlevel auf 2 gesetzt werden, dann bricht das Programm mit einer Fehlermeldung ab, ansonsten wird 0 oder ein Leerstring zurück gegeben.
Das Testprogramm in der neuen Form kann nun alle Registryzweige ansprechen und auch mit INI-Dateien umgehen. Beim BIN-Typ wird immer ein Dateidialog erscheinen, es kann eine Datei gewählt werden, die als binary in die Registry geschrieben wird. Beim Lesen wird dementsprechend der Wert in diese Datei geschrieben. Bei INI-Dateien erscheint ebenfalls ein Dialog, in dem die INI-Datei gewählt werden kann. File-Upload.net - RegTester.zip Gruß Volkmar |
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Nr.3 scheint mir soweit tadellos zu funktionieren, was ich getestet habe, lief alles korrekt.
Nur schade, dass du keine Include daraus gemacht hast - Units baue ich nur ungerne ein, obwohl ja eigentlich nichts dagegen spricht.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#10 (Direktlink) | |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
|
Zitat:
Gruß Volkmar |
|
|
|
|
|
|
|
#11 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Saubere Arbeit!
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#12 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
Super Sache,
da ich oft mit Registry arbeite (meistens lesen) kann ich das gut gebrauchen. Werds testen sobald ich wieder programmiere.
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#13 (Direktlink) | |
|
Weiß worum´s geht
![]() Registriert seit: 15.02.2011
Beiträge: 106
|
Zitat:
Es wäre doch sinnvoll, wenn Roland das behebt.
__________________
Anhören lohnt sich wuestensand.info |
|
|
|
|
|
|
#14 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Er ist ja dabei, Jörg. Scheint aber noch nicht 100%ig zu klappen. Hier war ein Thread dazu: WriteINI-Problem
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#15 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 15.02.2011
Beiträge: 106
|
Ah - das hatte ich nicht mehr auf dem Schirm.
__________________
Anhören lohnt sich wuestensand.info |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ä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 |