vb.net üzerinde registry işlemleri

VB.net üzerinde registry işlemleri
‘ Kullanılabilecek Registry ana dizinleri

CurrentUser Kullanıcı tercihleri ile ilgili bilgi içerir.
LocalMachine Yerel makine konfigürasyonu hakkında bilgi içerir.
ClassesRoot Tipler ve özellikleri hakkında bilgi içerir.
Users Varsayılan kullanıcı hakkında bilgi içerir.
PerformanceData Yazılım performanları ile ilgili bilgi içerir.
CurrentConfig Kullanıcı bağımsız donanım konfigurasyon bilgisi içerir.
DynData Dinamik data bilgisi içerir.

VB.NET    Registry

ClassesRoot HKEY_CLASSES_ROOT    registry anahtarına erişmek için kullanılır.
CurrentConfig HKEY_CURRENT_CONFIG    registry anahtarına erişmek için kullanılır.
CurrentUser HKEY_CURRENT_USER     registry anahtarına erişmek için kullanılır.
DynData HKEY_DYN_DATA     registry anahtarına erişmek için kullanılır.
LocalMachine HKEY_LOCAL_MACHINE     registry anahtarına erişmek için kullanılır.
PerformanceData HKEY_PERFORMANCE_DATA    registry anahtarına erişmek için kullanılır.
Users HKEY_USERS registry anahtarına erişmek için kullanılır.

Okumaya devam et “vb.net üzerinde registry işlemleri”

VB.net LDAP(active directory) üzerinden SID değerini alıp Stringe dönüştürmek

‘SecurityIdentifier için gerekli kütüphane
Imports System.Security.Principal
Imports System.Text
Imports System.DirectoryServices
Private Sub adkullaniciadi_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles adkullaniciadi.LostFocus
sid.Text = “”
Dim objDe As New DirectoryEntry(”LDAP://127.0.0.1¨, “LDAP KULLANICIADI”, “LDAP SIFRE”)
Dim searcher As New DirectorySearcher(objDe)
searcher.Filter = “(&(objectClass=user)(SAMAccountName=” + adkullaniciadi.Text + “))”
searcher.PropertiesToLoad.Add(”objectSid”)
Dim Results As SearchResultCollection = searcher.FindAll()
For Each Result As SearchResult In Results
Dim Rpc As ResultPropertyCollection = Result.Properties
For Each [Property] As String In Rpc.PropertyNames
For Each Value As Object In Rpc([Property])
sid.Text = SIDtoString(Value)
Next
Next
Next
If sid.Text = “” Then
MsgBox(”Active Directory Kullanıcı Adını Kontrol Edin”, MsgBoxStyle.Critical)
End If
End Sub
Public Shared Function SIDtoString(ByVal sidBinary As Byte()) As String
Dim sid As New SecurityIdentifier(sidBinary, 0)
Return sid.ToString()
End Function

Vb.net/ASP.Net veritabanı bağlantısı

SQL Server Kullanıcı kimlik doğrulaması yöntemleri
‘1 SQL kullanıcısı kullanarak
Data Source=SUNUCU;Initial Catalog=VERITABANIADI;User ID=VERITABANIKULLANICIADI;Password=SIFRE
‘2 Entegre windows kimlik doğrulaması için
Data Source=SUNUCU;Initial Catalog=VERITABANIADI;Integrated Security=True

ASP.Net üzerinden Access veritabanına bağlanıp sorgu çalıştıralım.Aşağıdaki örnekte veritabanına bağlanıp kullanıcı sorgulaması yapılıyor. sonuca göre label üzerine yazı aktarılıyor
‘Kütüphanelerimizi yükleyelim
Imports System.Data.OleDb
Imports System.Data
Partial Class Uyegirisi
Inherits System.Web.UI.Page

‘vt isimli bir bağlantı tanımlıyoruz ve bağlantı satirini yazıyoruz
Dim vt As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=users.mdb")
‘Veritabanı üzerinde sql komutları çalıştırabilmek için command tanımlayalım
Dim komut As New OleDbCommand
‘Çalıştırdığımız sorgu sonucunda elde edeceğimiz verileri datareader üzerine yüklüyoruz.
Dim veriler As System.Data.OleDb.OleDbDataReader
Dim i As Integer
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Try

‘veritabanını açalım
vt.Open()
‘çalıştıracağımız komutun hangi bağlantı üzerinde çalışacağını atayalım
komut.Connection = vt
‘Sorgumuzu yazalım
komut.CommandText = "Select * from kullanicilar where kadi='" & kadi.Text & "'"
komut.ExecuteNonQuery()

‘sorguyu çalıştırıp dataları veriler isimli readerımıza yükledik
veriler = komut.ExecuteReader
i = 0

‘okumaya başlayalım. zatan o kullanıcı adını içeren tek kayıt olacaktır
Do While veriler.Read
i = 1

‘veri tabanımızdaki alanlar (id,kullaniciadi,sifresi) şeklinde olduğundan elde ettiğimiz kayıttaki veriler(2) değeri bize şifreyi veriyor.
If sifre.Text = veriler(2).ToString Then
FormsAuthentication.RedirectFromLoginPage(kadi.Text, hatirla.Checked)
Else
Label1.Visible = True
Label1.Text = "Yanlış şifre girdiniz"
End If
Loop
vt.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try

‘Eğer sorgu sonucunda o kullanıcı adında kimse yok ise veriler.read olamayacağından i halen 0 değerine eşit olacak dolayısıyla
If i = 0 Then
Label1.Text = "Kullanıcı adını kontrol ediniz."
Label1.Visible = True
End If
End Sub

ASP.NET kullanarak Access değilde SQL server üzerine bağlantı yapmak isterseniz
yukarıdaki bağlantı parametrelerini aşağıdakiler ile değiştirmeniz yeterli olacaktır.
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Partial Class Uyegirisi
Inherits System.Web.UI.Page
Dim vt As New SqlConnection
Dim veriler As SqlDataReader
Dim komut As SqlCommand
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

‘Kimlik doğrulama yöntemi olarak windows auth kullanırsak
vt.ConnectionString = "Data Source=SUNUCUADI;Initial Catalog=VTADI;Integrated Security=True"

Linux Sendmail Vacation (tatil mesajı) eklenmesi

‘ mustafa54 örnekteki kullanıcı adıdır.
/usr/bin/vacation -I mustafa54
user home dizininde ( /home/mustafa54 )
.vacation.db dosyası oluşmuş olmalı
.forward dosyası yoksa eğer onuda oluşturuyoruz. ( vi nano artık hani editörü kullanıyorsanız)
içeriği tatil mesajı geri dönmesi için şu şekilde olmalı
mustafa54, “|/usr/bin/vacation mustafa54¨

Şimdi .vacation.msg dosyasının oluşturalım.
içeriği.
From: mustafa54@mustafa54.com (Mustafa KULLUKÇUOĞLU)
Subject: Otomatik Mesaj – Dışarıda
Kullanıcı şirketdışında,tatilde vb. mesajlar
Daha sonra geri dönüş yapılacaktır.
Önemli : Eğer bu dosya oluşturma işlemlerini mustafa54 userı ile yapmışsanız. otomatik cevap çalışacaktır.
Eğer yönetici ile oluşturmuşsanız.
.vacation.* (db ve msg) dosyalarını
dosya sahibini (chown) mustafa54:mustafa54
dosya yetkilerini 0660 şeklinde ayarlayın.
Tatil mesajını kaldırmak için .forward dosyasındaki girdiyi silmeniz yeterli.
.forward

Vb.net DataGridView hücre değişikliğinde fonksiyon çalıştırma

(liste= datagridview1)

Private Sub liste_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles liste.CellEndEdit
‘Bu fonksiyon yalnızca hücrenin düzenleme moduna getirilip çıkması sonucunda çalışır
If liste.CurrentRow.Cells(0).Value = “mustafa54” Then
MsgBox(1test1)
End If
End Sub

Private Sub liste_CellLeave(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles liste.CellLeave

‘ Bu satır ise herhangi bir hücre değişikliğinde çalışır. Eğer o anki çalıştığınız hücreye göre düzenleme yapıyorsanız önce DataGridView in edit modunu sonlandırlalısın.
‘ liste.EndEdit()
If liste.CurrentRow.Cells(0).Value = “mustafa54” Then
MsgBox(“test”)
End If
End Sub

Vb.net keypreview özelliklerinden türkçe yararlanarak arama oluşturma

evet bu seferde nedenini anlamadığım bir vb.net sorunu daha keypreview ile gelen değerleri chr ile dönüştürdüğümüzde farklı / yanlış karakterler çıkması.

Alternatif çözüm yolu.

Private Sub listelefatura_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyValue = 27 Then
Me.Close()
ElseIf e.KeyValue = 13 Then
Call cifttiklama()
Exit Sub
End If Okumaya devam et “Vb.net keypreview özelliklerinden türkçe yararlanarak arama oluşturma”

Sqldatareader ile kayıt sayısını kontrol etmek

Dim a As String
Dim sayi As Integer
a = InputBox(”Firma Adının birkaç harfini giriniz”)
sqlbaglanti.Open()
sqlkomut.CommandText = “SELECT COUNT(*) FROM firma WHERE firmaadi LIKE ‘%” + UCase(a) + “%’”
sqlkomut.ExecuteNonQuery()
veriler = sqlkomut.ExecuteReader(CommandBehavior.SingleResult)
Do While veriler.Read
sayi = veriler(0)
Loop
If sayi > 1 Then
MsgBox(”birden fazla”)
End If
sqlbaglanti.Close()