Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
arch-vile
3213 / 771 / 25
Регистрация: 12.07.2009
Сообщений: 3,184
1

Ошибка, файл не открыт для ввода

24.05.2010, 23:18. Просмотров 3214. Ответов 7
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Procedure InpData(Var Group:Groups; Var N:TGroup);
Var
   I:Integer;
   FF,GG,PP,NN,RR:Text;
Begin
   ClrScr;
   Assign(FF,'FFF.TXT');
   Assign(GG,'GGG.TXT');
   Assign(PP,'PPP.TXT');
   Assign(NN,'NNN.TXT');
   Assign(RR,'RRR.TXT');
 
   Reset(FF);
   Reset(GG);
   Reset(PP);
   Reset(NN);
   Reset(RR);
 
   Read(NN, N);
 
   I := 0;
   While Not EoF(FF) Do {на этой строке выскакивает ошибка №104 (файл не открыт для входа)}
   Begin
     Read(FF, Group[I].Familiya);
     WriteLn(Group[I].Familiya);
     Inc(I);
   End;
   ReadLn;
End;
Файлы связал с переменными (находятся в той же папке где и программа, вроде открыл reset'ом)... Подскажите пожалуйста, в чем проблема (за невнимательность прошу сильно не бить)?..
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 23:18
Ответы с готовыми решениями:

Ошибка 104 (файл не открыт для ввода)
что делать с этой ошибкой? вот сама прога: var s:string; a,b,c,d:char; f1,f2:text; i:integer;...

Файлы (файл не открыт для ввода)
Почему выдаёт такую ошибку: ошибка ввода/вывода 104 uses crt; var f:text; b:string; begin...

Ошибка времени выполнения: Файл не открыт на запись
Помогите пожалуйста найти ошибку Ошибка времени выполнения: Файл не открыт на запись program...

Файл не открыт для записи
Шото я не доганяю....Пишет что файл не открыт для записи...:O_O: Program Naselenie; uses crt;...

Ошибка времени выполнения: файл не открыт
Помогите, пожалуйста, программа выдает ошибку: Ошибка времени выполнения: файл не открыт Задание...

7
Mиxaил
535 / 440 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
25.05.2010, 00:39 2
чтобы открыть для ввода, необходимо закрыть файл, если он был предварительно открыт
для чтения...
открыть для ввода:
Pascal
1
rewrite({файловая переменная});
написать в файл после открытия для ввода:
Pascal
1
write({файловая переменная},{что писать});
1
arch-vile
3213 / 771 / 25
Регистрация: 12.07.2009
Сообщений: 3,184
25.05.2010, 02:24  [ТС] 3
Цитата Сообщение от Mиxaил Посмотреть сообщение
чтобы открыть для ввода, необходимо закрыть файл, если он был предварительно открыт
для чтения...
Но мне то просто нужно считать из файла данные... А реврайт очистит файл...
0
Inadequate
Retired
7713 / 2545 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
25.05.2010, 02:33 4
arch-vile, покажи полный код.
0
25.05.2010, 02:33
arch-vile
3213 / 771 / 25
Регистрация: 12.07.2009
Сообщений: 3,184
25.05.2010, 15:20  [ТС] 5
Прога большая, там куча процедур, от которых первая процедура никак не зависит...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program Stud;
Uses
    Crt;
Type
    Studenti = Record
      Familiya:String[40];
      Rost:Byte;
      Gorod:String[40];
      Pol:String[1];
    End;
 
    TGroup = 1..20;
    Groups = Array [TGroup] Of Studenti;
 
Var
   MyGroup:Groups;
   MyGirls:Groups;
   MyBoys:Groups;
   MyN,MyNG,MyNB:TGroup;
Раздел описания переменных прилагаю... В принципе я сделал по другому, но без проверки на окончание файла...

Добавлено через 3 минуты
Pascal
1
2
3
4
5
6
7
I := 0;
   While Not EoF(FF) Do {на этой строке выскакивает ошибка №104 (файл не открыт для входа)}
   Begin
     ReadLn(FF, Group[I].Familiya);
     WriteLn(Group[I].Familiya);
     Inc(I);
   End;
Заменил read на readln, программа заработала...

Добавлено через 16 минут
Получается процедуру Read можно использовать только для типизированных файлов в этом случае?..
0
Inadequate
Retired
7713 / 2545 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
25.05.2010, 15:39 6
Да, Read() для типизированных. А почему попросил весь код, потому как такое построение процедур, весьма неудобно и нелогично, открывать на чтение/запись и закрывать файлы по окончанию нужных действий желательно внутри процедур.
1
arch-vile
3213 / 771 / 25
Регистрация: 12.07.2009
Сообщений: 3,184
25.05.2010, 15:47  [ТС] 7
Inadequate, это тока кусок процедуры... Я просто когда описываю процедуру сразу проверяю ее на наличие ошибок, чтоб потом голова не кипела...

Добавлено через 3 минуты
Да и к тому же, здесь мне в файл ничего записывать не надо, т.е. его в данном случае можно не закрывать...
0
Inadequate
Retired
7713 / 2545 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
25.05.2010, 16:00 8
arch-vile, текстовый файл необходимо закрывать после прочтения, т.к. потом ты его не сможешь прочитать вновь. Для текстовых файлов нет процедуры подобной Seek(), поэтому вернуться в начало без закрытия/открытия не получится.
1
25.05.2010, 16:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2010, 16:00

Ошибка времени выполнения: Файл не открыт
Ув. пользователи, помогите советом, как мне доделать программу? Написал, запустил и ошибка....

PABCSystem.pas(4774) : Ошибка времени выполнения: Файл не открыт на запись
Число, которое одинаково читается слева направо и наоборот, называется палиндромом, напр., 3773....

Ошибка времени выполнения: "Файл не открыт"
Задание: Требуется распечатать исходный файл, а также все результирующие файлы. Составить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru