Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/40: Рейтинг темы: голосов - 40, средняя оценка - 4.95
 Аватар для arch-vile
3215 / 774 / 26
Регистрация: 12.07.2009
Сообщений: 3,184

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

24.05.2010, 23:18. Показов 7430. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2010, 23:18
Ответы с готовыми решениями:

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

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

Ошибка времени выполнения: Файл не открыт на запись
Помогите пожалуйста найти ошибку Ошибка времени выполнения: Файл не открыт на запись program vvv; type mas=array of integer; ...

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

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
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
25.05.2010, 15:39
Да, Read() для типизированных. А почему попросил весь код, потому как такое построение процедур, весьма неудобно и нелогично, открывать на чтение/запись и закрывать файлы по окончанию нужных действий желательно внутри процедур.
1
 Аватар для arch-vile
3215 / 774 / 26
Регистрация: 12.07.2009
Сообщений: 3,184
25.05.2010, 15:47  [ТС]
Inadequate, это тока кусок процедуры... Я просто когда описываю процедуру сразу проверяю ее на наличие ошибок, чтоб потом голова не кипела...

Добавлено через 3 минуты
Да и к тому же, здесь мне в файл ничего записывать не надо, т.е. его в данном случае можно не закрывать...
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
25.05.2010, 16:00
arch-vile, текстовый файл необходимо закрывать после прочтения, т.к. потом ты его не сможешь прочитать вновь. Для текстовых файлов нет процедуры подобной Seek(), поэтому вернуться в начало без закрытия/открытия не получится.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2010, 16:00
Помогаю со студенческими работами здесь

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

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

Ошибка времени выполнения: Файл не открыт
Ув. пользователи, помогите советом, как мне доделать программу? Написал, запустил и ошибка. program t1; var a,b,sum:real; s1,s2:...

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru