Registry'de değer arama ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
dicle_gsm
Üye
Mesajlar: 19
Kayıt: 26 Oca 2016 06:52
Konum: Mardin
İletişim:

Registry'de değer arama ?

Mesaj gönderen dicle_gsm »

Merhaba,

Ben Registry de değer aramak istiyorum herhangi bir root dizininde,
yani; Regedit/düzen/bul'daki arama gibi.

Saygılar,

Dicle_Gsm
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Registry'de değer arama ?

Mesaj gönderen ertank »

Merhaba,

Ekteki Delphi 7 ile hazırlanmış örneği kullanabilirsiniz.
Kaynak:http://www.delphipages.com/forum/showth ... p?t=159429
Dosya ekleri
RegSearch.rar
(194.68 KiB) 51 kere indirildi
dicle_gsm
Üye
Mesajlar: 19
Kayıt: 26 Oca 2016 06:52
Konum: Mardin
İletişim:

Re: Registry'de değer arama ?

Mesaj gönderen dicle_gsm »

ertank yazdı:Merhaba,

Ekteki Delphi 7 ile hazırlanmış örneği kullanabilirsiniz.
Kaynak:http://www.delphipages.com/forum/showth ... p?t=159429
Teşekür ederim, fakat bir kökteki bi kaç değeri 1 dakikadan daha fazla sürede arıyıp buluyor, bunu hızlandırma yolu yokmu ?
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Registry'de değer arama ?

Mesaj gönderen ertank »

RegEdit ile aynı değeri aradığınızda ne kadar sürüyor?
dicle_gsm
Üye
Mesajlar: 19
Kayıt: 26 Oca 2016 06:52
Konum: Mardin
İletişim:

Re: Registry'de değer arama ?

Mesaj gönderen dicle_gsm »

ertank yazdı:RegEdit ile aynı değeri aradığınızda ne kadar sürüyor?
Max 5 saniye :)
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Registry'de değer arama ?

Mesaj gönderen ertank »

Dikkat etti iseniz aramanın nerelerde yapılacağını belirleyebiliyorsunuz. Eğer sadece KEY değerleri içinde arama yapak istiyorsanız

Kod: Tümünü seç

FRegSearch.RegCompareKinds := [rcKeys, rcValues, rcData];
şeklindeki değerleri düzenlemeniz, sadece rcKeys kısmını bırakmanız gerekir.

Bunun dışında AnsiUppercase() veya AnsiLowerCase() fonksiyonlarını iptal edip birebir aradığınız ifadeyi yazarsanız bir miktar hız kazanabilirsiniz diye düşünüyorum.
dicle_gsm
Üye
Mesajlar: 19
Kayıt: 26 Oca 2016 06:52
Konum: Mardin
İletişim:

Re: Registry'de değer arama ?

Mesaj gönderen dicle_gsm »

Hızı birazda olsa hızlandı, Teşekürler ama Registry de hepsini o saniye bazında buluyor, Revo Uninstaller aracında farkettim daha hızlı aratıp buluyor :)
ilginiz için teşekürler.
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Registry'de değer arama ?

Mesaj gönderen ertank »

Kod hız için optimize edilmiş bir kod değil. String karşılaştırmaları her bir değer için yapıyor. Bu tür karşılaştırmalar "if A = B" gibi yavaş olan işlemlerdir. Bunun yerine pointer kullanarak string kıyaslamaları yapılması, Pos() fonksiyonunun yerine daha hızlı çalışan fonksiyonlar (Belki PosEx()) kullanılması gerekli.

Bu tür değişklikler için kod elinizde mevcut. Üzerinde oynamalar yapabilirsiniz.
Cevapla