Показать сообщение отдельно
Старый 07.09.2007, 04:17   #1
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Непонятки с чтением строк из файла

У меня не получается корректно отлавливать конец файла при чтении строк. В инструкции к MD сказано, что если конец файла достигнут, то оператор ReadLine возвращает пустую строку. Вот примерно как я делаю:

 
res := OpenResource(fname);
if ResourceAvailable(res) then
begin
repeat
      line := ReadLine(res);
      if line='' then break;   // Отлавливаем конец файла
 
                               // Тут что-то делаем со строками
 
until (FALSE);
end;
CloseResource(res);
Но данный код не работает. При чтении программа зависает.
Приходится в файл вконце писать признак конца файла, например символ # и строку выхода заменить на if line = '#' then break; тогда всё замечательно работает. Я тут не пойму это глюк MD или я что-то не так делаю. Просветите меня как правильно определять конец файла.
(Offline)
 
Ответить с цитированием