Split text in TRichEdit

10 отговора 100 прегледа
#1

Split text in TRichEdit

Здравейте, следния проблем ме мъчи от седмици:
имам 2 стринга и искам да ги разположа в 2-та края (Left, Right) на компонентата TRichEdit (или TRxRichEdit), но незнам как.
Ако някой каже ще му бъда много благодарен

Отговор
в отговор на DayDio #2

Re: Split text in TRichEdit

На един ред ли? Ако са две думи е лесно (justified), но за низове, ще трябва да ползваш таблица, а таблиците с Rich-формата са кофти работа ...

Mixy
Отговор
в отговор на Mixy #3

Re: Split text in TRichEdit

Само като идея - ти си знаеш шрифта на ричедита. Опитай да добавяш интервали между двата стринга, докато ширината на текста не достигне до желаната от тебе (имаш функция TextWidth). Това само при условие, че ричедита има фиксирани размери. Иначе става неприятно.

Отговор
в отговор на andrew_nikoloff #4

re

String-овете могат да бъдат до 10 реда

Само това ли са начините?

Отговор
в отговор на DayDio #5

Re: re

Най-забавния вариант е с таблица, както казаха по-горе. Разбира се, нужен е малко тарикатлък.
1) Правиш един RTF със предварително известни два низа, сложени в таблица и съответно ляво и дясно подравнени
2) Кода на RTF-а се взима в програмата, заменят се двата низа с тези които ти трябват и кода отново се подава

чети и дишай по-леко
Отговор
в отговор на DayDio #6

Re: Split text in TRichEdit

Не става.
Може да се зададе дясна табулация, във Word е ОК, във Wordpad и RichEdit1 не работи (Win 2K).
Във файла (посл 4 реда от поста) '123' (трябва да) е вляво, а '456' вдясно.
Друг проблемът е, че табулацията (\tx1440) се задава в 1/1440 от инча.


RichEdit1.Lines.LoadFromFile('doc1.rtf');

{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033
{\fonttbl{\f0\froman\fprq2\fcharset204
{\*\fname Times New Roman;}Times New Roman CYR;}}
\viewkind4\uc1\pard\tqr\tx1440\f0\fs24 123\tab 456\par}


Отговор
в отговор на Йopдaн #7

Re: Split text in TRichEdit

Докато пиша, излезли и други мнения.
И с таблица май не става, защото дясното подравняване не се разпознава във Wordpad и RichEdit.

Отговор
в отговор на Йopдaн #8

Re: Split text in TRichEdit

Разпознава си се екстра, но таблиците не се поддържат напълно и има проблеми с вмъкването и изобразяването на препокриващи се редове и колони, margins, paddings, colors и т.н. То, ако таблиците вървяха безпроблемно, кой ще им купува Word-a на M$ ...

А питащия, ако може да мине на HTML/XML или нешо подобно, може би ще стане по-лесно.

Mixy
Отговор
в отговор на Mixy #9

Re: Split text in TRichEdit

Текста трябва да е в rtf формат

Отговор
в отговор на DayDio #10

Re: Split text in TRichEdit

Защо не разположиш два RichEdit един до друг, в левия слагаш единия стринг Alignment=taLeftJustify, а в десния Alignment=taRightJustify. Даже ако зададеш BorderStyle=None, няма да разбереш къде е границата между тях (Разбира се ако не пречи на нещо друго).

Отговор
в отговор на TRN #11

Re: Split text in TRichEdit

Тея 2 стринга са част от текст и ако го направя по този начин ще стане много по сложно

Отговор