Записать сведения в файл - PascalABC.NET
Формулировка задачи:
дан символьный файл f,содержащий сведения о сотрудниках учреждения,записанные по следующему образцу:фамилия_имя_отчество,фамилия_имя_отчество...записать эти сведения в файле g,используя образцы:
а)имя_отчество_фамилия,имя_фамилия_отчество...;
б)фамилия_и.о,фамилия_и.о.,...
спасибо заранее!
Решение задачи: «Записать сведения в файл»
textual
Листинг программы
begin
var AllText := ReadAllText('сотры.текст');
var Person := AllText.ToWords(',');
var ResultA : String = '';
var ResultB : String = '';
foreach var P in Person do
begin
if ResultA.Length > 0 then
begin
ResultA += ',';
ResultB += ',';
end;
var N := P.ToWords('_');
if N.Count = 3 then
begin
ResultA += N[1] + '_' + N[2] + '_' + N[0];
ResultB += N[0] + '_' + N[1][1] + '.' + N[2][1] + '.';
end
else
begin
ResultA += P;
ResultB += P;
end;
end;
WriteAllText('сотры.А.текст', ResultA);
WriteAllText('сотры.Б.текст', ResultB);
WriteLn('Готово!');
end.
Объяснение кода листинга программы
- В начале кода считывается текст из файла
сотры.тексти сохраняется в переменную AllText. - Затем текст разбивается на отдельные слова и сохраняется в массив Person.
- Создаются две пустые строки ResultA и ResultB, которые будут использоваться для формирования итоговых текстовых файлов.
- Далее происходит обход каждого слова в массиве Person.
- Если длина строки ResultA больше 0, то к ней добавляется запятая, а также к строке ResultB добавляется запятая.
- Затем слово разбивается на отдельные слова, используя символ подчеркивания в качестве разделителя.
- Если в полученном массиве 3 элемента, то к строке ResultA добавляется второе и третье слово, а также первое слово, разделенные символом подчеркивания.
- К строке ResultB добавляется первое слово, второе слово (без первого символа) и третье слово (без последнего символа), разделенные символом точки.
- Если в массиве меньше 3 элементов, то к строке ResultA и ResultB просто добавляется само слово.
- После обработки всех слов из массива Person, результаты записываются в файлы
сотры.А.текстисотры.Б.текстсоответственно. - В конце выводится сообщение
Готово!.