[Delphi] Rejestr sprawdzanie istnienia Nazwy wartości.

0

Jak sprawdzić czy istnieje Nazwa wartości rejestru z brakiem Danych wartości ?

Np.:

Klucz: HKEY_LOCAL_MACHINE\Test1\Test2
Nazwa wartości rejestru: Test
Dane wartości rejestru: Brak

0

[code]TRegistry *Rejestr = new TRegistry;
Rejestr->RootKey = HKEY_LOCAL_MACHINE;
Rejestr->OpenKey("Test1\\Test2", false);
bool exist = (Rejestr->ValueExists("Test"));
Rejestr->CloseKey();
delete Rejestr;[/code]
Sorry, że w C++. Powinno być jasne

0

Dziękuję !!!

0

Pochwalony!
Nie wiem czy Ci o to chodzi (ale przynajmniej sobie posty nabiję :P ):

function CheckRegistryKey(KEy: String): Boolean;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.KeyExists(Key) then
Result := True else
Result := False;
end;

Aby korzystać z funkcji dodaj do sekcji uses moduł Registry. Napisz np.

if CheckRegistryKey('Software\Windows') then ShowMessage('działa');

Mam nadzieję że Ci o to chodziło :)

0

function CheckRegistryKey(KEy: String): Boolean;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.KeyExists(Key) then
Result := True else
Result := False;
end;

przepraszam że się wtrącam, ale mam takie przyzwyczajenia z języków skryptowych
żeby skracać kod i mimo że nie ma to chyba żadnego znaczenia to tu aż się
prosi żeby zapisać:

Result := Reg.KeyExists(Key);

0

(...) to tu aż się prosi żeby zapisać:
Result := Reg.KeyExists(Key);

Wiem, że to nie mnie się tyczyło, ale: "a co ja napisałem??".
czy linijka
[code]bool exist = Rejestr->ValueExists("Test");[/code]
to nie to samo? (w sumie nie, bo ja sprawdzam, czy istnieje wartość (tak jak tego chciał Marco_99), a Twoja linijka sprawdza istnienie całego klucza)

A tak w ogóle to Marco_99 już podziękował za odpowiedź, a KiteK musiał wtrącić swoje 3 grosze i napisać kod, który robi dokładnie to samo (tylko mniej optymalnie, jak zauważył piechnat).

Sorry za te wąty, ale mnie poniosło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1