![]() |
kann registry eintrag nicht anzeigen
Delphi-Quellcode:
var
Upd:string;
Delphi-Quellcode:
If upd= '1' then Checkbox1.Checked :=true;
Checkbox1.Caption:=upd;//nur zum test
Delphi-Quellcode:
programm soll praktisch anzeigen ob die CPU upgrade fähig ist
function GetCPUUpdate;
var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', False) then upd:=String(Reg.ReadString('Update Status')); finally Reg.Free; end; end; zeigt aber nix an sollte daran liegen das der eintrag ein Dword ist aber wie kann ich das anzeigen |
Re: kann registry eintrag nicht anzeigen
Wenn du ein DWORD auslesen willst, wieso benutzt du dann Reg.ReadString?
Probier mal ReadInteger ;) |
Re: kann registry eintrag nicht anzeigen
ja klappt jetzt aber er liest den wert falsch
laut registry steht bei mit ne 1 für upgradefähig programm liest aber 0
Delphi-Quellcode:
Upd:integer;
Delphi-Quellcode:
function GetCPUUpdate;
var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', False) then upd:=(Reg.ReadInteger('Update Status')); finally Reg.Free; end; end;
Delphi-Quellcode:
If upd= 1 then Checkbox1.Checked :=true;
Checkbox1.Caption:=inttostr(upd); |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
|
Re: kann registry eintrag nicht anzeigen
Push
Komm da wirklich net weiter
Delphi-Quellcode:
function GetCPUUpdate:string;
var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', False) then upd:=(Reg.ReadInteger('Update Status')); finally Reg.Free; end; end;
Delphi-Quellcode:
upd:Integer;
Delphi-Quellcode:
hat jemand vieleicht ne idee
If upd= 1 then Checkbox1.Checked :=true;
Checkbox1.Caption:=inttostr(upd);//zum test |
Re: kann registry eintrag nicht anzeigen
Moin Gehstock,
mir ist nicht ganz klar, was da nicht klappt. Wenn ich Deinen Code per Copy&Paste übernehme, erhalte ich den korrekten Wert. Es könnte eigentlich nur noch sein, dass Dein globale Variable upd irgendwo überschrieben wird. BTW: Warum schreibst Du eigentlich eine Funktion mit String als Rückgabewert, wenn Du dann einen Integer brauchst? |
Re: kann registry eintrag nicht anzeigen
Moin,
wozu schreibst du eine Funktion, wenn du Result gar keinen Wert zuweisen tust? Versuche mal folgenden Code:
Delphi-Quellcode:
Bei mir ist Result übrigens gleich 2.
function GetCPUUpdate: integer;
var Reg: TRegistry; begin Result:= 0; Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', False) then result:= Reg.ReadInteger('Update Status'); finally Reg.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin If GetCPUUpdate= 1 then Checkbox1.Checked :=true else Checkbox1.Checked :=false end; |
Re: kann registry eintrag nicht anzeigen
Hallo,
arbeitest du an deinem Rechner mit eingeschränkten Rechten? In diesem Fall solltest du es einmal mit
Delphi-Quellcode:
versuchen.
Reg.OpenKeyReadOnly()
Gruß Hawkeye |
Re: kann registry eintrag nicht anzeigen
Liste der Anhänge anzeigen (Anzahl: 1)
Laut Registry 00000001 also 1
Ausgabe und Source siehe Bild bleibt alles beim alten Edit: also richtig checken tut er jetzt bei mir aber die Caption (o statt 1 ) klappt net |
Re: kann registry eintrag nicht anzeigen
Delphi-Quellcode:
EDIT: oder so:
CheckBox1.Caption:= inttostr(GetCPUUpdate);
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin upd:= GetCPUUpdate; If upd= 1 then Checkbox1.Checked :=true else Checkbox1.Checked :=false CheckBox1.Caption:= inttostr(upd); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz