Страницы

Поиск по вопросам

четверг, 9 января 2020 г.

Ошибка I\O error 103 (Delphi XE3)

#delphi #io


Почему выскакивает ошибка при обработке файла: I\O error 103 ?

var
  fall, f1: TextFile;
  S: string;
begin
    AssignFile(fall, OpenDialog1.FileName);
    reset(fall);

    if CheckBox1.Checked then
    begin
        AssignFile(f1, 'Organization.txt');
        rewrite(f1);
    end;

    //работаем по строкам в файле
    while not Eof(fall) do
    begin
        //читаем строку
        ReadLn(fall, S);
        if CheckBox1.Checked and (Pos(AnsiLowerCase(Edit1.Text), AnsiLowerCase(s))
> 0) then
            writeln(f1, S);
    end;

    CloseFile(fall);
    CloseFile(f1); // <<-- Ошибка выскакивает тут
end;

    


Ответы

Ответ 1



if CheckBox1.Checked then CloseFile(f1);

Ответ 2



Ошибка, с большой долей вероятности, случается потому, что файлы вы открываете на чтение/запись по условию, а вот закрываете файл затем уже в любом случае. Скорее всего, одно из условий: if CheckBox1.Checked then if CheckBox2.Checked then if CheckBox3.Checked then у вас не выполняется, но при этом CloseFile вы делаете для всех файлов без условий. Исправьте это, введя те же самые условия и для CloseFile.

Комментариев нет:

Отправить комментарий