CAYBURG.NET
Programlama Dilleri Delphi, Visual Basic, C, C++,C#, ASP, Perl, Php, Html vb. diller hakkında bilgi ve birikimlerinizi paylaşabilir ve yardım alabilirsiniz.
Cevapla
register erişimi Bu konu 182 defa okundu ve 7 yorum yazildi.
 
Seçenekler
Alt 22.09.2007, 16:43 #1
burak25
Guest

register erişimi


Registry bilindiği gibi windowsun sistem bilgilerini tuttuğu kendine has bir veritabanıdır. bu veritabanında windows bir çok çeşit bilgi tutabilir.bunlar...

* işletim sistemi sistem bilgileri
* sistemin donanım bilgileri
* işletim sisteminde tanımlı bütün kullanıcıların bilgileri
* işletim sistemine kululan yazılım bilgileri gibi daha bir sürü şey.....


Delphi'de registry ayarlarına erişimek, okumak ve üzerinde değişiklik yapmak için eklenmesi gereken paket Registry paketidir. bunu projenin uses kısmına eklemek gerekir.

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Registry;

Bu paket eklendikten sonra projede artık register erişim için gereken kodlar kullanılabilir.

* Registry'e bilgilerine erişim için kullanılan windows editörüne erişmek için başlat/run ekranı açıldıktan sonra açılan ekranda 'regedit' yazıp enter'a basınız

* registry veritabanı aslında birbirinden bağımsız ayrı hiyerarşik veritabanlarından oluşur.bunlardan 2'si HKEY_LOCAL_MACHINE ve HKEY_USERS olanlardır. Diğerleri (HKEY_CLASES_ROOT,HKEY_CURRENT_USER,HKEY_CURRENT_C ONFIG) aslında vu iki veritabanının işaretçilerini işaret eder. konuyu daha iyi anlamak için bunları windowstaki sürücüler olarak görebiliriz. bir kayda erişmek için sürücü seçiminden sonra tabiki yol bilgisini belirtmek gerekir.(örn: 'SOFTWARE\borland\delphi\7.0' gibi). Path belirtildikten sonra karşımıza anahtarlar çıkar. (örn: az önceki Path'te belirtilen yerde bulunan App anahtarı gibi) anahtarların bir ismi ve birde aldığı değer vardır. App anahtarının aldığı değer 'D:\Program Files\Borland\Delphi7\Bin\delphi32.exe' gibi. bir anahtarın değerini değiştirmek için anahtar üzerinde çift tıklamak gerekerir. çıkan ekranda değişiklik yapılabilinir.


DELPHİ'DEN ERİŞİM

* öncelikli olarak okuma ve yazma işlemlerin yapılacağı bir Register değişkeni tanıtmak gerekir.bu değişken TRegistry sınıfından olmalı. değişkenimizin adı RegDosya olsun
RegDosya: TRegistry;

* Bu değişkeni kullanabilmek için proje içinde kullanılacağı yerde yaratmak gerekir.Bu işlem için
RegDosya := TRegistry.Create; kodu kullanılmalı

* öncelikli olarak register'da okuma işlemi yapalım. bunun için seçilecek kovan veya sürücü veya veritabanı veya RootKey(her ne derseniz) için RegDosya değişkeninin RootKey özelliğine değer atayacağız.
RegDosya.RootKey := HKEY_LOCAL_MACHINE;

* RegDosya değişkeninin 'OpenKey' fonksiyonu register yolunu belirtmek için kullanılır.
RegDosya.OpenKey('SOFTWARE\borland\delphi/7.0', True)
anlaşılacağı gibi bu fonksiyonun ilk parametresi yolu belirtir. ikincisi ise belirtilen yolu bulmaması durumunda oluşturup oluşturmayacağına karar vermemizi sağlar. eğer True değeri verir isek bulmadığı takdirde bu yolu oluşturacaktır.

* Belirtilen yolda istediğiniz anahtarın olup olmadığını kontrol etmek için RegDosya değişkeninin ValueExists fonksiyonu kullanılır.
if RegDosya.ValueExists('App') then
begin
ShowMessage(RegDosya.ReadString('App'));
end;


* Register anahtarlarının bir kaç çeşidi vardır. String anahtarların değerini öğrenmek için Regdosya değişkeninin ReadString fonksiyonu kullanılır. float anahtarların değerini öğrenmek için ReadFloat veya Boolean bir değer için ReadBool funksiyonu kullanılır.

ShowMessage(RegDosya.ReadString('App'));

kodunu yazdığınız an 'App' anahtarının değerini bize showmessage ile görüntüler. App değişkenin değeri Delphi 7.0 exe'sinin bilgisayarda bulunduğu yeri gösteriyor.

