USLANMAM

UslanmaM En Kaliteli Bilgi Adresiniz
USLANMAM öğesini iGoogle sayfanıza ekleyin.
Geri git   USLANMAM > PROGRAM > PROGRAMLAMA DİLLERİ > Programlama > Delphi
UslanmaM Resim AlbümleriSosyal Gruplar
Kayıt ol Sosyal Gruplar Ajanda Konuları Okundu Kabul Et


Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11-26-2007, 09:58 AM   #1 (permalink)
*BUNALIMLARIN ADMİNİ*
 
BoDyGuArD - ait Kullanıcı Resmi (Avatar)
Post Delphi ile Ayrıntılı Olarak Registry İşlemleri

Delphi ile Ayrıntılı Olarak Registry İşlemleri
Registry Windows'un tüm ayarlarını sakladığı veri deposudur. Registry'nin önemi hafife alınmamalıdır. Registry sistem donanım konfigürasyonu Denetim Masası (Control Panel) ayarları gibi önemli bilgiler içerir. Sizde programlarınızla ilgili ayarları ve bazı verilerinizi Registry'de saklayabilirsiniz. Registry hakkında herhangi bir bilginiz yoksa bilgisayar dergilerine bakmanızı tavsiye ederim. Ayrıca Internet üzerinden PcWorld Dergisinin Windows 95 köşesine bakarsanız burda Registry ile ilgili bilgi bulabilirsiniz.

Delphi ile Registry'e bilgi yazmak ve Registry'den bilgi okumak son derece kolaydır. Delphi'de Registry kullanımına iki yaklaşım bulunur: TRegistry ve TRegIniFile. TRegIniFile sınıfı TRegistry sınıfının bir alt sınıfıdır ve TIniFile sınıfının yöntem ve özelliklerini kullanır ancak ini dosyalar yerine Registry'ye kaydeder. TRegistry sınıfını kullanmak için genellikle ilk olarak bir anahtarı açmanız ve daha sonra değer ve alt anahtarlarıyla birlikte verilere ulaşmanız gerekir.

Registry ile ilgili komutları kullanmak için uses kısmına "Registry" ifadesini eklemelisiniz.

- İlk önce

var
Reg1:TRegistry;
ile TRegistry türünden bir değişken tanımlayın. Reg1 yerine Delphi'deki isimlendirme kuralları dahilinde istediğiniz ismi verebilirsiniz.

- Daha sonra

Reg1:=TRegistry.Create;
ile uygulama için bir Registry objesi oluşturun.

-Registry'de 6 tane ana anahtar bulunur. Registry objesini oluşturduğunuz zaman (bir önceki adım) Rootaaa (ana anahtar) olarak Haaa_CURRENT_USER atanır. Eğer başka bir ana anahtar'da işlem yapmak istiyorsanız "Rootaaa" özelliğini kullanmalısınız. Mesela biz işlemlerimizi Haaa_LOCAL_MACHINE'de yapmak istiyoruz;

Reg1.Rootaaa:=Haaa_LOCAL_MACHINE;
-Rootaaa olarak Haaa_LOCAL_MACHINE atadık. Daha sonra işlem yapmak istediğimiz anahtarı "Openaaa" ile açmalıyız. Openaaa fonksiyonu iki parametre alır. Birincisi açmak istediğimiz anahtar diğeri ise açmak istediğimiz anahtar yoksa bu anahtarın oluşturulup oluşturulmayacağı. Bu özelliği True atarsanız açmak istediğiniz anahtar yok ise bu anahtar oluşturulur.

Reg1.Openaaa('Software\MustafaSoft\RegDeneme'True );
-İşlem yapacağımız anahtarı açtık. (Haaa_LOCAL_MACHINE\Software\MustafaSoft\RegDeneme ). Bu anahtarları rastgele belirlememeniz gerekir. Anahtarlarınızı nereye ekleyeceğinize dair bilgileri Windows 95 veya NT ile ilgili Microsoft dokümanlarından elde edebilirsiniz. Anahtarı açtıktan sonra çeşitli işlemler yapabilirsiniz:

- Createaaa('anahtar_ismi') ile yeni bir anahtar oluşturabilirsiniz.
- Deleteaaa('anahtar_ismi') ile mevcut bir anahtarı silebilirsiniz.
- DeleteValue('değer_ismi') ile bir değeri silebilirsiniz.
- GetaaaNames ile geçerli anahtarın alt anahtarlarının listesini elde edebilirsiniz.

Reg1.GetaaaNames(memo1.lines);
- GetValueNames ile geçerli anahtardaki değerlerin isimlerinin listesini elde edebilirsiniz.

Reg1.GetValueNames(memo1.lines);
- HasSubaaas ile geçerli anahtarın alt anahtarlara sahip olup olamdığını öğrenebilirsiniz. Geçerli anahtar en az bir alt anahtara sahip ise bu fonksiyon True hiç alt anahtarı yoksa False değerini döndürür.
- aaaExists('anahtar_ismi') ile belirttiğiniz anahtarın olup olmadığını öğrenebilirsiniz.
- ValueExists('değer_ismi') ile belirttiğiniz değerin olup olmadığını öğrenebilirsiniz.
- RenameValue(eski isim yeni isim) ile bir değerin ismini değiştirebilirsiniz.
- WriteString('değer_ismi' 'değer') ile bir string ifadeyi yazabilirsiniz. değer String tipinde olmalıdır.

Reg1.WriteString('wstring''Mustafa ŞİMŞEK');
- WriteInteger('değer_ismi' 'değer') ile bir integer sayıyı yazabilirsiniz. değer Integer tipinde olmalıdır.

Reg1.WriteInteger('wint'1234);
- WriteFloat('değer_ismi' 'değer') ile bir float sayıyı yazabilirsiniz. değer Double tipinde olmalıdır.

Reg1.WriteFloat('wfloat'123.45);
- WriteDate('değer_ismi' 'değer') ile bir tarihi yazabilirsiniz. değer TDateTime tipinde olmalıdır.

Reg1.WriteDate('bugun'date);
- WriteTime('değer_ismi' 'değer') ile bir saati yazabilirsiniz. değer TDateTime tipinde olmalıdır.

Reg1.WriteTime('wtime'time);
- WriteDateTime('değer_ismi' 'değer') ile tarih ve saatten oluşan ifadeyi yazabilirsiniz. değer TDateTime tipinde olmalıdır.

Reg1.WriteDateTime('wdt'now);
- WriteBool('değer_ismi' 'değer') ile sadece Doğru veya Yanlış değerlerini alabilen bir ifadeyi yazabilirsiniz. değer sadece True veya False değerini alabilir.
- WriteCurrency('değer_ismi' 'değer') ile bir para değerini yazabilirsiniz. değer Currency tipinde olmalıdır.

Reg1.WriteCurrency('wcurr'1000000.325);

Yazma işlemlerinden sonra registry'deki görünüm. Registry'e üç tip veri kaydedilir. Dize değeri (string) ikili değer (binary) ve dword değeri. Dword değerleri heksadesimal (onaltılık) veya desimal (ondalık) formdadır. Şekilde wstring - dize değeri wint - dword değeri geriye kalanlar ise ikili değer(binary)lerdir.




- ReadString('değer_ismi') ile bir string ifadeyi okuyabilirsiniz.

Reg1.ReadString('wstring')
- ReadInteger('değer_ismi') ile bir integer ifadeyi okuyabilirsiniz.
- ReadFloat('değer_ismi') ile bir float sayıyı ifadeyi okuyabilirsiniz.
- ReadDate('değer_ismi') ile bir tarihi okuyabilirsiniz.
- ReadTime('değer_ismi') ile bir saati okuyabilirsiniz.
- ReadDateTime('değer_ismi') ile bir tarih ve saatten oluşan ifadeyi okuyabilirsiniz.
- ReadBool('değer_ismi') ile bir sadece Doğru veya Yanlış değerlerini alabilen bir ifadeyi okuyabilirsiniz.
- İşlemlerimiz bittikten sonra anahtarı kapatmamız ve ayırdığımız kaynakları serbest bırakmamız lazım.

Reg1.Closeaaa;
Reg1.Free;

BoDyGuArD isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
Eklenti Ekleyemezsiniz
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz klasörü seçiniz

Benzer Konular
Konu Konuyu Başlatan UslanmaM Cevaplar Son Mesaj
Delphi Örnekleri CENGiZ1 Delphi 2 03-10-2008 01:27 AM
Kürt Olarak Akşamladim, Arab Olarak Sabahladim SuyunGizemi Dini Hikayeler 0 02-20-2007 12:49 AM
Registry Tweaker 2.0.1.241 Beta Registry temizleyerek pcnizi rahatlatın.. ABYSS Orjinal Sitelerinden Programlar 0 12-24-2006 06:08 PM


Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 06:01 AM .
Üyelerimiz görüşlerini önceden onay olmadan anında yazabilmektedir, bu yazılardan dolayı doğabilecek sorumluluklar yazan kullanıcılara aittir, UslanmaM yoneticileri itina ile icerik kontrolleri yapmaktadir, yine de UslanmaM' da yasalara aykırı unsurlar bulursanız İLETİŞİME veya 0555 582 46 56 numaralı telefona bildirebilirsiniz, gereği yapılacaktır.
English Explanation: Our users can give their opinions without getting any approval in our site, all the responsibilities which can rise from these articles belong to these users, the managers of UslanmaM control the contents very carrefully, but if you find any item opposite to the rules CONTACT or dial +90555 582 46 56