unalex, все правила подсветки предусмотреть наверное нельзя. В твоём случае возможно подойдёт эта схема.
code_14707.txt
Заранее могу предвидеть замечание что заглавние буквы в тексте песни буду тоже подсвечены, но для создания соответствующего правил необходимо изменить условия задачи. К примеру к ABCDEFGH добавить сивол ^ или ', в тексте песни такого сочетания явно не будет.
Этот топик читают: Гость
Ответов: 1304
Рейтинг: 405
|
|||
карма: 3 |
| ||
файлы: 1 | code_14707.txt [7.3KB] [365] |
Ответов: 899
Рейтинг: 43
|
|||
MAV, Я тоже так думаю, что единственно возможный вариант - обрамлять аккорды спецсимволами, типа
-Am- - такое сочетание в тексте не встретится хотя хотелось бы вовсе без спецсимволов, ведь есть же признак - в конце каждого аккорда обязательно будет либо пробел либо знак табуляции либо перевод каретки, но наверно такой возможности в компоненте нет |
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
unalex писал(а): в конце каждого аккорда обязательно будет либо пробел либо знак табуляции либо перевод кареткиГы, а самому попробовать не вариант, используя группы, вот только перевод каретки и табуляцию применять не стоит, самое лучшее -- пробел
или первый вариант
Как видно, прекрасно все работает, надо только не бояться ставить эксперимент |
|||
карма: 22 |
|
Ответов: 54
Рейтинг: 2
|
|||
Незнаю баг, либо так и должно быть:
Когда подается текст (любой длинны) на точку doAdd, при значении свойства ReadOnly в True, то строка не вставляется А мне нужно вставлять строки в этот компонент, с ReadOnly = True, как быть doText не предлагать, в рамках поставленной задачи сия точка не уместна P.S. - версия HiAsm 4.03 b180 --------------------------------------------- UPD: Пока решил сию проблему так: Строки сначала вставляются в StrList, потом уже автоматически при изменении строк в StrList, весь список подается на doText компонента HiLightMemo, в принципе устаривает такой расклад, но хотелось бы без лишних компонентов, как я написал чуть выше. Вопрос о о наличии "бага" остается открытым... Еще один нюанс: автопрокрутка вертикального скролла работает или как Или надо переводить каретку в конец новой строки чтобы скролл автоматом вставал вниз Странно както, надеюсь на разъеснение |
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
220v писал(а): А мне нужно вставлять строки в этот компонент, с ReadOnly = True, как бытьОчень просто: Подаем 0 на точку doReadOnly, включается режим редактирования, подаем на точку doAdd нужную строку, затем подаем 1 на точку doReadOnly, включая запрет редактирования. Иначе -- никак. ------------ Дoбавленo в 23.08: Как-то вот так, должно работать
|
|||
карма: 22 |
|
Ответов: 54
Рейтинг: 2
|
|||
nesco писал(а): Очень просто: Подаем 0 на точку doReadOnly, включается режим редактирования, подаем на точку doAdd нужную строку, затем подаем 1 на точку doReadOnly, включая запрет редактирования. Иначе -- никак.Спасибо за совет, сделал, работает. nesco писал(а): Как-то вот так, должно работатьСпасибо за код, но я почти также реализовал. И еще: 220v писал(а): Еще один нюанс: автопрокрутка вертикального скролла работает или как Или надо переводить каретку в конец новой строки чтобы скролл автоматом вставал вниз Странно както, надеюсь на разъеснение |
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
220v писал(а): Вопрос о о наличии "бага" остается открытым...Это не баг, в режиме чтения нельзя ничего изменять, а doAdd -- изменение. Это не Memo, Кладов посчитал, что в режиме редактирования нельзя ничего никуда записывать, и в этом месте я алгоритм не менял, и полностью согласен с Кладовым. |
|||
карма: 22 |
|
Ответов: 54
Рейтинг: 2
|
|||
nesco писал(а): Это не баг, в режиме чтения нельзя ничего изменять, а doAdd -- изменение. Это не Memo, Кладов посчитал, что в режиме редактирования нельзя ничего никуда записывать, и в этом месте я алгоритм не менял, и полностью согласен с Кладовым.Ясно. Я так и подумал, поэтому написал слово баг в ковычках Вопрос 2: 220v писал(а): Еще один нюанс: автопрокрутка вертикального скролла работает или как? Или надо переводить каретку в конец новой строки чтобы скролл автоматом вставал вниз Странно както, надеюсь на разъеснениеВопрос 3: Как сделать перевод строки в большом тексте? Символы 10/13 и что-то тихо курят в сторонке... Либо подавать надо текст сначала через StrList к примеру? |
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
220v писал(а): И еще:doEnsureVisible в данном компоненте не предусмотрен, но реализуется он довольно просто
220v писал(а): Как сделать перевод строки в большом тексте?Не понял, можно пример, что конкретно надо |
|||
карма: 22 |
|
Ответов: 54
Рейтинг: 2
|
|||
220v писал(а): doEnsureVisible в данном компоненте не предусмотрен, но реализуется он довольно простоАга, спасибо, были мысли тоже в этом направлении пока ждал ответа nesco писал(а): Не понял, можно пример, что конкретно надоВобщем есть текст на несколько строк, тоесть не в 1 строку, а в столбик, вот его когда подаешь на doAdd, то он вставляется не столбиком, а в одну строку... Если этот текст подавать через doText, то он вставляется как надо. Если не понятно - могу кинуть схемку для демонстрации. |
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
220v писал(а): Ага, спасибо, были мысли тоже в этом направлении пока ждал ответа Добавлено на SVN, чтобы не мучались 220v писал(а): Если не понятно - могу кинуть схемку для демонстрацииВот это я и прошу |
|||
карма: 22 |
| ||
Голосовали: | 220v |
Ответов: 54
Рейтинг: 2
|
|||
карма: 0 |
| ||
файлы: 1 | code_14730.txt [595B] [349] |
Ответов: 1328
Рейтинг: 69
|
|||
карма: 2 |
| ||
файлы: 1 | code_14735.txt [653B] [441] |
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Konst, он хочет, что бы обычный текст автоматом разбивался на строки внутри компонента при добавлении одной строкой по doAdd. А нафига тогда точка doText, ни че не понимаю
|
|||
карма: 22 |
|
Ответов: 54
Рейтинг: 2
|
|||
Konst писал(а): 220v, так пойдет?
code_14735.txt Да, пойдет, спасибо, но я сделал по другому. Читай ниже. nesco писал(а): что бы обычный текст автоматом разбивался на строки внутри компонента при добавлении одной строкой по doAdd.Да. nesco писал(а): А нафига тогда точка doText, ни че не понимаюЯ уже отвечал: 220v писал(а): doText не предлагать, в рамках поставленной задачи сия точка не уместна220v писал(а): Пока решил сию проблему так:
Строки сначала вставляются в StrList, потом уже автоматически при изменении строк в StrList, весь список подается на doText компонента HiLightMemo, в принципе устраривает такой расклад, но хотелось бы без лишних компонентов .... Если уж нельзя напрямую внутри компонента, то ладно... Просто мне было интересно спросить у автора сего компонента про эту особенность |
|||
карма: 0 |
|