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

PROGRAMLAMA DİLLERİ Webmasterlar için faydalı bir bölüm. Konu Açmak Moderator Onaylı

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 01-22-2008, 10:38 PM   #1 (permalink)
Mareşal
 
AsSeMbLy - ait Kullanıcı Resmi (Avatar)
Standart VB.NET'de registry ile birasss uraşalımmmm.....

Windows işletim sisteminin açıkğa vurmus olduğu veritabanın birisi Regedit'dir.Windows tüm ayarlarını buradan okur..Diğer bir veri tabanı vardırki bunu hakkında bir sey bilmediğim için size bir yorum yapamayacağımmm...


VB.NET de regedit e kayıt yapmak için ister API fonksiyonlarını kullanırız.İstersek .NET in bize kendi vermis olduğu .dll dosyasını kullanırız...Ben bu örneğimde .NET de en kolay olan .dll dosyasını kullanarak örnek vermek isterim....

Bir çok yerde regedit e kayıt yapan örnek bulmusuzdur.Ama bende programlada daha yeni iken nasıl REG_DWORDREG_MULTI_SZREG_BINARYREG_EXPAND_SZ kayıt yapılır çok merak etmisimdir.herkes REG_SZ ve REG_DWORD kayıt örnekleri verirdi...

Simdi bunların açıklamasını yapalım

Regedit kayıt türü olarak Bytes[] ve String[] türlerine izin vermektdir.

REG_SZ =String türünde kayıt....
REG_DWORD=Sayısal türde kayıt...
REG_MULTI_SZ=Çokklu string yane Array() türünde kayıt türü..
REG_BINARY=Çoklu sayısak aynen Array() türünde kayıt...
REG_EXPAND_SZ=Genişletilebilir string kayıt türü...

Simdi REG_EXPAND_SZREG_BINARYREG_MULTI_SZ kayıt türlerindeki çoklu anlamın açmak gerekirse....VB de dizileri mutlaka biliyoruzdur..Dizileri bilmeyenlerin zate bu konusya ilişkin bir fikir yürütmeleri imkansız gibi görünüyor...Dizilerde boyutlar vadır.Bu iste çoklu anlamına gelende budur.Dizi boyutu kaydı anlamıdır..

REG_SZ = String boyutsuz anlamına gelen kayıt türü yane 2 milyar karakter kaydı anlamına gelir.Fakat ben sizin 2 milyar karater kaydedeceğiniz sanmıyom...

Buna örnek vermek gerekirse simdi en basta projemizin en üst kısmına REGISTRY kontrol edebilmek için gerekli tanımlamayı yapalım

/////////////////////////////////////////
Imports Microsoft.Win32 //
////////////////////////////////////////

Bun sonraki işlemimiz sürekli bir button içerisinde geçecektir....
__________________________________________________ ______________

REG_SZ kaydı ve okuması....

Kaydetmek....

Dim girilecek_deger As String = "BEJO"
Dim reg As Registryaaa

reg = Registry.LocalMachine.OpenSubaaa("SAM" True)

reg.SetValue("BEJO" girilecek_deger)



///Registry'de LocalMachice adlı anahtarın alt klasörü olan "SAM" anahtarının altına BEJO adlı ve değeri "BEJO" olan bir string kaydı girdik.....

Simdi bu kaydı okumaya gelelim...


Dim reg As Registryaaa

reg = Registry.LocalMachine.OpenSubaaa("SAM" True)

MsgBox(reg.GetValue("BEJO").ToString())


__________________________________________________ ______________

REG_DWORD kaydı ve okuması...

Kaydetmek...


Dim girilecek_deger As Integer = 120
Dim reg As Registryaaa

reg = Registry.LocalMachine.OpenSubaaa("SAM" True)

reg.SetValue("BEJO" girilecek_deger)



///Registry'de LocalMachice adlı anahtarın alt klasörü olan "SAM" anahtarının altına BEJO adlı ve değeri "BEJO" olan bir bytes =integer kaydı girdik.....

Okumak...


Dim girilecek_deger As Integer = 120
Dim reg As Registryaaa

reg = Registry.LocalMachine.OpenSubaaa("SAM" True)

MsgBox(CInt(reg.GetValue("BEJO").ToString()))


__________________________________________________ _______________

REG_MULTI_SZ kaydı ve okuması

Kaydetmek...


Dim yazılcakdeğer As String() = {"www.forummp3.tr" & vbCrLf & "www.divran.com"}

Dim reg As Registryaaa
reg = Registry.LocalMachine.OpenSubaaa("SAM" True)

reg.SetValue("BEJO" yazılcakdeğer)


