Сократил простыню до более вменяемой, но оно всё равно глючит. Я конечно понимаю, что в моих глюках ковыряться никому не охота.
За помощь спасибо конечно, но я смотрю, тут всё в пещерном состоянии. Ещё из "приятностей" вскрылось то, что OMSI Pascal не понимает "_" в идентах. Стыдоба.
http://i.piccy_.info/i9/2a23c65b7ecf...20134/OMSI.png
Хобот, ахтунг. Ты работаешь не с бинарными файлами, а с текстовыми. Там где нуль в конце. Ты в танке, Хобот. %) Вылазь уже из танка, что ли?
- - - Добавлено - - -Код:CONST
BufLast = 511;
TYPE
BYTE = 0..255;
BLOCK = 0..BufLast;
BigBuf = ARRAY [BLOCK] OF BYTE;
VAR
ImgFile : FILE OF BigBuf;
EofImgFile : BOOLEAN;
BufR : BigBuf;
IdxR, LimR : BLOCK;
PROCEDURE ReadSector;
BEGIN
BufR := ImgFile^;
GET(ImgFile);
IdxR := 0;
LimR := BufR[BufLast];
IF LimR = 0 THEN EofImgFile := TRUE;
END {ReadSector};
PROCEDURE ReadByte (VAR x: BYTE);
BEGIN
IF EofImgFile THEN x := 0
ELSE BEGIN
x := BufR[IdxR];
IdxR := IdxR + 1;
IF IdxR = LimR THEN
IF LimR = BufLast
THEN ReadSector
ELSE EofImgFile :=TRUE;
END;
END {ReadByte};
PROCEDURE StartRead;
BEGIN
EofImgFile := FALSE;
ReadSector;
END {StartRead};
VAR size: INTEGER; ch: BYTE;
BEGIN
Reset(ImgFile, 'Dur6.BMP', '', size);
StartRead;
WHILE NOT EofImgFile DO BEGIN
ReadByte(ch);
Write(CHR(ch));
END;
Close(ImgFile); write('File closed!');
А чо - надо было описать как FILE OF 0..255 ? Нету же байтового типа. Я даже не уверен, что 0..255 будет храниться не в INTEGER.

