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

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

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

> Расстановка переносов, Как расставить переносы в текстовом файле с фиксированной длиной строк
unnamed_499
сообщение 19.04.2006 15:47
Сообщение #1





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

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


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


Бывалый
***

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

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


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


Пионер
**

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

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


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

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


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

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

 



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