Запись текста в файл, чтение текста из файла, перепись текста из одного файла в другой файл - Free Pascal
Формулировка задачи:
Составить программу, в которой
организованы следующие действия:
- запись текста в файл, чтение текста из
- файла, перепись текста из одного файла
- в другой файл.
Решение задачи: «Запись текста в файл, чтение текста из файла, перепись текста из одного файла в другой файл»
textual
Листинг программы
const f1n: string = 'f:\files\cost\free\file1.txt'; f2n: string = 'f:\files\cost\free\file2.txt'; eCreate: string = '*** Ошибка: не удалось создать файл '; eOpen: string = '*** Ошибка: не удалось открыть файл '; var q: char; s: string; f1, f2: text; procedure WriteF; begin {$I-} Rewrite(f1); if IOResult <> 0 then begin WriteLn(eCreate, f1n); exit; end; {$I+} WriteLn('Введите текст. Завершение ввода - пустая строка.'); repeat ReadLn(s); if s='' then Break; WriteLn(f1, s); until false; Close(f1); end; procedure ShowF; begin {$I-} Reset(f1); if IOResult <> 0 then begin WriteLn(eOpen, f1n); exit; end; {$I+} WriteLn('Содержимое файла ', f1n); while not EOF(f1) do begin ReadLn(f1, s); WriteLn(s); end; Close(f1); end; procedure CopyF; begin {$I-} Reset(f1); if IOResult <> 0 then begin WriteLn(eOpen, f1n); exit; end; Rewrite(f2); if IOResult <> 0 then begin WriteLn(eCreate, f2n); Close(f1); exit; end; {$I+} while not EOF(f1) do begin ReadLn(f1, s); WriteLn(f2, s); end; Close(f1); Close(f2); end; begin Assign(f1, f1n); Assign(f2, f2n); repeat WriteLn; WriteLn('1 - Запись файла'); WriteLn('2 - Показ файла'); WriteLn('3 - Копирование файла'); WriteLn('0 - Выход'); Write('Ваш выбор: '); ReadLn(q); case q of '0': ; '1': WriteF; '2': ShowF; '3': CopyF; else WriteLn('*** Ошибка: неправильный выбор.'); end; until q='0'; end.
Объяснение кода листинга программы
- Задача программы - управление файлами в папке
cost
на дискеfree
. - Введенный текст записывается в файл
file1.txt
и сразу же читается из него. - Если при записи или чтении файла возникает ошибка, выводится сообщение об ошибке и программа завершается.
- Если введенный текст пуст, цикл чтения и записи прерывается.
- При показе содержимого файла
file1.txt
оно выводится построчно. - При копировании содержимого файла
file1.txt
в файлfile2.txt
возможна ошибка, при которой программа прекращает работу. - Цикл выбора действий продолжается до тех пор, пока пользователь не введет
0
. - Введенные пользователем действия выбираются с помощью оператора case.
- Если введенное действие не соответствует ни одному из ожидаемых (1, 2, 3), выводится сообщение об ошибке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д