31 Mayıs 2014 Cumartesi
RECURSİVE - Kendi içinde kendini çağırabilen fonksiyon
RECURSİVE PROJE KODLARINI
İNDİR
Imports System.IO Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load BaslamaDiziniTxt.Text = My.Settings.StartDirectory CmbUzanti.Text = My.Settings.Pattern End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing My.Settings.StartDirectory = BaslamaDiziniTxt.Text My.Settings.Pattern = CmbUzanti.Text My.Settings.Save() End Sub Private Sub BtnBul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBul.Click DosyaAra(DsyListesi, BaslamaDiziniTxt.Text, CmbUzanti.Text, BulTxt.Text, Nothing) End Sub Private Sub btnDizinSec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDizinSec.Click DznSecDialog.SelectedPath = BaslamaDiziniTxt.Text If (DznSecDialog.ShowDialog() = DialogResult.OK) Then BaslamaDiziniTxt.Text = DznSecDialog.SelectedPath End If End Sub Private Sub DosyaAra(ByVal LstBasi As ListBox, ByVal İlkDzn As String, _ ByVal Ornek As String, ByVal Diziden As String, ByVal Diziye As String) Try DsyListesi.Items.Clear() Dim Uzanti() As String = Uzanti_ayristir(Ornek) If (Diziden.Length < 1) Then Diziden = Nothing Dim Dzn_Bilgisi As New DirectoryInfo(İlkDzn) DizinAra(LstBasi, Dzn_Bilgisi, Uzanti, Diziden, Diziye) If (Diziden Is Nothing) Then Label3.Text = "Bulunan Dosya sayısı " & LstBasi.Items.Count & " Adet." Else MessageBox.Show("Yapılan değiştirmeler içinde " & LstBasi.Items.Count & " dosya.") End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub DizinAra(ByVal LstBasi As ListBox, ByVal Dzn_Bilgisi As DirectoryInfo, _ ByVal Uzanti() As String, ByVal Diziden As String, ByVal Diziye As String) For Each Ornek As String In Uzanti For Each Dsy_Bilgisi As FileInfo In Dzn_Bilgisi.GetFiles(Ornek) Dsy_islemi(LstBasi, Dsy_Bilgisi, Diziden, Diziye) Next Dsy_Bilgisi Next Ornek For Each subdir_info As DirectoryInfo In Dzn_Bilgisi.GetDirectories() DizinAra(LstBasi, subdir_info, Uzanti, Diziden, Diziye) Next subdir_info End Sub Private Sub Dsy_islemi(ByVal LstBasi As ListBox, ByVal Dsy_Bilgisi As FileInfo, ByVal Diziden As String, ByVal Diziye As String) Try If (Diziden Is Nothing) Then LstBasi.Items.Add(Dsy_Bilgisi.FullName) Else Dim txt As String = System.IO.File.ReadAllText(Dsy_Bilgisi.FullName) If (txt.Contains(Diziden)) Then LstBasi.Items.Add(Dsy_Bilgisi.FullName) If (Diziye IsNot Nothing) Then System.IO.File.WriteAllText(Dsy_Bilgisi.FullName, _ txt.Replace(Diziden, Diziye)) End If End If End If Catch ex As Exception MessageBox.Show("Hata işleme dosyası" & _ Dsy_Bilgisi.FullName & "\n" & ex.Message) End Try End Sub Private Function Uzanti_ayristir(ByVal Strng_Uzanti As String) As String() If (Strng_Uzanti.Contains("(")) Then Strng_Uzanti = MetinArasinda(Strng_Uzanti, "(", ")") End If Dim Sonuc() As String = Strng_Uzanti.Split(";"c) For i As Integer = 0 To Sonuc.Length - 1 Sonuc(i) = Sonuc(i).Trim() Next i Return Sonuc End Function Private Function MetinArasinda(ByVal txt As String, ByVal Limit1 As String, ByVal Limit2 As String) As String Dim Yer1 As Integer = txt.IndexOf(Limit1) Dim text_Baslangici As Integer = Yer1 + Limit1.Length Dim Yer2 As Integer = txt.IndexOf(Limit2, text_Baslangici) Return txt.Substring(text_Baslangici, Yer2 - text_Baslangici) End Function Private Sub DsyListesi_DoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles DsyListesi.DoubleClick For Each Secilen_Dsy As String In DsyListesi.SelectedItems System.Diagnostics.Process.Start(Secilen_Dsy) Next Secilen_Dsy End Sub End Class
29 Mayıs 2014 Perşembe
Encoding.Default ile text okuma Yazdırma
Encoding.Default ile text okuma Yazdırma ve Linklabel ile siteye bağlanma Proje Örneği :
KOD İNDİR
Imports System Imports System.IO Imports System.Text Public Class Form1 Dim TxtOku As System.IO.StreamReader Dim Dsy_Adi As String = Application.StartupPath & "\BeniOku.txt" Private Sub btnOku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOku.Click If Not File.Exists(Dsy_Adi) Then Console.WriteLine("{0} Dosya Yok.", Dsy_Adi) Return End If TxtOku = New IO.StreamReader(Dsy_Adi, System.Text.Encoding.Default) TextBox1.Text = TxtOku.ReadToEnd TxtOku.Close() End Sub Private Sub LinkLabel1_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked System.Diagnostics.Process.Start("http://eraslancemil1.blogspot.com.tr/") End Sub Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load LinkLabel1.Text = "VB.NET 2010 İLE ÖRNEK KODLAR" LinkLabel2.Text = "Bilgisayar Dünyası" LinkLabel2.Links.Add(0, LinkLabel1.Text.Length, "http://eraslancemil.blogspot.com/") End Sub Private Sub LinkLabel2_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked System.Diagnostics.Process.Start(e.Link.LinkData) End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Try Dim TextYaz As New StreamWriter(Dsy_Adi, False, Encoding.Default) TextYaz.Write(TextBox1.Text) TextYaz.Close() TextYaz = Nothing Catch ex As Exception MsgBox(ex.Message()) End Try End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Try Dim openDLG As New OpenFileDialog openDLG.Filter = "Text Dosyası(*.txt)|*.txt" If openDLG.ShowDialog = DialogResult.OK Then Dim ds_adi As String ds_adi = openDLG.FileName Dim fr As New StreamReader(ds_adi) TextBox1.Text = fr.ReadToEnd() End If Catch exc As Exception MessageBox.Show(exc.Message, " Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click TextBox1.Text = Nothing End Sub End Class
27 Mayıs 2014 Salı
HATA YAKALAMA ÖRNEĞİ
PROJE KODLARINI
İNDİR
Imports System.IO Public Class AnaForm 'Dosya adı metin kutusu altındaki metin mesajı Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Aşağıdaki kod hafızasında bir dize oluşturmak için yeni StringWriter kullanır. Dim writer As StringWriter = New StringWriter() With writer .WriteLine("Hata Yakalamayı test için Yukardaki dosyayı her butona tıklayıp deneyin. Sonra olmayan bir dosya adı girip testi tekrarlayın") .WriteLine("") .WriteLine(" Application.StartupPath\DsyAdi.txt") .WriteLine(" Application.StartupPath\ASLAN\DsyAdi.txt") .WriteLine(" \\ServerName\ASLAN\DsyAdi.txt") End With 'Bir dize için StringWriter deki işlemleri uygular Me.txtMessage.Text = writer.ToString() End Sub Private Sub cmdNoTryCatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNoTryCatch.Click 'Kullanıcı muhtemelen programın hata yakalaması için olmayan bir dosyaya adı girin. Dim message As String = "Aşağıdaki kod, hiçbir hata bulamazsa çalışacaktır." & vbCrLf & " Özel bir durum olursa hata verecektir" & vbCrLf & " Devam etmek istiyor musunuz?" If MessageBox.Show(message, Me.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then '(Dosyanın en üstünde girişe bakın) System.IO Namespace dan FileStream sınıfını kullanın Dim fs As FileStream Try 'Dosya mevcut değilse 'Bu komut başarısız olur. Aksi durumda dosyayı açar fs = File.Open(Me.txtFileName.Text, FileMode.Open) MessageBox.Show(Me.txtFileName.Text & " Bulundu ve mesajdan sonra Açılacak" & vbCrLf & " Dosya boyutu: " & fs.Length, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) Dim yol As String = Application.StartupPath & "\" & Me.txtFileName.Text Process.Start("NotePad.exe", yol) fs.Close() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text) End Try End If End Sub Private Sub cmdBasicTryCatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBasicTryCatch.Click 'Bu prosedür yakalamak için, temel bir deneyim yapacak. '(Dosyanın en üstünde girişe bakın) System.IO Namespace dan FileStream sınıfını kullanın Dim fs As FileStream Try 'Dosya mevcut değilse Bu komut başarısız olur. fs = File.Open(Me.txtFileName.Text, FileMode.Open) MessageBox.Show("Dosyanın boyutu: " & fs.Length, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) fs.Close() Catch exp As Exception 'Açıkça yakalama değil, herhangi bir hata yakalamış olacak. MessageBox.Show(exp.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) End Try End Sub Private Sub cmdDetailedTryCatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDetailedTryCatch.Click 'Bu prosedür herhangi bir IO ilgili hatalar arayan yakalamak, belirli bir deneyin yapacak. '(Dosyanın en üstünde girişe bakın) System.IO Namespace dan FileStream sınıfını kullanın Dim fs As FileStream Try 'Dosya mevcut değilse 'Bu komut başarısız olur. fs = File.Open(Me.txtFileName.Text, FileMode.Open) MessageBox.Show("Dosyanın boyutu: " & fs.Length, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) fs.Close() Catch exp As FileNotFoundException 'İstenen dosya yok, ne zaman bir hata yakalamak olacak. MessageBox.Show("İstediğiniz dosya yok.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) Catch exp As DirectoryNotFoundException 'istenen dizin yoksa zaman hata yakalanacak MessageBox.Show("İstediğiniz dizin yok.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) Catch exp As IOException 'Herhangi bir jenerik IO durumu yakalamamış olacak. MessageBox.Show(exp.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) Catch exp As Exception 'Çünkü biz herhangi bir hatayı yakalamış olacağız MessageBox.Show(exp.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) End Try End Sub Private Sub cmdCustomMessage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCustomMessage.Click 'Bu prosedür herhangi bir IO ilgili hata yakalamak için Try yapacak '(Dosyanın en üstünde girişe bakın) System.IO Namespace dan FileStream sınıfını kullanın Dim fs As FileStream Try 'Dosya mevcut değilse 'Bu komut başarısız olur fs = File.Open(Me.txtFileName.Text, FileMode.Open) MessageBox.Show("Dosyanın boyutu:" & fs.Length, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) fs.Close() Catch exp As IOException ' çok satırlı dize oluşturmak için StringWriter kullanabilirsiniz. 'Ancak, bu basit bir mesaj için geçerli 'StringWriter System.IO ad alanı eklenmelidir. Dim message As String message = "İstediğiniz dosya açılamıyor, " & Me.txtFileName.Text & vbCrLf & vbCrLf & _ " Ayrıntılı Hata Bilgileri:" & vbCrLf & vbCrLf & _ " Mesaj: " & exp.Message & vbCrLf & _ " Kaynak: " & exp.Source & vbCrLf & vbCrLf & _ " Stack Trace:" & vbCrLf Dim trace As String 'erişme StackTrace bir durum nedenile nesneleri blok halinde yakalarız Try trace = exp.StackTrace() Catch stExp As Security.SecurityException trace = "Güvenlik kısıtlamaları nedeniyle yığın izlemesine erişilemiyor." Catch stExp As Exception trace = "Yığın izlemesine erişilemiyor." End Try message = message & trace MessageBox.Show(message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) Catch exp As System.Exception 'Bu catch işlemi beklenmeyen bir hatayı yakalar MessageBox.Show(exp.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) End Try End Sub Private Sub cmdTryCatchFinally_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTryCatchFinally.Click 'Bu prosedür, temel bir deneyin gerçekleştirmek yakalamak, ve sonra bir Nihayet olacaktır. '(Dosyanın en üstünde girişe bakın) System.IO Namespace dan FileStream sınıfını kullanın Dim fs As FileStream = Nothing Try ' Dosya yoksa bu komut başarısız olur. fs = File.Open(Me.txtFileName.Text, FileMode.Open) MessageBox.Show("Dosyanın boyutu: " & fs.Length, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) Catch exp As Exception 'Çünkü biz herhangi bir hata yakalamamış olacağız MessageBox.Show(exp.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop) Finally ' dosya açmılamaz ise, o zaman bizim referansımız mesaj olarak verilecek If Not fs Is Nothing Then fs.Close() MessageBox.Show("Dosya başarıyla kapatıldı", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Try End Sub Private Sub exitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles exitToolStripMenuItem.Click Me.Close() End Sub End Class
Daha Yeni Kayıtlar
Önceki Kayıtlar
Ana Sayfa
Kaydol:
Kayıtlar (Atom)