Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > PureBasic

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
Chrono Syndrome
 
Сообщений: n/a
Re: Редактор

Может кто знает, как правильно подсвечивать синтаксис, ведь как-то это сделали в редакторе PB.
Там, вообще-то, Scintilla используется. Стандартный RTE не предназначен для подобных задач.
 
Ответить с цитированием
Старый 23.07.2007, 21:49   #3
Chrono Syndrome
 
Сообщений: n/a
Re: Редактор

http://www.scintilla.org/
 
Ответить с цитированием
Старый 26.10.2007, 23:48   #4
Пётр
Нуждающийся
 
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений
(для 53 пользователей)
Re: Редактор

А где можно найти простой пример подсветки синтаксиса на этой Scintilla? (имеится в виду ДЛЛка Scintilla.dll из пурика).

С самой ДЛЛкой разобрался, даже сделал простой текстовый редактор на её основе.
(Offline)
 
Ответить с цитированием
Старый 28.10.2007, 11:05   #5
Chrono Syndrome
 
Сообщений: n/a
Re: Редактор

Единственное, что могу посоветовать: глянь исходники JaPBe.
 
Ответить с цитированием
Старый 28.10.2007, 16:05   #6
Пётр
Нуждающийся
 
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений
(для 53 пользователей)
Re: Редактор

Да смотрел я на них уже, от туда использовал файл "Scintilla.pbi" для своего редактора, но дальше дело не продвинулось.
Там слишком много файлов, запутался я в них.
(Offline)
 
Ответить с цитированием
Старый 02.11.2007, 11:01   #7
Chrono Syndrome
 
Сообщений: n/a
Re: Редактор

Сообщение от Пётр
Да смотрел я на них уже, от туда использовал файл "Scintilla.pbi" для своего редактора, но дальше дело не продвинулось.
Там слишком много файлов, запутался я в них.
Ну, попробуй спросить у автора.
 
Ответить с цитированием
Старый 23.11.2007, 15:27   #8
Пётр
Нуждающийся
 
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений
(для 53 пользователей)
Re: Редактор

Примеры можно найти здесь: http://pbasic.spb.ru/phpBB2/viewtopic.php?t=236
(Offline)
 
Ответить с цитированием
Старый 23.11.2007, 15:30   #9
Chrono Syndrome
 
Сообщений: n/a
Re: Редактор

Последовал моему совету или сам дошел) ?
 
Ответить с цитированием
Старый 23.11.2007, 16:48   #10
Пётр
Нуждающийся
 
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений
(для 53 пользователей)
Re: Редактор

Нашёл один пример, немного подумал и понял как это делается.
(Offline)
 
Ответить с цитированием
Старый 10.01.2008, 15:54   #11
rodego
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
gost6681
Оператор ЭВМ
 
Регистрация: 06.11.2008
Сообщений: 26
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Редактор

Скажите пожайлуста, на ПуреБейсике ява-игры можно делать?
(Offline)
 
Ответить с цитированием
Старый 03.02.2009, 13:15   #14
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: Редактор

Сообщение от gost6681 Посмотреть сообщение
Скажите пожайлуста, на ПуреБейсике ява-игры можно делать?
О боже, в перлы. Нет, нельзя.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зд редактор Тарас Шевченко Blitz3D 22 16.01.2007 00:28


Часовой пояс GMT +4, время: 03:00.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com