![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Caries |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: ![]() ![]() ![]() |
Стоит следующая задача: дан внешний текстовый файл, нужно взять из него текст и записать в новый файл, причем разбив его типа как в ворде, 25 строк на странице и 80 символов строке.
1.Проблема - как реализовать , чтобы считывалось из текстовго файла по 80 символов и записывалось в массив и далее следующие 80 символов. 2. Нужно ставить символ | чтобы в итоге получилась рамка. Как реализовать чтобы в конце каждой строки скажем после 80 символа ставился такой символ. спасибо. |
![]() ![]() |
Caries |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: ![]() ![]() ![]() |
Полностью код проги того что уже сделано(хоть и коряво ;))
Код program name; const n= 100; var t:text;s:string[50]; m : array[1..n] of string; i:integer; min:string;z,d,l:integer;f,c:integer; mi:string;ch:char; begin i:=1;l:=1; m[i]:=''; writeln('Enter filename'); readln(s); assign(t,s); {$I-} reset(t); {$I+} if ioresult<>0 then begin writeln('ERROR!!!! File not found!');readln; end else while(not eof(t))and (i<=n) do begin read(t,ch); if (ch=#13) or (ch=#10) or (length(m[i]) >80) then begin if (length( m[i])<80) or (ch=#10) then begin d:=81-length(m[i]); for f:=1 to d do m[i]:=m[i] + ' '; end; inc(i);m[i]:='';read(t,ch) end else m[i]:=m[i] + ch; end; m[i]:=''; rewrite(t); writeln(t,'------------------------------------------------------------------------------------'); for z:=1 to i do begin writeln(t,'|',m[z],' |');inc(c); if (( z mod 25) = 0) or ( i= z) then begin writeln(t,'------------------------------------------------------------------------------------'); writeln(t,'| Strok in List ',c,'| List ',l);l:=l+1; writeln(t,'------------------------------------------------------------------------------------'); writeln; Все нормально, рамка ровно. но жрет теперь символы ну т.е если строка если больше 80 то он следубщий символ теряет... Кстати а нужно учесть , символ конца файла будет выводиться , его тоже нужно учесть? Цитата Ну я же тебе уже говорил, что произойдет: Я бы разбивал не по 80, а по 78 т.е мне перебить длину на 78? Сообщение отредактировано: Caries - |
![]() ![]() |
![]() |
Текстовая версия | 2.09.2025 19:27 |