Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - REG_DWORD (Win Registry) in normalen String umwandeln?
Experience1986 - Mi 28.01.04 18:43
Titel: REG_DWORD (Win Registry) in normalen String umwandeln?
Hi,
Ich habe eine Funktio, die mir aus einem Pfad in der Registry einen String / Integer auslliest. Nun muss ich aus der Windows Registry einen "REG_DWORD"-Wert auslesen, dieser scheint ein Binärer/Hexadezimaler Wert zu sein, ich brauche ihn aber als Integer, verständlich *g*
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| function MyRegIntR(vRegbaum:Cardinal;vPfad,vName:string):integer; var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := vRegBaum; if Reg.OpenKey(vPfad, True) then begin Result:=Reg.ReadInteger(vName); Reg.CloseKey; end; finally Reg.Free; end; end; |
Diese Funktion liest Integer aus, besitze aber noch fast die gleich die mir eben Strings ausliest.
Wie kann ich nun diesen Datentyp umwandeln?
In meinem Fall:
MyRegIntR(HKEY_CURRENT_USER,'Software\Microsoft\Command Processor','DefaultColor')
bekomme ich den Wert/Integer 112 zurück, aber der Wert ist eiggentlich 70, Standardmäßig sollte dieser Wert in der Win-Registry auf 0 oder so stehen.
Ich hoffe ich hab mein Problem deutlich geschilder und ihr könnt mir helfen.
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt
Delete - Mi 28.01.04 19:19
Also REG_DWORD ist einganz normaler Integer.
Experience1986 - Mi 28.01.04 19:26
dachte ich mri auch, aber windows scheitn diese zahl nach irgendeinem system umzuformen.
Nur nach welchem?
Delete - Mi 28.01.04 19:56
Glaube ich nicht. Ich hatte bisher keine Probleme Integers aus der Registry zu lesen.
Experience1986 - Mi 28.01.04 20:43
Aber in dem Falll muss man die "70" angeben, diese 70 steht für eine Farbe des Vorder und Hintergrunds in der Eingabe aufforderung.
Befehel: color 70
Nun kann ich nicht das System von Windows eraten, da muss es doch etwa sgeben.
Christian S. - Mi 28.01.04 20:51
Hallo!
70 (hex) = 112 (dez)
Du kannst also munter das ausrechnen, was Du brauchst.
MfG
Peter
Experience1986 - Mi 28.01.04 21:03
Hab endlich ne Lösung:
Delphi-Quelltext
1: 2: 3:
| TXT_CMD_DEFAULCOLOR.Text:=IntToHex(MyRegIntR(HKEY_CURRENT_USER,'Software\Microsoft\Command Processor','DefaultColor'),1); |
Weis zwar nit wie es geht, aber es geht *G*
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt
Christian S. - Mi 28.01.04 21:08
Hallo!
Schön, dass Du jetzt eine Lösung hast. Darauf wäre auch mein Tipp hinausgelaufen.
Bitte benutze demnächst die Delphi-Tags. Durch die Delphi-Tags wird der Code mit Syntax-Highlighting angezeigt und ist somit sehr viel übersichtlicher.
Viele Dank!
Peter
Experience1986 - Mi 28.01.04 23:17
ok, hab ich vergessen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!