Показать сообщение отдельно
  #2  
Старый 06.04.2018, 04:49
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. У тебя явно ошибка в алгоритме. В случае, если искомая строка НЕ ПОСЛЕДНЯЯ, по выходу из While у тебя будет во флаге false.
2. Сама I/O error скорее всего связана не с первым приведенным кодом, а с Writeln, бо как оно нормально работает только в консольном приложении. Походу, ты пытаешься записать в файл. Ну и пропустил файловую переменную на месте первого параметра. Кстати, и в цикле при чтерии она тоже пропущена.
3. Далее, пути. Если твоя программа в PRogram Files, то скорее всего оно падает на правах записи, т.к. для этого нужны права администратора.
4. Вообще тот цикл должен выглядеть так:
Код:
b := false;
While Not EOF(f) Do
begin
  Readln(f,s);
  b := Login = s;
  if b then Break;
end;
Ответить с цитированием