Форум: "KOL";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизStringVar + RichEdit.Selection+ StringVar2 Найти похожие ветки
← →
Solo (2004-11-22 09:26) [0]Добрый день!
Имеем RichEdit.
Выделяем в нем слово, или фразу, или абзац, нажимаем на кнопку - выделение должно замениться на то же самое, только с левой и с правой стороны добавляются теги (допустим, html-редактор). Привожу простейший код:procedure TForm1.acTagExecute(Sender: PObj);
var Old_s, // старая строка (заменяемая)
New_s, // будущая строка (заменяющая)
otk_tag, zak_tag : String; // Открывающий и закрывающий теги
begin
// Жирный шрифт (к примеру)
otk_tag := ""; //Это будет открывающий
zak_tag := ""; //А это - закрывающий
Old_s := RichEdit1.Selection; //Инициализируем старую строку
New_s := otk_tag + Old_s + zak_tag; // откр+выделение+закр
RichEdit1.ReplaceSelection(New_s, true);//вставляем новую строку
end;
В результате выделение заменяется на "Открывающий тег"Само выделение - И... ВСЕ! Закрывающий тег не вставляется. Вернее, он вообще не прибавляется, и New_s у нас вместо ожидаемого otk_tag + Old_s + zak_tag равно otk_tag + Old_s + фигу с маслом.
RichEdit1.Selection имеет тип "String", значит, ни с каким чаром - пчаром заморочек тут нет. Если присваивать переменной Old_s какую нибудь строку от руки (Old_s := "Какая-нить строка"), тогда все нормально...
Может, тип KolRichEdit.Selection имеет тип String, но другой какой нибудь, не совсем стринговый :)?
← →
Solo (2004-11-22 09:32) [1]Добавление: Черт, про теги я не подумал, что в хтмл-е они не отобразяться...
Но вы, думаю, поняли, что там должно быть. В принципе, разницы нет. Открывающая строка и закрывающая могут быть любыми. Главное, что закрывающая слетает...
← →
Андрей © (2004-11-22 12:30) [2]Похоже, RichEdit1.Selection заканчивается #0, а RichEdit1.ReplaceSelection(New_s, true) вставляет только до #0.
Попробуй проверять последний символ Old_S на #0 и отрезать его, если так.
← →
Solo © (2004-11-23 09:57) [3]Спасибо, Андрей, Вы были правы. Селекшн - точно, нуль-терминальный... Все получилось! Какая досада...
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c