Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выравнивание, Justify 
:(
    Опции темы
Гость_welt
Дата 27.5.2005, 16:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











народ помогите реализовать алгоритм выравнивания текста по правому краю. Ширина 80 символов. Что-то типа того, что в Ворде. Знаю, что можно использовать Richedit и стандартное свойство alignment, но не хочу им пользоваться, хочу сам разработать. Мой алгоритм добавляю нужное количество пробелов до 80 символов. Ну а перед этим выбрасываю ненужные пробелы вконце строки.
  Вверх
Snowy
Дата 27.5.2005, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата
народ помогите реализовать алгоритм выравнивания текста по правому краю.

Выровнять где? В файле, в контроле? На рисунке? В переменной? В консоли?
Раздел: "Звук, графика и видео".
Поясни что ты хочешь - не понятно.
PM MAIL   Вверх
Гость_welt
Дата 27.5.2005, 22:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ну по поводу рисунка, я сомневаюсь конечно.
ну например есть исходный файл.. а программа создасть второй файл, где будет выровнено по правому краю......
ну или можно сделать видимым образом... в richedit, загрузив туда исходный текстовый файл или в чем-то подобном, короче, чтобы было наглядно сразу:
нажимаешь на кнопочку, например, и текст выравнивается........
  Вверх
Snowy
Дата 30.5.2005, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Выравнивание в ричедит и текстовом файле будут совершенно разными.
В ричедит текст просто помечается, как имеющий атрибут выравнивания,
а в текстовом файле просто добивается нужное количество пробелов.
Чтобы правильно задать вопрос, подумай, что именно ты хочешь получить в результате.
P.S. Как я понял, твой вопрос не имеет никакого отношения ни к графике, ни к мультимедиа...
PM MAIL   Вверх
Quadr0
Дата 30.5.2005, 12:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 1.7.2011, 12:19
  Вверх
Snowy
Дата 30.5.2005, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Quadr0 @ 30.5.2005, 12:25)
Текст в обычном текстовом файле НЕЛЬЗЯ выравнять!

Ну отчего же. В DOS времена все документы только так и делались.
До сих пор полно людей, которые текст равняют пробелами.
Многие текстовые редакторы так делали, а некоторые делают и сейчас.
К примеру TheBat ровняет текст по умолчанию по поль 72 символа.

Цитата(Quadr0 @ 30.5.2005, 12:25)
Ну каким образом можно поставить аттрибут alRightJustify обычному тексту

Никак. Никто и не пытается этого делать.

Цитата(Quadr0 @ 30.5.2005, 12:25)
когда количество пробелов справа БЕСКОНЕЧНО

Если это документ, то к нему применяются определенные правила оформления,
которые подразумевают в том числе и условные границы.

Цитата(Quadr0 @ 30.5.2005, 12:25)
добавляется тэг, сообщающий ворду

А при чем здесь ворд? Насколько мне известно, он не имеет никакого отношения к RTF, кроме того, что он может читать и сохранять в этом формате.


PM MAIL   Вверх
Rouse_
Дата 30.5.2005, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 5
Всего: 29



Думаю, что стоит взгянуть вот здесь: http://www.delphikingdom.com/mastering/hypper.htm

Цитата
Краткое описание :

Для переноса слов программа не использует словарь, а анализирует каждое слово с точки зрения правил русского языка. Правила эти достаточно сложны, поэтому иногда программа выбирает не самое изящное, хотя и не неправильное решение. Прежде всего это касается тех слов, в которых три или более согласных идут подряд. Программа может вставить перенос между любыми из них, хотя есть дополнительные правила, которые при этом игнорируются.
Например, то, что приставка должна оставаться целой. Слишком муторно было бы заставлять компьютер учить все приставки. Да ещё и объяснять, что, например, в слове "президент" "пре" - это не приставка, а в слове "предлог" приставка не "пре", а "пред". Тогда уж лучше и в самом деле словарь. Впрочем, демонстрационная программа и есть демонстрационная программа, кто захочет, посмотрит, поймёт основные принципы и сделает лучше.



--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
~FoX~
Дата 30.5.2005, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Rouse_
ИМХО как то не втему.

В голову приходит только взять длинну экрана (80 символов), отнять длинну слова и дополнить нужным количеством пробеллов.
Только в каком нить контроле это не прокатит, точнее его длинна должна соответствовать длинне 80 символов, а в мастдае с этим очень напряжно. Т.к. шрифт может быть совершенно непонятного размера.

Тока я не могу понять нафига это надо.......Чем рич не устраивает?


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Quadr0
Дата 30.5.2005, 13:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 14.7.2011, 20:58
  Вверх
Rouse_
Дата 30.5.2005, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 5
Всего: 29



Цитата
ИМХО как то не втему.

Что значит не в тему? Данный пример производит выравнивание текста по ширине формы и плюс к этому показывает принцип переноса слов по слогам. ИМХО как раз в нее самую ;)


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
~FoX~
Дата 30.5.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Цитата(Quadr0 @ 30.5.2005, 14:34)
Font.Pitch := fpFixed. Это заставит точный размер для каждой буквы. В нормальных текстовых редакторах (не в блокноте ) допускаются только шрифты с буквами одинаковой длинны.

Я имею ввиду, что ширина контрола сильно зависит от установленного системного шрифта, и при неблагоприятных условиях может вылизать за рамки экрана.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0511 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.