cevap için çok saol denicem bakalım yapabilirim insallah

Anladım,
Dosyada veriler arka arkaya sıralı bytelar olarak tutulur siz aradan bir şeyi silmek isterseniz sileceğiniz veriden sonra gelen bytlearı kaydırmanız gerekir. Şekille anlatmak gerekirse
A | B | C | D | E
Bu sizin dosyadaki verileriniz ve C yi silmek istiyorsunuz
A | B | | D | E
C'yi sildiniz fakat yeri boş kaldı, bunu çözmek için C'den sonra gelen verileri kaydırmanız gerekir
A | B | D | E
Ve ortaya böyle bir sonuç çıkar, C silinmiş olur
Şöyle bir yöntem uygulayabilirsiniz
Yeni bir dosya açar
Eski dosyanızı baştan okumaya başlar
Silmek istediğiniz elemana kadar her satırı aynen yeni dosyaya yazarsınız
Silmek istediğiniz elemanla karşılaşınca yeni dosyaya yazmadan atlarsınız (string compare yapmanız gerekiyor diye tahmin ediyorum bu aşamada)
Daha sonra gelen elemanları da olduğu gibi yeni dosyaya yazarsınız böylece o verileriniz silmek istediğiniz eleman hariç yeni dosyaya taşınmış olur.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 19:42:11 -->-> Daha önceki mesaj 19:36:30 --
Bir de küçük bir tavsiye olarak, dosyaya verileri yazarken
Kitap adı: Sefiller
Yazar: Victor Hugo
Sayfa Sayısı: 300 şeklinde yazıyorsunuz
Şayet bu verileri tekrar programınıza almak istiyorsanız örneğin silmek için okuyup karşılaştırmanız gerekiyorsa bu veriyi işlemede sorun yaşayabilirsiniz onun yerine
Victor Hugo
Sefiller
300
Suç Ve Ceza
Fyodor Dostoyevski
400
şeklinde yazabilirsiniz, siz zaten dosyaya nasıl yazdığınızı biliyorsunuz okumak da sıkıntı olmayacaktır, daha iyi bir yöntem olarak da
Victor Hugo ; Sefiller ; 300
Suç ve Ceza ; Fyodor Dostoyevski ; 400
şeklinde dosyaya yazıp, okuma kodunuzda bunu uygun düzenleme yapabilirsiniz bu daha anlaşılır ve kolay işlenebilir bir çözüm sunacaktır diye düşünüyorum