Запись текста в файл, чтение текста из файла, перепись текста из одного файла в другой файл - 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), выводится сообщение об ошибке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д