Vatansever
Asistan
- Katılım
- 23 Ağustos 2007
- Mesajlar
- 405
- Reaksiyon puanı
- 1
- Puanları
- 18
Dim hosttakiler As New ArrayList() = Host dosyasındaki satırlar
Dim eklenecekler As New ArrayList() = TextBox içindeki satırlar bu liste sadece karşılaştırma için kullanılıyor
Dim temizliste As New ArrayList() = TextBox içindeki satırlar bu liste host dosyasında aynıları varsa bundan çıkartılıyor ve temiz bir liste olarak bu kullanılıyor
Arkadaşlar amacım host dosyasına değer ekleyen basit bir uygulama yapmak projemde bir textbox ve bir adet buton var hepsi bu yapmak istediğim textbox'um multiline özellikli buna alt alta eklediğim yazıları satır satır host dosyasında olup olmadığını kontrol etmek varsa bunu eklememek sadece olmayanları eklemek
kullandığım mantık şu 3 adet arraylist oluşturdum birine host dosyasındaki satırları ekledim diğer ikisinede textbox içindeki satırları eklkedim yani ikiside aynı bilgiyle dolduruldu hazırladığım kodda döngü içinde döngü yaptım texbox içindeki ilk satırı alıp host dosyasındaki tüm satırlarla karşılaştırıp varmı yokmu diye bakıyorum eğer varsa textbox bilgileriyle doldurulmuş olan temizlikliste 'den çıkartıyorum komutu bu temizliste.Remove(eklenecekler(say1).ToString) böylece en sonunda elimde host dosyasında olmayan satırların olduğu bir liste kalıyor(temizliste) ama malesef düzgün çalışmıyor problemin ne olduğuna bakabilirmisiniz
Dim eklenecekler As New ArrayList() = TextBox içindeki satırlar bu liste sadece karşılaştırma için kullanılıyor
Dim temizliste As New ArrayList() = TextBox içindeki satırlar bu liste host dosyasında aynıları varsa bundan çıkartılıyor ve temiz bir liste olarak bu kullanılıyor
Arkadaşlar amacım host dosyasına değer ekleyen basit bir uygulama yapmak projemde bir textbox ve bir adet buton var hepsi bu yapmak istediğim textbox'um multiline özellikli buna alt alta eklediğim yazıları satır satır host dosyasında olup olmadığını kontrol etmek varsa bunu eklememek sadece olmayanları eklemek
kullandığım mantık şu 3 adet arraylist oluşturdum birine host dosyasındaki satırları ekledim diğer ikisinede textbox içindeki satırları eklkedim yani ikiside aynı bilgiyle dolduruldu hazırladığım kodda döngü içinde döngü yaptım texbox içindeki ilk satırı alıp host dosyasındaki tüm satırlarla karşılaştırıp varmı yokmu diye bakıyorum eğer varsa textbox bilgileriyle doldurulmuş olan temizlikliste 'den çıkartıyorum komutu bu temizliste.Remove(eklenecekler(say1).ToString) böylece en sonunda elimde host dosyasında olmayan satırların olduğu bir liste kalıyor(temizliste) ama malesef düzgün çalışmıyor problemin ne olduğuna bakabilirmisiniz
Kod:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim eklenecekler As New ArrayList()
Dim hosttakiler As New ArrayList()
Dim temizliste As New ArrayList()
Dim hostdosyasi As String = Environment.GetFolderPath(Environment.SpecialFolder.System) + "\drivers\etc\hosts"
For Each strLine As String In TextBox1.Text.Split(vbNewLine)
eklenecekler.Add(strLine)
temizliste.Add(strLine)
Next
Dim myfile As String = hostdosyasi
Dim allLines As String() = File.ReadAllLines(myfile)
For Each line As String In allLines
hosttakiler.Add(line)
Next
For say1 As Integer = 0 To eklenecekler.Count - 1
For say2 As Integer = 0 To hosttakiler.Count - 1
If eklenecekler(say1).ToString = hosttakiler(say2).ToString Then
temizliste.Remove(eklenecekler(say1).ToString)
Exit For
Else
End If
Next
Next
temizliste.Clear()
hosttakiler.Clear()
eklenecekler.Clear()
End Sub