![]() |
|
Модераторы: Vitalik |
![]()
|
|
| PalR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2005 Репутация: нет Всего: нет |
В SunEdit имеется текст в котором через некоторое количество строк встречаются строки, которые начинаются двойным слешем "//". Нужно программно выделить текст между этими строками. Строки все разной длинны, но не более 70 символов. RightEdge = 80. Не получается. Вот мой код, но работает он не правильно. Где то ошибка. Выделяется то лишнее, то не дотягивает.
|
|||
|
||||
| Vitalik |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
PalR, твоя ошибка в том, что ты не прибавляешь к SelLength еще символы переноса строки #13#10
А также не учёл тот факт, что свойство CaretY указывает номер линии начиная с 1, а в свойстве Lines нумерация строк с 0 То есть в твоём случае нужно было написать так:
Это если курсор стоит в начале строки. Если же он находится в середине, то нужно дополнительно вычесть из SelLength значение CaretX:
А вообще можно написать еще проще, используя BlockBegin и BlockEnd:
P.S. Только не SunEdit, а SynEdit |
||||||
|
|||||||
| PalR |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2005 Репутация: нет Всего: нет |
О как.
У меня обзывается по другому, поэтому правил при вставке в форум. Ну и обшибся. Вобщем сделал. Сенкс. |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |