|
Вопрос # 6 157/ вопрос решён / |
|
Здравствуйте!
Пожалуйста помогите,при запуске проэкта вылезает ошибка I/O 103,когда запускаю запросы-фамилии отличников,как ее исправить.(смотрите прикрепленный файл)
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, Петинов Александр Николаевич!
Не закрывайте файл пока его используете, если бы прошлись пошагово, сами бы увидели.
reset(f);
Stringgrid2.RowCount:=2;
i:=1;
while not eof(f) do begin
read(f,p);
m:=5;
if (p.Mat=m) and (p.Rus=m) and (p.Fiz=m) and (p.Xim=m) and (p.Info=m) then begin
with stringgrid2 do begin
Cells[0,i]:=p.FS;
Cells[1,i]:=p.NG;
Cells[2,i]:=inttostr(p.Mat);
Cells[3,i]:=inttostr(p.Rus);
Cells[4,i]:=inttostr(p.Fiz);
Cells[5,i]:=inttostr(p.Xim);
Cells[6,i]:=inttostr(p.Info);
rowcount:=rowcount+1;
end;
i:=i+1;
end;
// closefile(f);было здесь
end;
closefile(f);//должно быть здесь
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 25 мая 2012, 11:33
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 25 мая 2012, 11:26; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 25 мая 2012, 11:24 [#1]:
103 - это Попытка операции ввода/вывода над закрытым файлом.
Скачал я твой проект, посмотрел. Вывод - переписать без использования AssignFile(), Reset(), CloseFile() и проч.
Либо не использовать глобальную переменную f, ибо чревато.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
DNK (статус: Студент), 25 мая 2012, 11:26 [#2]:
У меня дежавю.
"Digital Networked Knight"
|
27 мая 2012, 14:07: Статус вопроса изменён на решённый (изменил автор вопроса — Петинов Александр Николаевич)
20 июня 2012, 21:15: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с файловой системой модератором Ерёмин А.А.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|