Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 6

В текстовый файл записать переданную в параметре строку

14.09.2013, 16:54. Показов 2257. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требования к программе:
1. Открыть текстовый файл.
2. В том случае, если в переданном параметре содержится слово «ERROR», то завершить работу программы с кодом 1, в противном случае в текстовый файл записать переданную в параметре строку.
3. Завершить работу программы с кодом 0.

Программа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program X;
Uses Crt;
Var T:file of string;
S:string;
F:integer;
Begin;
S:=ParamStr(1);
Assign(T,S);
Reset(T);
If pos('error', S)>0 then F:=1 else
Begin
F:=0;
Rewrite(T);
While not eof(T) do write (T,S);
end;
Close(T);
Halt(F);
End.
У меня всегда 0 выдаёт...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2013, 16:54
Ответы с готовыми решениями:

Упорядочить строку по возрастанию, записать в новый текстовый файл новую строку цифр
Создать текстовый файл,который имеет в себе строку цифр.Упорядочить строку по возрастанию,записать в новый текстовый файл новую строку цифр.

Записать строку в текстовый файл
Здравствуйте. Нужна помощь с реализацией части программы. Нужно вводить строки в консоль, и в конце сохранить эти строки в .txt. Нужно...

Записать строку в текстовый файл
Парни, подскажите, в чем проблема: uses crt; var f:text; s:string; i,k:byte; begin clrscr; ...

10
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
14.09.2013, 21:18
1)Если это просто файл ( не с расширением *.txt ), то я не вижу его заполнение ( нет источника данных ). Отсюда ваша ошибка.
2) если же это текстовый файл, то опять же его надо сделать наверное, или в программе ввести. Ну а потом построчно циклом проверять на наличие данного слова.

И зачем этот

Rewrite(T); ? Вам точно надо весь файл очищать, а потом одну строку вставлять ? или же просто оставить без изменений ?
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
14.09.2013, 21:24
Цитата Сообщение от Leshak Посмотреть сообщение
Ну а потом построчно циклом проверять на наличие данного слова.
А это еще зачем? В задании ничего не сказано об этом. Сказано только проверить в ParamStr (и никто не уточнял, в первом или во втором, проверить лучше всё, что было передано), есть ли слово "error", и если нет - то в файл записать этот самый параметр... Не надо ничего в файле проверять.
1
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 6
14.09.2013, 23:20  [ТС]
Короче, суть в том, что я в командной строке должен прописать путь к проге, т.е. к exe файлу и если я далее напишу в нём Error прога должна сработать и командная строка должна вывести мне 0, если напишу чего-нибудь другое то командная строка должна вывести 1.
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
15.09.2013, 07:53
Цитата Сообщение от Алексей_isuct Посмотреть сообщение
если напишу чего-нибудь другое то командная строка должна вывести 1
по коду совсем наоборот, да и halt стоит на writeln заменить
Цитата Сообщение от Алексей_isuct Посмотреть сообщение
Rewrite(T);
While not eof(T) do
разве пустой файл не в eof?
1
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 6
15.09.2013, 09:26  [ТС]
Halt точно не надо менять, это завершение операциии errorlevel в командном файле... На счёт 0 и 1, я просто запутался, вчера ужасно спать хотел... Если мы вводим в командной строке error, то паскаль должен завершить свою работу с кодом 1, если напишем чего-нибудь другое, то вот это другое нужно записать в тестовом файле и завершить работу с кодом 0.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
15.09.2013, 13:20
Похоже, что ты спать до сих пор хочешь
Цитата Сообщение от Алексей_isuct Посмотреть сообщение
то паскаль должен завершить свою работу с кодом 1
Это и есть Halt(1), если что... Не веришь? Запусти:

Pascal
1
2
3
begin
   Halt(1);
