Rejestr jest po prostu bazą danych, której aplikacja może używać do przechowywania i pobierania konfiguracji informacje (ostatni rozmiar i pozycja okna, opcje i informacje użytkownika lub dowolna inna konfiguracja dane). Rejestr zawiera także informacje o systemie Windows (95/98 / NT) i konfiguracji systemu Windows.
„Baza danych” rejestru jest przechowywana jako plik binarny. Aby go znaleźć, uruchom regedit.exe (narzędzie do edytowania rejestru systemu Windows) w katalogu Windows. Zobaczysz, że informacje w rejestrze są zorganizowane w podobny sposób jak Eksplorator Windows. Możemy użyć regedit.exe, aby wyświetlić informacje rejestru, zmienić je lub dodać do nich pewne informacje. Oczywiste jest, że modyfikacje bazy danych rejestru mogą doprowadzić do awarii systemu (oczywiście jeśli nie wiesz, co robisz).
Prawdopodobnie bardzo dobrze wiadomo, że w czasach Windows 3.xx pliki INI były popularnym sposobem przechowywania informacji o aplikacji i innych ustawień konfigurowanych przez użytkownika. Najbardziej przerażającym aspektem plików INI jest to, że są to tylko pliki tekstowe, które użytkownik może łatwo edytować (zmieniać lub nawet usuwać). W 32-bitowym systemie Windows firma Microsoft zaleca stosowanie rejestru do przechowywania informacji, które normalnie umieszcza się w plikach INI (użytkownicy nie są w stanie zmienić wpisów rejestru).
Delfy zapewnia pełną obsługę zmiany wpisów w rejestrze systemu Windows: za pośrednictwem klasy TRegIniFile (ten sam podstawowy interfejs co TIniFile klasa dla użytkowników plików INI z Delphi 1.0) i klasa TRegistry (niskopoziomowe opakowanie dla rejestru Windows i funkcji działających w rejestrze).
Jak wspomniano wcześniej w tym artykule, podstawowe operacje rejestru (przy użyciu manipulacji kodem) odczytują informacje z rejestru i zapisują informacje w bazie danych.
Następny fragment kodu zmieni tapetę Windows i wyłączy wygaszacz ekranu za pomocą klasy TRegistry. Zanim będziemy mogli korzystać z TRegistry, musimy dodać jednostkę rejestru do klauzuli use na górze kodu źródłowego.
~~~~~~~~~~~~~~~~~~~~~~~~~
używa rejestru;
Procedura TForm1.FormCreate (Sender: TObject);
var
reg: TRegistry;
zaczynać
reg: = TRegistry. Stwórz;
z reg zacząć
próbować
jeśli OpenKey („\ Control Panel \ desktop”, False), to zacznij
// zmień tapetę i umieść ją w kafelkach
reg. WriteString („Tapeta”, „c: \ windows \ CIRCLES.bmp”);
reg. WriteString („TileWallpaper”, „1”);
// wyłącz wygaszacz ekranu // („0” = wyłącz, „1” = włącz)
reg. WriteString („ScreenSaveActive”, „0”);
// aktualizuj zmiany natychmiast
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, zero, SPIF_SENDWININICHANGE);
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, zero, SPIF_SENDWININICHANGE);
koniec
Wreszcie
reg. Darmowy;
koniec;
koniec;
koniec;
~~~~~~~~~~~~~~~~~~~~~~~~~
Te dwa wiersze kodu rozpoczynające się od SystemParametersInfo... zmuś Windows do natychmiastowej aktualizacji informacji o tapecie i wygaszaczu ekranu. Po uruchomieniu aplikacji zobaczysz tapetę Windows mapa bitowa zmień na obraz Circles.bmp - to znaczy, jeśli masz obraz circles.bmp w katalogu Windows. (Uwaga: wygaszacz ekranu jest teraz wyłączony).