|
PureBasic Мощный кросс-платформенный язык среднего уровня на основе BASIC. Подходит для решения широкого круга задач. |
23.07.2007, 13:16
|
#1
|
Нуждающийся
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений (для 53 пользователей)
|
Редактор
Как можно быстро подсвечивать синтаксис в текстовом редакторе.Я использовал такой подход:Сначала выделяю слово, а затем изменяю его цвет с помоцью процедур
Procedure EditorGadgetLocate(Gadget,x,y,length) ; Set cursor position
REG = GadgetID(Gadget)
CharIdx = SendMessage_(REG,#EM_LINEINDEX,y-1,0)
LLength = SendMessage_(REG,#EM_LINELENGTH,CharIdx,0)
If LLength >= x-1
CharIdx + x-1
EndIf
Range.CHARRANGE
Range\cpMin = CharIdx
Range\cpMax = CharIdx+length
SendMessage_(REG,#EM_EXSETSEL,0,Range)
EndProcedure
Procedure EditorGadgetColor(Gadget, Color.l)
format.CHARFORMAT
format\cbSize = SizeOf(CHARFORMAT)
format\dwMask = #CFM_COLOR
format\crTextColor = Color
SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, format)
EndProcedure
Этот способ работает, но есть несколько недостатков.Во первых, скорость подсвечивания низкая.Во вторых, текст начинает дрожать по горизонтали, если длина строки превышает ширину редактора.Может кто знает, как правильно подсвечивать синтаксис, ведь как-то это сделали в редакторе PB.
|
(Offline)
|
|
23.07.2007, 16:26
|
#2
|
|
Re: Редактор
Может кто знает, как правильно подсвечивать синтаксис, ведь как-то это сделали в редакторе PB.
|
Там, вообще-то, Scintilla используется. Стандартный RTE не предназначен для подобных задач.
|
|
|
23.07.2007, 21:49
|
#3
|
|
Re: Редактор
|
|
|
26.10.2007, 23:48
|
#4
|
Нуждающийся
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений (для 53 пользователей)
|
Re: Редактор
А где можно найти простой пример подсветки синтаксиса на этой Scintilla? (имеится в виду ДЛЛка Scintilla.dll из пурика).
С самой ДЛЛкой разобрался, даже сделал простой текстовый редактор на её основе.
|
(Offline)
|
|
28.10.2007, 11:05
|
#5
|
|
Re: Редактор
Единственное, что могу посоветовать: глянь исходники JaPBe.
|
|
|
28.10.2007, 16:05
|
#6
|
Нуждающийся
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений (для 53 пользователей)
|
Re: Редактор
Да смотрел я на них уже, от туда использовал файл "Scintilla.pbi" для своего редактора, но дальше дело не продвинулось.
Там слишком много файлов, запутался я в них.
|
(Offline)
|
|
02.11.2007, 11:01
|
#7
|
|
Re: Редактор
Сообщение от Пётр
Да смотрел я на них уже, от туда использовал файл "Scintilla.pbi" для своего редактора, но дальше дело не продвинулось.
Там слишком много файлов, запутался я в них.
|
Ну, попробуй спросить у автора.
|
|
|
23.11.2007, 15:27
|
#8
|
Нуждающийся
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений (для 53 пользователей)
|
Re: Редактор
|
(Offline)
|
|
23.11.2007, 15:30
|
#9
|
|
Re: Редактор
Последовал моему совету или сам дошел) ?
|
|
|
23.11.2007, 16:48
|
#10
|
Нуждающийся
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений (для 53 пользователей)
|
Re: Редактор
Нашёл один пример, немного подумал и понял как это делается.
|
(Offline)
|
|
10.01.2008, 15:54
|
#11
|
AnyKey`щик
Регистрация: 16.10.2007
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Редактор
"Лучше своё писать, чем другое ковырять" - если время и знания есть... Опыт то на дороге не валяеться...
|
(Offline)
|
|
10.02.2008, 14:15
|
#12
|
Нуждающийся
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений (для 53 пользователей)
|
Ответ: Редактор
"Лучше своё писать, чем другое ковырять" - если время и знания есть... Опыт то на дороге не валяеться
|
Согласитесь какой смысл писать сам редактор с нуля т. е. изобретать велостипед если есть неплохой готовый редактор в виде Dll-ки. Scintilla.dll . Кстати именно он используется в качестве редактора для пурика.
Я уже почти закончил прогу на его основе, получилось очень даже прилично, по крайней мере аналогов с русским интерфейсом нет.
|
(Offline)
|
|
03.02.2009, 06:24
|
#13
|
Оператор ЭВМ
Регистрация: 06.11.2008
Сообщений: 26
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Редактор
Скажите пожайлуста, на ПуреБейсике ява-игры можно делать?
|
(Offline)
|
|
03.02.2009, 13:15
|
#14
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Ответ: Редактор
Сообщение от gost6681
Скажите пожайлуста, на ПуреБейсике ява-игры можно делать?
|
О боже, в перлы. Нет, нельзя.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Зд редактор |
Тарас Шевченко |
Blitz3D |
22 |
16.01.2007 00:28 |
Часовой пояс GMT +4, время: 01:19.
|