* String Anahtarlara bir değer yazmak için WriteString , integer anahtara bir değer yazmak için Writeinteger fonksiyonları kullanılır.Diğer değişken türleride aynı mantıkla eşleşir.

if RegDosya.OpenKey('SOFTWARE\borland\delphi/7.0', False) then
begin
RegDosya.WriteString('App','D:\Delphi32.exe');
end;

Eğer Belirtilen yolda 'App' diye bir değişken bulunmaz ise komut 'App' diye yeni bir anahtar oluşturur ve değerine 'D:\Delphi32.exe' varsa sadece değerini değişirir.

NOT : örnek uygulama yaparken Register'ı bir anahtarı üzerinde değişiklik yapmayın. bu sisteminiz göçmesine neden olabilir. onun yerine kendinizin oluşturduğu anahtar ve yollar üzerinde oynayın.

şimdi registerdan string bir değer okuma için fonksiyon ve registera yazma için procedure yazalım. çünkü yazma işleminde geri bir değer döndürmesini istemediğimiz için fonksiyona gerek yok

//-----önce kayıt okuma için fonkiyon

function OKUSTRING(str_HKEY: HKEY; str_Yol: String; str_Anahtar: String; strDefault:
String): String;
var
RegDosya: TRegistry;
begin
RegDosya := TRegistry.Create;
RegDosya.RootKey := str_HKEY;

Result := strDefault;

if RegDosya.OpenKey(str_Yol, True) then
begin
if RegDosya.ValueExists(str_Anahtar) then
begin
result := RegDosya.ReadString(str_Anahtar);
end;

RegDosya.CloseKey;
end;

RegDosya.Free;
end;


//-----şimdi ise kayıt yazma için procedure yazalım


procedure YAZSTRING(str_HKEY: HKEY; str_Yol: String; str_Anahtar: String;
str_Yazilacak: String);
var
RegDosya: TRegistry;
begin
RegDosya := TRegistry.Create;
RegDosya.RootKey := str_HKEY;

if RegDosya.OpenKey(str_Yol, True) then
begin
RegDosya.WriteString(str_Anahtar, str_Yazilacak);
RegDosya.CloseKey;
end;

RegDosya.Free;
end;



//-----Bu fonksiyon ve procedure'ü aşağıdaki gibi kullanabiliriz


Str_Deger := OKUSTRING(HKEY_LOCAL_MACINE , 'HARDWARE\DESCRIPTION\SYSTEM' , 'SystemBiosDate' , '');

YAZSTRING(HKEY_LOCAL_MACINE ,'SOFTWARE\MEHMET ALI', 'TAKIM' ,'FENERBAHÇE');

Alt 28.09.2007, 09:20 #2
Anaokulu

Standart Cevap: register erişimi


Bu alıntı değil dimi senin kendi yazın
Alt 29.09.2007, 17:44 #3
Anaokulu

Standart Cevap: register erişimi


delphi de harika olmuş
Alt 23.10.2007, 01:20 #4
Anaokulu

Standart Cevap: register erişimi


saollll hoojam
Alt 18.04.2008, 22:55 #5
Lise 1. Sinif
Teşekkürler. Emeğine Sağlık. Güzel Bir çalışma
Alt 18.04.2008, 23:06 #6
Ilkokul 1. Sinif
saolasın kardeş
Alt 26.04.2008, 21:35 #7
Banned
saol.......
Alt 24.10.2008, 16:07 #8
Ilkokul 5. Sinif
Tesekkürker
Cevapla

Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB Kodlari Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Benzer Konular
Konu Konuyu Başlatan Forum Cvp Son Mesaj
Erişimi engellenen sitelere rahatça giriş yapabilirsiz.., Nasıl mı ? GeniS Döküman rawen_dersim Program Kullanımı ve Yardım 22 20.11.2008 23:52
'Porno sitelere erişimi engelleyin' Odak Haber Arsivleri 1 21.05.2008 14:49
Çin, Youtube'a erişimi engelledi CP Robot Cayburg Forum Arsivi 0 20.03.2008 01:00
İran Google a Erişimi Engelledi CP Robot Silinen Konular ve Mesajlar 0 17.09.2007 13:40

WEZ Format +2. Şuan Saat: 05:55.
Cayburg - Arşiv - Top - Iyiler - Web Stats
Rapidshare Uploaded.to Uptal.com Upshare.NET Filefactory.com Videolari, Video izle Fun, Fan Anket WinRAR | File Hosting Free Kurd Radyo Dinle Bedava Albüm Indir Yeni Albüm Albüm Paylasim .Net .Org
Powered by vBulletin® Version 3.8.1 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197