end.
прямо из IDE... Сообщение Program "путь_к_файлу" exited with exitcode = 1 получил? Вот это и значит, что работа программы завершилась с кодом 1... Иначе этого не сделаешь. Так что ты окончательно реши, что же тебе все-таки нужно, и потом уже будем смотреть, что не получается...
1
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 6
15.09.2013, 14:48  [ТС]
Вот моё полное задание:
Требования к пакетному файлу:
1. Вывести информацию об авторе (ФИО, Курс/Группа, Номер компьютера).
2. Проверить наличие файла с произвольным именем.
3. Проверить наличие исполняемого файла с произвольным именем.
4. В случае отсутствия одного из файлов, выдать соответствующее сообщение и завершить выполнение командного файла.
5. Запустить на исполнение файл приложения, с параметром, в котором указаны данные автора.
6. По завершении работы программы проанализировать системную переменную ERRORLEVEL:
• вывести код завершения приложения;
• в зависимости от кода вывести некоторое сообщение.
7. Завершить работу пакетного файла.


Требования к программе:
1. Открыть текстовый файл.
2. В том случае, если в переданном параметре содержится слово «ERROR», то завершить работу программы с кодом 1, в противном случае в текстовый файл записать переданную в параметре строку.
3. Завершить работу программы с кодом 0.

Создадим текстовый файл file.txt
Создадим командный файл «Alex.bat».

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
echo Kozhevnikov Alexey Yrievich, 4/36, 5-04
echo Comand file
pause
if exist file.txt (echo fail naiden) else (echo file ne naiden) & pause & exit
pause
if exist X.exe (echo programma naidena) else (echo programma ne naidena) & pause & exit
pause
X.exe file.txt
if errorlevel 0 Goto yes!
if errorlevel 1 Goto no!
:yes!
Echo %errorlevel%
Goto F
:no!
Echo %errorlevel%
Goto F
:F
pause
Echo programma zavershena
exit
Путь: С:\laba2\Alex.bat (или error или flghw)
exe файл - это и есть программа на паскале

Программа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program X;
Uses Crt;
Var T:file of string;
S:string;
F:integer;
Begin
S:=ParamStr(1);
Assign(T,S);
Reset(T);
If pos(S,’error’)>0 then F:=1 else
или
If S='ERROR' then F:=1 else
Begin
F:=0;
Rewrite(T);
While not eof(T) do write (T,S);
end;
Close(T);
Halt(F);
End.
ВРОДЕ ВСЁ УСЛОВИЕ Я НАПИСАЛ, а на счёт паскаля я и так и эдак пробовал, ну вот не хочет и всё(((((((
Вложения
Тип файла: rar WinRAR archive.rar (67.5 Кб, 10 просмотров)
0
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 6
16.09.2013, 00:01  [ТС]
Всё, настроил... Проверьте пожалуйста условие S:=S

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program X;
Uses crt;
Var T:text;
S:string;
F:integer;
Begin
S:=ParamStr(1);
Assign(T,S);
Reset(T);
If S='ERROR' then F:=1 else;
Begin
F:=0;
Rewrite(T);
S:=S;
WriteLn(T,S);
readln(S);
end;
Close(T);
Halt(F);
Readln;
end.
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
16.09.2013, 00:10
Цитата Сообщение от Алексей_isuct Посмотреть сообщение
else;
пустой оператор, т.е. все последующее всегда выполнится, ";" убрать надо
S:=S; и readln(S); странноваты
1
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 6
16.09.2013, 09:24  [ТС]
а так вообще она не работает(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2013, 09:24
Помогаю со студенческими работами здесь

Записать строку в текстовый файл
Как занести строку в текстовый файл? Как вытащить данные из текстового файла?

Имеется текстовый файл. Удалить из него третью строку. Результат записать в другой файл
Имеется текстовый файл. Удалить из него третью строку. Результат записать в другой файл.

Записать заданную строку в текстовый файл
Записать в текстовый файл значение: Андреев 1948 15 апреля Московская 12 81

Надо записать в текстовый файл log.txt строку
Добрый день! Делаю на простом аспе. У меня на локале все работает, на серваке не все. Т.е. Надо записать в текстовый файл...

Как строку-результат записать в текстовый файл (jscript)
Подскажите, пожалуйста, как результат работы программы (строка) записать в jscript в нужный мне текстовый файл? Буду благодарна за ответ!...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru