IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Расстановка переносов, Как расставить переносы в текстовом файле с фиксированной длиной строк
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской
Реальное имя: Денис

Репутация: -  0  +


Имеется текстовый файл (файловая переменная объявлена, как TEXT). Длина строки фиксирована - 50 или 70 символов. Используется графический режим. Необходимо расставить переносы в этом текстовом файле. blink.gif Вот и всё. Пожалуйста, помогите.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Не до конца ясно, что находится в текстовом файле. Текст, уже разбитый на строки фиксированной длины? Тогда зачем переносы? Текст, разбитый на строки произвольной длины? Есть ли в нем уже какие-либо переносы? И могут ли они там быть? На каком языке текст (если это вообще текст на человеческом языке)? Нужно ли делать выравнивание текста по обоим краям? Есть ли в тексте абзацы, и как они выделены? Какую роль во всем этом играет графический режим?
Общие идеи могут быть следующие:
Пишем функцию, позволяющую считывать текст из файла по словам, игнорируя разбиение на строки и убирая избыточные пробелы.
Потом читаем очередное слово из файла и смотрим, можно ли его прибавить к строке вывода, или уже нужно переносить? Если можно прибавить, прибавляем. Если уже нельзя, смотрим, можно ли его разорвать на две части.
Если можно, прибавляем к строке вывода первую половинку слова и знак переноса, и пишем строку вывода в выходной файл, после чего инициализируем строку вывода второй половинкой.
Если слово разорвать нельзя, тогда пишем накопленную ранее строку вывода в файл и инициализируем ее непоместившимся словом.
И так, пока не прочитаем весь файл.
Если нужно выравнивать по краям, то перед записью строки вывода в файл проверяем ее длину и при необходимости раздвигаем слова.
Задача-то не такая уж тривиальная, если делать ее грамотно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 145
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Попользуйся поиском по форуму. мне когда-то пришлось писать нечто подобное. Тут на форуме должно быть.

Вот кстати, может пригодится.
Расстановка переносов


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 28.06.2017 2:01
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"