01/11/2016, 10:04
VB.NET Metin belgesi içinden istedigimiz satırı silmek.
01/11/2016, 14:29
alpeki99
Örnek dosya eklerseniz cevap alma ihtimaliniz artar.
01/11/2016, 15:38
Mettless Dizayn
06/11/2016, 23:14
alpeki99
Arada konu gözönünden kaçmış kusura bakmayın.
Programda ufak tefek değişiklikler yaptım. Button1 Click olayının kodları şu şekilde:
Buton2 nin Click olayına aşağıdaki kodları yazacağız:
Burada yer alan ArananSatirlariDosyadanSil bir prosedür. Dosyanın adresini ve aranan kelimeyi parametre olarak alıyor. Prosedürümüz şu şekilde olacak:
Siz hosts dosyasında işlem yapmak istemişsiniz. Bu özel bir dosya olduğu için yönetici hakları olmadan çalışmayacaktır.
Programda ufak tefek değişiklikler yaptım. Button1 Click olayının kodları şu şekilde:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
Dim mevcutIlke As WindowsPrincipal = DirectCast(Thread.CurrentPrincipal, WindowsPrincipal)
' continue programm
If mevcutIlke.IsInRole("Administrators") Then
Using dosya As StreamWriter = File.AppendText(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "drivers\etc\hosts"))
dosya.WriteLine(TextBox1.Text)
MsgBox("Satır eklendi")
End Using
Else
MsgBox("Yönetici haklarınız yok. Programı yönetici hakları ile çalıştırmalısınız.")
End If
Buton2 nin Click olayına aşağıdaki kodları yazacağız:
Dim dosyaAdresi As String
dosyaAdresi = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "drivers\etc\hosts")
ArananSatirlariDosyadanSil(dosyaAdresi, TextBox2.Text)
Burada yer alan ArananSatirlariDosyadanSil bir prosedür. Dosyanın adresini ve aranan kelimeyi parametre olarak alıyor. Prosedürümüz şu şekilde olacak:
Private Sub ArananSatirlariDosyadanSil(ByVal dosyaAdresi As String, ByVal arananKelime As String)
Dim okunanSatirlar() As String
Dim temizlenenSatirlar As New List(Of String)
okunanSatirlar = IO.File.ReadAllLines(dosyaAdresi)
For Each satir As String In okunanSatirlar
If satir.Contains(arananKelime) = False Then
temizlenenSatirlar.Add(satir)
End If
Next
File.Delete(dosyaAdresi)
File.WriteAllLines(dosyaAdresi, temizlenenSatirlar)
End Sub
Siz hosts dosyasında işlem yapmak istemişsiniz. Bu özel bir dosya olduğu için yönetici hakları olmadan çalışmayacaktır.
22/11/2016, 14:08
Mettless Dizayn
(06/11/2016, 23:14)alpeki99 yazdı: Arada konu gözönünden kaçmış kusura bakmayın.
Programda ufak tefek değişiklikler yaptım. Button1 Click olayının kodları şu şekilde:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
Dim mevcutIlke As WindowsPrincipal = DirectCast(Thread.CurrentPrincipal, WindowsPrincipal)
' continue programm
If mevcutIlke.IsInRole("Administrators") Then
Using dosya As StreamWriter = File.AppendText(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "drivers\etc\hosts"))
dosya.WriteLine(TextBox1.Text)
MsgBox("Satır eklendi")
End Using
Else
MsgBox("Yönetici haklarınız yok. Programı yönetici hakları ile çalıştırmalısınız.")
End If
Buton2 nin Click olayına aşağıdaki kodları yazacağız:
Dim dosyaAdresi As String
dosyaAdresi = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "drivers\etc\hosts")
ArananSatirlariDosyadanSil(dosyaAdresi, TextBox2.Text)
Burada yer alan ArananSatirlariDosyadanSil bir prosedür. Dosyanın adresini ve aranan kelimeyi parametre olarak alıyor. Prosedürümüz şu şekilde olacak:
Private Sub ArananSatirlariDosyadanSil(ByVal dosyaAdresi As String, ByVal arananKelime As String)
Dim okunanSatirlar() As String
Dim temizlenenSatirlar As New List(Of String)
okunanSatirlar = IO.File.ReadAllLines(dosyaAdresi)
For Each satir As String In okunanSatirlar
If satir.Contains(arananKelime) = False Then
temizlenenSatirlar.Add(satir)
End If
Next
File.Delete(dosyaAdresi)
File.WriteAllLines(dosyaAdresi, temizlenenSatirlar)
End Sub
Siz hosts dosyasında işlem yapmak istemişsiniz. Bu özel bir dosya olduğu için yönetici hakları olmadan çalışmayacaktır.
Teşekkürler işime yaradı