Kodlamadaki Hatam Tam Olarak Nedir ? (VB.NET)
-
meraba arkadaşlar, ben bir program yapıyorumda alıştırma olarak, stok takip programı 3 adet text box ve 3 adette listbox var ekle dediğimde textboxları listboxlara ekliyor buraya kadar yaptım ama birde listboxlardaki verileri yazıları bir txt'ye yazdırmaya çalışıyorum ve aşşağıdaki kodu yazdım bunun için
Dim dosya As New StreamWriter("c:/vb08sbs/test.txt", True)
dosya.WriteLine(ListBox1.SelectedItem)
dosya.WriteLine(ListBox1.SelectedItem)
dosya.WriteLine(ListBox1.SelectedItem)burdaki kodlamada acaba ne yanlış bana göre listboxların içindeki verileri yazdırmak için listbox1.SelectedItem yerine başka bişe yazmalıyız ama ne doğrusunu siz bilirsiniz buyrun
-
öyle yaparsan olmaz hacım.çünkü zaten writeline/write dediğinde dosya açılır ve başka bir işlemin bu dosya flush(fluschda izinde vermiyor, close da izin veriyor olabilir hatırlayamadım) olana kadar girmesine izin vermez.
dosya.WriteLine(ListBox1.SelectedItem)
dosya.WriteLine(ListBox1.SelectedItem)dosya.WriteLine(ListBox1.SelectedItem)
dosya.flush();
dosya.close();
yaparsan büyük ihtimal çalışacak öyle yapmak yerine şöyle yap hacım
dosya.WriteLine(ListBox1.SelectedItem+"\n\r" + ListBox2.SelectedItem + ... (kaç tane varsa artık))
en sonda da flush yap yoksa yazmaz ve her zaman kod bitişinde close() yap,yoksa dosya açık kalır ve başka bir process başlattığında erişemezsin
evet birde textleri alırken öyle yapman lazım
-
dosya.WriteLine(ListBox1.SelectedItem.Value ) denermisin. yada dosya.WriteLine(ListBox1.SelectedItem.Text )
-
SharpShooter bunu yazdı:
-----------------------------
öyle yaparsan olmaz hacım.çünkü zaten writeline/write dediğinde dosya açılır ve başka bir işlemin bu dosya flush(fluschda izinde vermiyor, close da izin veriyor olabilir hatırlayamadım) olana kadar girmesine izin vermez.
dosya.WriteLine(ListBox1.SelectedItem)
dosya.WriteLine(ListBox1.SelectedItem)
dosya.WriteLine(ListBox1.SelectedItem)
dosya.flush();
dosya.close();
yaparsan büyük ihtimal çalışacak öyle yapmak yerine şöyle yap hacım
dosya.WriteLine(ListBox1.SelectedItem+"\n\r" + ListBox2.SelectedItem + ... (kaç tane varsa artık))
en sonda da flush yap yoksa yazmaz ve her zaman kod bitişinde close() yap,yoksa dosya açık kalır ve başka bir process başlattığında erişemezsin
evet birde textleri alırken öyle yapman lazım
-----------------------------yok hocam dosya.flush değilde dosya .close yazmayı unutmuşum ama txt ye şöyle yazıyor
System.Windows.Forms.ListBox, Items.Count: 1, Items[0]: cd
bu normal mi ? yoksa sadece cd mi yazmalıydı
