• 31-12-2012, 13:11:48
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar, yine ben ve yine bir sorun

    Geçen gün sorduğum soruya sağolsun birçok üstadım yardım etti. Onlar sayesinde birkaç şey daha öğrendim tekrardan teşekkür ederim.

    Şimdiki sorunum silme işleminde olan bazı sıkıntılar.
    Rehber.txt deki bir satırı siliyorum. fakat sildikten sonra rehber.txt e en son eklenen dosyadan aynısından tekrar ekliyor rehber.txt e. Birde son elemanı silmek istediğimde sildirmiyor. rehber.txt'e o değerin önüne bir satır açıp # işareti koyuyor acaba Bunların sebebi ne olabilir?

    İnsallah anlatabilmişimdir derdimi.
    İşte o silme kodları
                FileStream fs = new FileStream(".\\rehber.txt", FileMode.Open);
                StreamReader sr = new StreamReader(fs);
                string satir;
                string[] rehberdekiTumSatirlar = new string[1000];
                int i = 0;//dizi için başlangıç noktası
                do
                {
                    satir = sr.ReadLine();
                    if (satir != "")
                    {
                        String[] satirlar = satir.Split('#');
    
                        if (isim.Text == satirlar[0])
                        {
    
                            
                            i--;
    
    
                        }
    
                        else  //silinmeyecek satırlar
                        {
                            rehberdekiTumSatirlar[i] = satir;
    
                        }
    
                        i++;
    
                    }
                } while (sr.EndOfStream != true);
                sr.Close();
    
    
                fs = new FileStream(".\\rehber.txt", FileMode.OpenOrCreate);
                StreamWriter yaz = new StreamWriter(fs);
                for (int b = 0; b < i; b++)
                {
                    yaz.WriteLine(rehberdekiTumSatirlar[b]);
                }
                yaz.Close();
                this.Close();
                MessageBox.Show("Silindi");
            }
  • 31-12-2012, 17:42:18
    #2
    rehber.txt yi silmeden yeniden openorcreate yapıyosun, ne yapıyor üstüne ekliyor yazma işlemine geçmeden önce File.Delete(".\\rehber.txt"); yaparsan çalışıcaktır
  • 31-12-2012, 18:38:11
    #3
    Hocam çok teşekkürler, iki saattir çözemediğim bir sorunu çözmüş oldum sayenizde.
  • 31-12-2012, 22:57:35
    #4
    ne demek birde kodunun optimize edilmesi lazım bin elemanlı array açmak mantıksız onun yerine list aç list e add yap sırasıyla ardından o listi foreacha sok hem i int inide tanımlamak zorunda kalmazsın
  • 01-01-2013, 10:32:49
    #5
    lyzerk adlı üyeden alıntı: mesajı görüntüle
    ne demek birde kodunun optimize edilmesi lazım bin elemanlı array açmak mantıksız onun yerine list aç list e add yap sırasıyla ardından o listi foreacha sok hem i int inide tanımlamak zorunda kalmazsın
    Haklısınız hocam, teşekkürler deneyeyim bi.