Registry de kaydetmiş olduğumuz anahtara gittiğimizde farklı olan bir sey çıkacaktır karsımıza 2 satırlı bir kayıt oluşturduk.Bunun sebebi string() değerimiz tek boyutlu buda çoklu anlamına gelmektedir..Eğer diğer türde yapmaya çalışsaydınız vbCrLf yazdığımız yerde hata çıkacaktır...

Okumak...

Dim reg As Registryaaa
Dim regdeğer As String()
Dim karakter recent As String
reg = Registry.LocalMachine.OpenSubaaa("SAM" True)
regdeğer = reg.GetValue("BEJO")

For x As Integer = 0 To regdeğer.GetUpperBound(0)
karakter = regdeğer(x)
recent += karakter
Next
MsgBox(recent)


__________________________________________________ ______________

REG_BINARY kaydı ve okuması

Kaydetmek...

Dim reg As Registryaaa

Dim değer As String = "www.forummp3.net"
Dim yazılacakdeğer(değer.Length - 1) As Byte

For x As Integer = 0 To değer.Length - 1
yazılacakdeğer(x) = Asc(Mid(değer x + 1 1))
Next

reg = Registry.LocalMachine.OpenSubaaa("SAM" True)

reg.SetValue("BEJO" yazılacakdeğer)



Registry anahtarına baktığımız zaman kaydın değerini aslında bizim yazdığımz değere uygun olmadığını anlayacaksınız.Bizim yazdığımız değerin her bir karakteri ASC yane bilgisayar dilindeki karsılığına çevirilir ve daha sonra kaydederken Bilgisayar otomatik olarak HEX türüne çevirir ve kaydı gerçekleştirir.Bundan anlayacağımız ve çıkarağımız BYTES en büyük değerdir.Nedeni ise HEX de en büyük değer 255 dir ve BYTES en büyük değeri 255 dir....

Okuması...

Dim reg As Registryaaa

Dim regdeğer As Byte()
Dim karakter recent As String
reg = Registry.LocalMachine.OpenSubaaa("SAM" True)
regdeğer = reg.GetValue("BEJO")

For x As Integer = 0 To regdeğer.GetUpperBound(0)
karakter = Chr(regdeğer(x))
recent += karakter
Next

MsgBox(recent)


Burada da göreceğimiz şekilde kaydımızı okurken değer CHR yane bilgisayar dilindensayıdan string türüne çeviriliyor...

__________________________________________________ _______________
REG_EXPAND_SZ okuması

Okuması...


Dim reg As Registryaaa
reg = Registry.Users.OpenSubaaa(".DEFAULT\Environment\" True)

Dim değer As String = reg.GetValue("TEMP").ToString

MsgBox(Environment.ExpandEnvironmentVariables(değe r))


Okuma işlemini % işaretinden anlamaktadır.Fakat kaydetme işleminin nasıl yapıldığına dair bir komplike fikirlerim yok..Daha sonra sizlere aktaracağım... simdilik bu kadar...

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

Alt 02-01-2008, 02:53 PM   #2 (permalink)
Tuğgeneral
 
blacksea61 - ait Kullanıcı Resmi (Avatar)
Standart

iiii tmmmmmmmm
blacksea61 isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Alt 02-04-2008, 09:29 PM   #3 (permalink)
Yeni Üye
Standart

Alıntı:
AsSeMbLy´isimli üyeden Alıntı Mesajı göster
reg = Registry.LocalMachine.OpenSubaaa("SAM" True)
windows vista kullanıyorum bu satırda hata alıyorum çalışmıyor.
JaponX isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Alt 04-02-2008, 04:57 PM   #4 (permalink)
Yeni Üye
Standart

hata almanın sebebi

REG_DWORD kaydı ve okuması...

Kaydetmek...



Dim girilecek_deger As Integer = 120
Dim reg As Registryaaa
reg = Registry.LocalMachine.opensubaaa("SAM" True)

reg.SetValue("BEJO" girilecek_deger)



şeklinde değiştir. bu örnekteki değiştirilen kısımları dikkate alarak diğer örneklerdeki kısımları değiştir yoksa çalışmaz
siyahgece isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Alt 04-02-2008, 04:59 PM   #5 (permalink)
Yeni Üye
Standart

pardon kırmızı yazan yerler sırasıyla registryaaa ve opensubaaa olacaktır
siyahgece isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Alt 04-02-2008, 05:00 PM   #6 (permalink)
Yeni Üye
Standart

ne var bu forumda böyle ya anlamadım heceleyerek anlatıyorum r-e-g-i-s-t-r-y-k-e-y ve o-p-e-n-s-u-b-k-e-y olacaktır
siyahgece isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Alt 04-18-2008, 02:42 PM   #7 (permalink)
Mareşal
 
Manic_aRzeBa - ait Kullanıcı Resmi (Avatar)
Standart

ben bişe anlamadım bunlardan ama PaylaIm içİn sAAOLLL emeĞE sAyGI
Manic_aRzeBa 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