Вниз
Скачать: CL | DM;

SelAttributes - где что находится ???   Найти похожие ветки 

← →
Serge ©   (2004-01-27 09:46) [0]

Доброго всем утра! Написал вчерась такой вот код (навороченый ужасно Ж:) ) :

Var I: integer;
s: String;
Begin
StartBoldPos := 0;
s := "";
For I := 1 To Length(Editor.Text) Do
Begin
Editor.SelStart := i; Editor.SelLength := 0;
If (StartBoldPos = 0) And (fsBold In Editor.SelAttributes.Style) Then
Begin
StartBoldPos := i;
s := s + " ";
Memo1.Lines.Add(IntToStr(i) + " " + Editor.Text[i]);
End;
If (StartBoldPos <> 0) And (Not (fsBold In Editor.SelAttributes.Style)) Then
Begin
StartBoldPos := 0;
EndBoldPos := i;
s := s + "
";
End;
s := s + Editor.Text[i];
End;
memo1.Text := s;


Предназначение сего - из строки RichEdit-a
Провероч ный те кст получить как-бы "View Source" - [B]Про[/B]вероч[B]ный[/B] те[B]кс[/B]т.
Меня терзают смутные сомнения что я очень криво это реализовал. Если кто может помочь советом, поделится опытом - прошу Вас.
Заранее спасибо!


← →
Serge ©   (2004-01-27 09:49) [1]

Накладочка с тэгами

Var I: integer;
s: String;
Begin
StartBoldPos := 0;
s := "";
For I := 1 To Length(Editor.Text) Do
Begin
Editor.SelStart := i; Editor.SelLength := 0;
If (StartBoldPos = 0) And (fsBold In Editor.SelAttributes.Style) Then
Begin
StartBoldPos := i;
s := s + "[b]";
Memo1.Lines.Add(IntToStr(i) + " " + Editor.Text[i]);
End;
If (StartBoldPos <> 0) And (Not (fsBold In Editor.SelAttributes.Style)) Then
Begin
StartBoldPos := 0;
EndBoldPos := i;
s := s + "[/b]";
End;
s := s + Editor.Text[i];
End;
memo1.Text := s;


← →
TUser ©   (2004-01-27 10:23) [2]

Вроде вполне нормально. Только я бы еще использовал beginUpdate и endUpdate.


← →
Serge ©   (2004-01-27 10:40) [3]

Работает то вроде нормально - а интересно "не по-символьное" решение есть ?


← →
Erik ©   (2004-01-27 11:21) [4]

SaveToStream неподойдет?


← →
Serge ©   (2004-01-27 11:21) [5]

Спасибо за ответ.
Вопрос отпал вроде-бы. Я вспомнил про SynEdit - есть у них компонента экспорта в HTML - покопаюсь там.

Удачи всем!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
1-16461
ИМХО
2004-01-28 02:33
2004.02.06
Удаление файла в Корзину


7-16766
han-bratan
2003-11-17 11:32
2004.02.06
Список задач по Alt+Tab


1-16358
MadGhost
2004-01-24 23:12
2004.02.06
Научите работать с потоками нормально или ссылку дайте?


14-16730
Думкин
2004-01-16 06:11
2004.02.06
С днем рождения! 16 января.


4-16811
hfa
2003-11-28 17:52
2004.02.06
как открыть Iexplorer в новом окне и вставить ссылку в нее?




   Наверх