Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.064 c
3-1116841266
Ck
2005-05-23 13:41
2005.06.29
Как прибавить текст


14-1117204178
Сатир
2005-05-27 18:29
2005.06.29
У кого есть фотка команды Microsoft 78-го года ?


1-1117802947
smesh
2005-06-03 16:49
2005.06.29
Полная поддержка Юникод


1-1118271217
Rico
2005-06-09 02:53
2005.06.29
Исключения


10-1094755922
Комбинатор
2004-09-09 22:52
2005.06.29
Что такое corba и с чем её едят?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский