sanırım SEEK_SET bu işi görüyor.. burada offseti verilen byte kadar ileriye taşıyarak işlemlerin ordan başlaması sağlanıyor burada ben 2 demişim yani 2 byte sonra offseti başlatıyor 0 ve 1. bytları atlamış oluyor.. (Erdem hocam daha önce verdiğiniz sitede bunu net anlatmış tekrar teşekkürler)
import std.exception;
import std.stdio;
import std.string;
void main(string[] args)
{
ushort[] id;
id.length = 1;
auto dosya = File("FALCON4.ct", "rb");
dosya.seek(2, SEEK_SET);
auto satır = dosya.rawRead(id);
writeln("Okuduğum satır.. ", satır);
readln();
}
Burada bizim ana programa etkisi şu olabilir; şu an itibariyle benim dosyada aslında 3956 kayıt var(her kayıt 81 bye uzunluğunda) 2 byte da başta bu numarayı tutan kayıtla beraber 3958 bu durumda diyelimki 6.kayıdı okuturken tüm dosyaları okutmadan direk olarak dosya.seek((6*81 +2 ), SEEK_SET); yaparak o kayıttaki 81 byte okutursam çok kısa sürede istediğim kayda ulaşmış olucam ..
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]