![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Caries |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: ![]() ![]() ![]() |
Стоит следующая задача: дан внешний текстовый файл, нужно взять из него текст и записать в новый файл, причем разбив его типа как в ворде, 25 строк на странице и 80 символов строке.
1.Проблема - как реализовать , чтобы считывалось из текстовго файла по 80 символов и записывалось в массив и далее следующие 80 символов. 2. Нужно ставить символ | чтобы в итоге получилась рамка. Как реализовать чтобы в конце каждой строки скажем после 80 символа ставился такой символ. спасибо. |
![]() ![]() |
Caries |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Для начала, почему не пользуемся поиском... По-моему, вот эта задача довольно похожая... Разбить текст на строки Похожая но не та... Мне нужно желательно читть из текстового файла по 80 символов скажем в массив. А текстовый файл естественно более 255 смиволов чтобы загнать его в 1 строку и покрамсать по 80 символов в строку... как предложено в примере Открываем Фаронова: "Procedure Read([var F:text] v1 [,v2,...,vn]) считывает одно или более значений из текстового файла в одну или болеее переменых." Значит можно читать с помощбю read и более 1 переменной, но как? или что-то я не так понял. В общем я здесь мучался пока интернета не было накидал что не так? (пока разбиваю по 50 символов в строку) Код program name; const n= 100; var t:text;s:string[50];c:char; m : array[1..n] of string; i:integer; min:string;z:integer;f:integer; mi:string; begin i:=1; 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 readln(t,m[i]); inc(i);inc(z); end; rewrite(t); for i:=1 to z do begin if length(m[i]) < 50 then begin if length (m[i+1]) >50 then begin m[i]:=m[i] + copy( m[i+1], 0, 50-length(m[i]));delete( m[i+1], 0 ,50-length(m[i])); end else m[i]:=m[i]+m[i+1];m[i+1]:=''; end; if length( m[i]) > 50 then begin m[i+1]:= copy(m[i],50,length(m[i])-50);delete(m[i],50,length(m[i])-50);end; end; writeln(t,'----------------------------------------------------'); for i:=1 to z do begin writeln(t,'|',m[i],'|'); if( i mod 25) = 0 then begin writeln(t,'----------------------------------------------------'); writeln(t,z); writeln(t,'----------------------------------------------------'); writeln; writeln;writeln; writeln(t,'----------------------------------------------------'); close(t); end; end; end. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 10:19 |