Было несколько раз, когда переделывал команды обработки. Но только сейчас в голову пришло, что достаточно дополнить каждое чтение коррекцией eot, не трогая остального.
## Код:
```
rd.Read; rd.eot := rd.eot OR (end < rd.Pos())
```
