[ Pobierz całość w formacie PDF ]
.To do programisty nale¿y decyzja, w jakisposób przechowywaæ dane w Rejestrze.Do tego momentu mowa by³a o tym, co mo¿na zrobiæ z Rejestrem, ale nie by³o mowyo tym, jak to zrobiæ – zajmiemy siê tym w nastêpnej kolejnoœci.Klasa TRegistryBiblioteka Windows API udostêpnia kilka funkcji s³u¿¹cych manipulacji naRejestrze.Zaliczyæ do nich mo¿na miêdzy innymi RegCreateKey, RegOpenKey,RegQueryValue, RegSetValue, RegDeleteKey.Operowanie na Rejestrze przywykorzystaniu API mo¿e byæ odrobinê nu¿¹ce.Jestem wdziêczmy (i Ty równie¿powinieneœ byæ) facetom z firmy Borland za to, ¿e pomyœleli o udostêpnieniuklasy TRegistry, która bierze na siebie wiêkszoœæ k³opotów zwi¹zanych zoperowaniem Rejestrem.Klasa ta udostêpnia wszystko, co jest niezbêdne dopisania i czytania z Rejestru.Zanim przejdziemy do omówienia sposobówkorzystania z niej, przyjrzyjmy siê pokrótce jej w³aœciwoœciom i metodom.W³aœciwoœci klasy TRegistryKlasa TRegistry posiada zaledwie cztery w³aœciwoœci.CurrentKey przechowujewartoœæ bie¿¹cego klucza, bêd¹c¹ liczb¹ ca³kowit¹ identyfikuj¹c¹ ten klucz.Kiedy wywo³ana zostanie metoda klasy TRegistry, jej dzia³anie dotyczyæ bêdziebie¿¹cego klucza.W³aœciwoœæ CurrentKey jest ustawiana w chwili, gdy otwieramyjeden z kluczy.Mo¿na j¹ odczytywaæ, chocia¿ ma to ograniczone zastosowanie.W³aœciwoœci RootKey i CurrentPath wspólnie tworz¹ ³añcuch tekstowy wskazuj¹cybie¿¹cy klucz.CurrentPath zawiera tekstowy opis œcie¿ki dostêpu do bie¿¹cegoklucza z wy³¹czeniem wartoœci RootKey (klucza g³Ã³wnego).Dla przyk³adu weŸmynastêpuj¹cy klucz:\HKEY_CURRENT_USER\Software\Borland\Delphi\4.0\Code InsightW tym przypadku klucz g³Ã³wny, \HKEY_CURRENT_USER, pochodzi z w³aœciwoœciRootKey, natomiast wartoœæ Software\Borland\Delphi\4.0\Code Insight pochodzi zw³aœciwoœci CurrentPath.Wartoœci¹ domyœln¹ w³aœciwoœci RootKey jest \HKEY_CURRENT_USER.Jest tomiejsce, w którym powinno siê zapisywaæ dane specyficzne dla aplikacji, dlategozazwyczaj nie ma potrzeby zmiany klucza g³Ã³wnego.Je¿eli jednak zachodzikoniecznoœæ zmiany klucza g³Ã³wnego, jego now¹ wartoœæ mo¿na przypisaæw³aœciwoœci RootKey.Zauwa¿, ¿e typami klucza g³Ã³wnego nie s¹ wartoœci³añcuchowe, ale specjalne wartoœci zdefiniowane przez Windows.Do innych kluczyg³Ã³wnych zaliczaj¹ siê HKEY_CLASSES_ROOT, HKEY_LOCAL_MACHINE, HKEY_USERS,HKEY_CURRENT_ CONFIG i HKEY_DYN_DATA.W³aœciwoœæ LazyWrite okreœla w jaki sposób aplikacja zapisuje dane dookreœlonego klucza.Je¿eli jej wartoœci¹ jest True, natychmiast po zamkniêciuklucza sterowanie powraca do aplikacji; innymi s³owy, rozpoczyna siêzapisywanie klucza, a nastêpnie aplikacja powraca do swojej pracy.Przywartoœci False sterowanie nie powróci do aplikacji tak d³ugo, jak d³ugo niezostanie zakoñczone zapisywanie klucza.Domyœln¹ wartoœci¹ w³aœciwoœciLazyWrite jest True i powinna ona pozostaæ bez zmian o ile nie operujesz najakichœ krytycznych danych, które musz¹ byæ zapisane zanim aplikacja bêdziemog³a wznowiæ swoj¹ pracê.Metody klasy TRegistryKlasa TRegistry posiada kilka metod, które mo¿na wykorzystaæ do zapisywania iodczytywania Rejestru; najwa¿niejsze z nich przedstawia tabela 14.1.Tabela 14.1.Podstawowe metody klasy TRegistryMetodaOpisCloseKeyZamyka klucz i zapisuje do niego dane.Powinieneœ zamykaæ klucz kiedy tylkoskoñczysz na nim operacje, nie musisz jednak wywo³ywaæ funkcji CloseKey wsposób jawny, poniewa¿ klucz zostanie zam­kniêty w sposób automatyczny przezdestruktor klasy TRegistry.CreateKeyTworzy klucz bez otwierania go.Je¿eli masz zamiar utworzyæ klucz i rozpocz¹æzapisywanie do niego danych, zamiast CreateKey u¿yj raczej OpenKey.DeleteKeyUsuwa wyspecyfikowany klucz.Usuniêty mo¿e zostaæ dowolny klucz.Przekazaniefunkcji pustego ³añcucha spowoduje usuniêcie klucza bie¿¹cego.GetKeyNamesZwraca obiekt klasy TStrings zawieraj¹cy wszystkie podklucze klucza bie¿¹cego.Metody tej mo¿na u¿yæ, je¿eli konieczne jest wykonanie jakiejœ operacji naka¿dym z podkluczy danego klucza.GetValueNamesZwraca nazwy wszystkich pól danych bie¿¹cego klucza [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • rurakamil.xlx.pl
  •