Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2018, 17:36   #1
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию Как избавиться от ошибки?

Код:
program n_1;
 var m: integer;
 f,g:text;
 begin
 assign(f,'input.txt');
 reset(f);
 read (f,m);
 close(f);
 case m of
 1: write (g) ('spades');
 2: write (g) ('clubs');
 3: write (g) ('diamonds');
 4: write (g) ('hearts')
 end;
 assign (g,'output.txt');
 rewrite(g);
 close (g)
 end.
Program1.pas(10) : Ожидалась функция, встречена процедура Write.

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 03.10.2018 в 17:53.
Настя1303 вне форума Ответить с цитированием
Старый 03.10.2018, 17:40   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Код:
write (g) ('spades');
А что вы ожидали от такой записи?
p51x на форуме Ответить с цитированием
Старый 03.10.2018, 17:58   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ошибка номер раз:
Цитата:
Сообщение от Настя1303 Посмотреть сообщение
Код:
write (g) ('text');
оператор записи в файл выглядит по другому. Ознакомьтесь с уроком - https://www.tutorialspoint.com/pasca...s_handling.htm

Ошибка номер два.
Вы сначала пишете в файл g, а потом его связываете с реальным файлом и открываете на запись.
так нельзя.
нужно.
1) назначить файловой переменной имя файла (см. Assign())
2) открыть файл на запись или создать новый файл для записи
3) только после этого можно писать в файл, используя файловую переменную
4) после окончания процесса записи нужно закрыть файл.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2018, 08:28   #4
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию

Теперь пишет
Program1.pas(7) : Ошибка времени выполнения: Попытка считывания за концом текстового файла.


Код:
program n_1;
 var m: integer;
 f,g:text;
 begin
 assign(f,'input.txt');
 reset(f);
 read (f,m);
 close(f);
 assign (g,'output.txt');
 rewrite(g);
 case m of
 1: write (g, 'spades');
 2: write (g, 'clubs');
 3: write (g,  'diamonds');
 4: write (g, 'hearts')
 end;
 close (g)
 end.
Код нужно оформлять по правилам

Последний раз редактировалось Аватар; 04.10.2018 в 08:40.
Настя1303 вне форума Ответить с цитированием
Старый 04.10.2018, 08:33   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

в Input.txt точно есть число?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 04.10.2018, 08:36   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

а в том файле есть что-то?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.10.2018, 08:40   #7
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию

Да,есть.
Настя1303 вне форума Ответить с цитированием
Старый 04.10.2018, 08:45   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

то тебе кажется ) Или не тот Input.txt смотришь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.10.2018, 08:56   #9
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию

Да, спасибо, было полно папок, с названием паскаль, все удалила, заново установила, всё получилось)
Настя1303 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как избавиться от этой ошибки? Templar() Общие вопросы .NET 1 12.11.2013 03:00
Как избавиться от ошибки #1060 - Duplicate column name 'sesId' GryyMo SQL, базы данных 1 29.04.2012 21:59
Как избавиться от ошибки если поля ввода пусты? kazzz Общие вопросы Delphi 7 22.03.2011 07:31
Как избавиться от ошибки 400 bulldog5293 Работа с сетью в Delphi 6 17.12.2010 09:04
Как избавиться от ошибки faraon1792 Помощь студентам 0 11.05.2010 20:24