ARG
Ali Rıza Gökçek
SqlClient.SqlBulkCopy Kullanmak
Kadere İnanmak
İnsanların aslında yaptığı tüm seçimler geleceğini etkileyebiliyor. İnsan başına kötü bir olay geldiğinde asla hayata küsmemeli ve aksine daha da fazla asılmalı. Her karanlık gecenin sonu sabahtır. Her insanın kader çizgisi var ve “Herşeyin hayırlısı Allah’tan” diyerek uyku moduna geçiyorum.
WPF Toolkit June 2009 Release
- Toolkit'te
- DataGrid
- DatePicker
- Calendar
- VisualStateManager
yanısıra Chart kontrolu de eklendi. İleri ki günlerde bununla ilgil küçük bir örnek proje yayınlayacağım. Microsoft .NET Framework 3.5 Service Pack 1 + VS2008 makinanızda yüklü olması gerkiyor.
İyi çalışmalar
Blogdaki Kodları Visual Studio'daki Gibi Gösterme (CopySourceAsHtml)
Blogtaki yayınlanacak kodlar için visual studiodaki görüntüyü nasıl elde ederim diye internette şöyle bir arama yaptırdım. Kullanımı gayet basit kullanışlı bir ücretsiz tool buldum ve sizlerle paylaşmak istedim. VS 2003, VS 2005 ve VS 2008 versiyonu bulunan tool kurulumdan sonra seçtiğiniz kod kısmınını üzerinde mouse ' un sağ butonuna basıyorsunuz. Seçeneklerden Copy As Html'i seçiyorsunuz. İstediğiniz yere yapıtıryorsunuz. İşte bu kadar basit ;))
İyi günler iyi çalışmalar.
VB.net İle XML Okuma ve Yazma 3
Bu makalemizde projemizin son kısmını tamamlayacağız. Koleksiyonumuza yeni kayıt ekleme, silme değiştirme ve form kapanırken koleksiyonumuzu xml şeklinde sabit diskimize yazdıracağız
Yeni Kayıt Ekleme:
Burda dikkat edeceğimiz en önemli nokta, kolleksiyonumuz ordered dictionary (benzersiz anahtar, object) olarak objeleri tuttuğu için müşteri numaramız bizim benzersiz anahtarımız olacaktır. Bunu kodla da edeceğiz.

48 Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
49
50 If _AddMode Then
51 If txtCustomerNumber.Text.Trim = vbNullString Then
52 MsgBox("Müşteri numarası boş geçilemez", MsgBoxStyle.Critical, Me.Text)
53 txtCustomerNumber.Focus()
54 Exit Sub
55 End If
56 If Not IsNumeric(txtCustomerNumber.Text.Trim) Then
57 MsgBox("Müşteri numarası numerik bir değer olmalıdır.", MsgBoxStyle.Critical, Me.Text)
58 txtCustomerNumber.Focus()
59 Exit Sub
60 End If
61 Dim C As Customer = _Customers(CInt(txtCustomerNumber.Text.Trim).ToString)
62 If C IsNot Nothing Then
63 MsgBox("Bu müşteri numarası sistemde bulunmaktadır." & vbCrLf & "Lütfen müşteri no yu değiştiriniz.", MsgBoxStyle.Critical, Me.Text)
64 txtCustomerNumber.Focus()
65 Exit Sub
66 End If
67 If txtName.Text.Trim = vbNullString Then
68 MsgBox("Müşteri adı boş geçilemez", MsgBoxStyle.Critical, Me.Text)
69 txtName.Focus()
70 Exit Sub
71 End If
72 If txtSurname.Text.Trim = vbNullString Then
73 MsgBox("Müşteri soyadı boş geçilemez", MsgBoxStyle.Critical, Me.Text)
74 txtSurname.Focus()
75 Exit Sub
76 End If
77 With _Customer
78 .Name = txtName.Text.Trim
79 .Surname = txtSurname.Text.Trim
80 .CustomerNumber = Int(txtCustomerNumber.Text.Trim)
81 End With
82 _Customers.Add(_Customer)
83 End Sub
Kayıtları Güncelleme
Bir önceki makalemizdeki listview itemlerinin tag larına yüklediğimiz müşteri numaları ile objemizi oluşturup diğer formumuza objeyi göndereceğiz.
50 #Region " ListView1_MouseDoubleClick"
51 Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick
52 If e.Button = Windows.Forms.MouseButtons.Left Then
53 If ListView1.SelectedItems.Count > 0 Then
54 Dim frm As New frmDetails
55 frm.Customers = Customers
56 frm.Customer = Customers(ListView1.SelectedItems(0).Tag.ToString)
57 frm.AddMode = False
58 Dim DR As DialogResult = frm.ShowDialog
59 If DR = Windows.Forms.DialogResult.OK Then
60 Customers = frm.Customers
61 FillListview()
62 End If
63
64 End If
65 End If
66
67 End Sub
68 #End Region
Diğer formun load olayında değerleri yükleyeceğiz. Değişiklikleri kaydedeceğiz.
33 #Region " frmLoad"
34 Private Sub frmDetails_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
35 If Not _AddMode Then
36 With _Customer
37 txtCustomerNumber.Text = .CustomerNumber.ToString
38 txtCustomerNumber.Enabled = False
39 txtName.Text = .Name
40 txtSurname.Text = .Surname
41 End With
42 Else
43 _Customer = New Customer
44 End If
45 End Sub
46 #End Region
81 #Region " btnOK"
82 Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
83
84 If Not _AddMode Then
85
86
87 If txtName.Text.Trim = vbNullString Then
88 MsgBox("Müşteri adı boş geçilemez", MsgBoxStyle.Critical, Me.Text)
89 txtName.Focus()
90 Exit Sub
91 End If
92 If txtSurname.Text.Trim = vbNullString Then
93 MsgBox("Müşteri soyadı boş geçilemez", MsgBoxStyle.Critical, Me.Text)
94 txtSurname.Focus()
95 Exit Sub
96 End If
97
98 With _Customers(_Customer.CustomerNumber.ToString)
99 .Name = txtName.Text.Trim
100 .Surname = txtSurname.Text.Trim
101 End With
102 End If
103 Me.DialogResult = Windows.Forms.DialogResult.OK
104 Me.Close()
105 End Sub
106 #End Region
Silme İşlemi
Listview deki itemleri seçtiğimiz an Sil butonu aktif hale getirip, koleksiyondan sileceğiz

69 #Region " btnDelete"
70 Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
71 If ListView1.SelectedItems.Count > 0 Then
72 Dim MSDR As MsgBoxResult = MsgBox(" Bu müşteriyi silmek istediğinizden emin misiniz", MsgBoxStyle.YesNo, Me.Text)
73 If MSDR = MsgBoxResult.Yes Then
74 Customers.Remove(ListView1.SelectedItems(0).Tag.ToString)
75 FillListview()
76 End If
77 Else
78 MsgBox("Lütfen silmek istediğiniz müşteriyi seçiniz", MsgBoxStyle.Critical, Me.Text)
79 Exit Sub
80 End If
81 End Sub
82 #End Region
XML'i sabit diske yazma
Form kapanırken XML 'i sabit diskte saklayacağız.
17 Private Sub frmList_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
18 Dim XW As New Xml.XmlTextWriter("C:\C\Customers.Xml", System.Text.Encoding.Default)
19 XW.Formatting = Xml.Formatting.Indented
20 Customers.WriteXML(XW)
21 End Sub
Projeyi buradan indirebilirsiniz
