Wrrrrr, dobra teraz widzę: przeczytałem pytanie Bru2sa jako "co 10 bajt", a nie "np 10 bajt"; i do takiego pytania napisałem BARDZO SENSOWNY kod. Ale w takim razie powinno być:
TFileStream *file = new TFileStream("e:\\ds.doc", fmOpenRead);
file->Position = 10;
...i odczytać przez file->Read(...
Można też użyć Seek - wyjdzie na to samo, ale Position jest jakby bardziej czytelne.
Z Position moze byc problem. Position powinno byc uzywane praktycznie tylko do odczytu pozycji. Strumien w pamieci przechowuje jedynie fragment pliku. Jezeli uzyjemy Seek, to do bufora strumienia zostanie zaladowany odpowiedni fragment pliku od wskazanej pozycji. Jezeli natomiast uzyjemy Position wskazujac na fragment, ktorego nie ma jeszcze w buforze, to mozemy miec blad (chociaz pewnie implementacja Position jest na tyle bystra, ze sama doladuje brakujacy fragment). Inna sprawa, jezeli position przestawi wskaznij juz w biezacym buforze. Jezeli ustawi np. na koniec bufora, to przy probie odczytu zaistnieje koniecznosc wczytania fragmentu pliku, co wiaze sie z opoznieniami. Stosujac Seek w wolnej chwili, mozna zwiekszyc odrobine wydajnosc.
Oczywiscie tutaj od razu po Seek/Position mamy Read, wiec nie ma to wiekszego znaczenia, ale chcialem zaznaczyc, ze to, czy cos jest bardziej czytelne czy mniej zalezy od czytajacego i kierowac sie nalezy predzej wydajnoscia (oczywiscie w jakims zastosowaniu lepsze byloby Position).
//no to Kuba okazał się moim prawnikiem (lawyer) :) - o to właśnie mi chodziło - m.M