![]() |
ListView1 Listeleme Hakkında - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Visual Basic .NET (https://accesstr.net/forum-visual-basic-net.html) +--- Forum: Visual Basic .NET Cevaplanmış Soruları (https://accesstr.net/forum-visual-basic-net-cevaplanmis-sorulari.html) +--- Konu Başlığı: ListView1 Listeleme Hakkında (/konu-listview1-listeleme-hakkinda.html) Sayfalar:
1
2
|
ListView1 Listeleme Hakkında - drummers - 20/05/2015 Kod:
Private Sub DRm_Button2_Click(sender As System.Object, e As System.EventArgs) Handles DRm_Button2.Click Sonuç şöyle oluyoru TÜRKÜLER\Ah Le Yar.txt TÜRKÜLER\XXXX.txt TÜRKÜLER\Deneme.txt TÜRKÜLER\Yar.txt POP\Yyyyyy.txt DİĞER\Cccccc.txt Ben yukardaki kodu nasıl revize etmeliyim ki Listvievde 1 kolon klasör ismi 2. kolon şarkı ismi olsun. Örnek Klasör Adı Şarkı Adı POP Yyyy.txt Cvp: ListView1 Listeleme Hakkında - alpeki99 - 20/05/2015 Sadece bir formdan ibaret olan örnek projeyi eklerseniz yardımcı olmak isterim. Cvp: ListView1 Listeleme Hakkında - drummers - 20/05/2015 (20/05/2015, 14:48)alpeki99 yazdı: Sadece bir formdan ibaret olan örnek projeyi eklerseniz yardımcı olmak isterim. Dosya eklenmiştir. İlaveten Listeleme işlemi bittikten sonra listedeki herhangi bir item tıklanırsa o itemin içeriğini richtextbox da okutmak istiyorum. Teşekkürler Cvp: ListView1 Listeleme Hakkında - alpeki99 - 21/05/2015 Normalde bir konuda birden fazla soru olduğu zaman cevap vermem ancak sizi az çok bilip suistimal etmeyeceğinizi düşünerek cevaplıyorum. Öncelikle bir prosedür oluşturuyorum:
Listview'de sağ üst köşedeki üçgen kulakçık menüsünde Edit Columns tıklayın. Add butonuna tıklayıp yeni bir sütun ekleyin. Ben genişliklerini 100 ve 200 yaptım. Yukarıdaki KlasorleriListele prosedürü tek başına çalışamaz. Bundan dolayı Formun Load yani Yüklendiğinde olayında ve butonun tıklanma olayında bu prosedürü çalıştırıyoruz:
Bu şekilde yapılacak olursa yukarıdaki kodlar ile listeleme işlemleri yapılabilir. Gelelim TXT dosyaların içeriğinin RichTextBox ta gösterilmesine. Öncelikle yeni bir prosedür ekliyoruz:
Bu prosedür öncekinden farklı olarak bir parametre alacak. Bu parametreye içeriğini görüntülemek istediğimiz TXT dosyasının adresini göndereceğiz. Ona sonra geliriz şimdi prosedürü incelemeye devam edelim. Try-Catch kaçınılmaz olarak kullanılmalıdır yoksa programda kırılmaya sebebiyet verecek hatalar alabilirsiniz. StreamReader da ikinci parametre olarak System.Text.Encoding.Default kullanmazsanız dosya içeriğini gösterirken Türkçe karakterler yerine garip karakterler çıkacaktır. Gelelim bu prosedüre gönderilecek dosya adresini nasıl alacağımıza. Listview'in özelliklerinden FullRowSelect özelliğini True yapıyoruz. Listview üzerinde tıklama işleminde eğer tıklanılan satırın Index değeri değişirse tıklanan satırdaki klasör ve şarkı isimlerini kullarak Txt dosyası adresini prosedüre parametre olarak gönderiyoruz:
Cvp: ListView1 Listeleme Hakkında - drummers - 21/05/2015 (21/05/2015, 10:08)alpeki99 yazdı: StreamReader da ikinci parametre olarak System.Text.Encoding.Default kullanmazsanız dosya içeriğini gösterirken Türkçe karakterler yerine garip karakterler çıkacaktır. Öncelikle çok teşekkürler, emeğinize sağlık. Konu benim açımdan çözüme kavuşmuştur. System.Text.Encoding.Default ile Encoding.GetEncoding("windows-1254") arasında bir fark varmı ? Cvp: ListView1 Listeleme Hakkında - alpeki99 - 21/05/2015 Benim yazdığımda işletim sisteminin kodlaması hangisi ise -bende Türkçe Win yüklü- onun karakter kodlaması alınır. Mesela İngilizce veya Almanca olsaydı Türkçe karakterler yine sorunlu görünürdü. Sizin yazdığınızda TXT dosyalarının kodlamasını 1254 yani ANSI olarak kabul eder ona göre gösterim yapar ancak UTF-8 ile kodlanmış bir dosya olsaydı bu defa ne sizin kod ne benimki işe yarardı. Hangisini kullanırsanız kullanın esas olan TXT dosyanın hangi karakter seti ile kaydedildiğidir. Mesela sizin TXT dosyalarını ANSI olarak kodlanmış. Biz bu şekilde kullandık ancak farklı kodlamalar UTF-8 vs. söz konusu olduğunda dosya kodlamasını tespit edip çeviri işlemi yapmak lazım. Kısacası farklı kodlama yapıları sözkonusu olmayacak ise her ikiside kullanılabilir. |