|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2008, 17:27 | #1 |
Регистрация: 18.04.2008
Сообщений: 3
|
Редактирование текста в Delphi
Помогите пожалуйста с парой вопросов.
1) Дан текст в RichEdit. Нужно привести его строки к заданной ширине: если строки длиннее - сделать перенос "лишнего", если короче - дополнить пробелами между слов. 2) В этой же задаче нужно сделать отступ текста (на заданное кол-во символов) начинающегося с новых строк (абзац). |
18.04.2008, 18:05 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Качайте исходник:
http://delphi.mtu-net.ru/zip/bywidthpr.zip |
18.04.2008, 19:37 | #3 |
Регистрация: 18.04.2008
Сообщений: 3
|
404 так сказать... =\ Пусто там.
Но все равно спасибо, по названию файла нашел Однако вопрос с абзацем там не раскрыт. Помогите плз. Даже не знаю с какой стороны к этому подойти. Подскажите еще 1 раз. Распотрошил я вышеупомянутый исходник, на его основе написал код для Memo. Но возникла проблема очень неприятного свойства. Дело в том, что если подряд набраны две строчки текста, по 80 (к примеру) символов каждая, то это совсем не значит, что у них будет равная длина, т.к. ширина букв разная... Можно как-то определить в memo, какова ширина строки в пикслях? Последний раз редактировалось Stilet; 21.04.2008 в 13:14. |
21.04.2008, 13:11 | #4 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Попробуйте так:
procedure TForm1.FormCreate(Sender: TObject); var a,b:real; begin // выравнивание по ширине a:=72/form1.RichEdit1.Font.PixelsPerInch; b:=1/a; with form1.RichEdit1.Paragraph do begin form1.RichEdit1.Paragraph.FirstInde nt:=round(20*b);//число отступа красной строки в пикселях form1.RichEdit1.Paragraph.LeftInden t:=round((10*b)-FirstIndent); //отступ слева в пикселях form1.RichEdit1.Paragraph.RightInde nt:=round(30*b);//отступ справа в писселях end; end; где числа 20 10 30 любые в разумных пределах Последний раз редактировалось SERG1980; 21.04.2008 в 13:26. |
22.04.2008, 02:44 | #5 |
Регистрация: 18.04.2008
Сообщений: 3
|
Как заставить RichEdit использовать моноширинный шрифт (если есть вообще такое свойство)?
И как использовать сторонний шрифт в RichEdit, которого нет в папке с виндой, но который есть в папке программы? Последний раз редактировалось Edo; 22.04.2008 в 02:50. |
22.04.2008, 08:18 | #6 | ||
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Цитата:
Код:
Цитата:
Код:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
редактирование текста в блокноте. | Kio | Помощь студентам | 16 | 21.07.2008 17:02 |
задачка на техническое редактирование текста | Милено4ка | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 14.04.2008 09:17 |
Редактирование текста. Нужна помощь! | quf | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 12.04.2008 08:53 |
Редактирование Excel книг через Delphi? | DA-corp. | БД в Delphi | 3 | 01.03.2008 09:50 |
Delphi Редактирование текстового файла | Starscream | Общие вопросы Delphi | 11 | 18.02.2008 17:15 |