purebasic.info

PureBasic forum
Текущее время: Вт мар 31, 2020 2:12 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: автозавершение scintilla
СообщениеДобавлено: Чт фев 23, 2012 3:00 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 71 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
тут делаю редактор. нужна помощь по этому:
Код:
1
ScintillaSendMessage(0, #SCI_AUTOCSHOW,1,0)


Пишет ошибка доступа к памяти - 0. Помогите пожалуйста с последним параметром а то я чтото не пойму.

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 3:13 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Никита Однороб писал(а):
Помогите пожалуйста с последним параметром а то я чтото не пойму
Там должен быть указатель на строку со списком слов, выводимых в окно автозавершения.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 3:19 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 71 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
указатель это что-то типо такого: *metka?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 3:29 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Никита Однороб писал(а):
указатель это что-то типо такого
Читать как получить указатель на переменную. http://www.pure-basic.narod.ru/docs/point.html
Код:
1
ScintillaSendMessage(0, #SCI_AUTOCSHOW,1,@String)


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 3:33 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 71 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
спасибо. Буду дальше делать. Скажите, а можно как в пурике при установке курсора на определенное слово выводить текст на статусбар?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 3:51 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Если имеется в виду Scintilla, то можно.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 4:19 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 71 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
подскажи пожалуйста как это сделать?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 4:28 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Ну как, узнать где сейчас курсор.
Код:
1
ScintillaSendMessage(Gadget,#SCI_GETCURRENTPOS)

Найти строку и символ где курсор.
Код:
1
2
3
   Line=ScintillaSendMessage(Gadget, #SCI_LINEFROMPOSITION,PosCyrsor) ; Строка где сейчас курсор
   LineStartPos=ScintillaSendMessage(Gadget, #SCI_POSITIONFROMLINE,Line) ; Позиция 1-го символа строки
   StringRealPos=(PosCyrsor-LineStartPos)+1 ; Позиция символа в строке

Ну а дальше прочитать эту строку и посмотреть на каком слове находится курсор. Позицию от начала строки мы знаем и не составит труда найти слово в сроке, соответствующее этой позиции.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 23, 2012 6:04 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 71 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
спасибо

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Вт фев 04, 2020 12:13 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт апр 29, 2014 8:26 am
Сообщений: 93
Благодарил (а): 65 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Пётр писал(а):
Ну а дальше прочитать эту строку и посмотреть на каком слове находится курсор. Позицию от начала строки мы знаем и не составит труда найти слово в сроке, соответствующее этой позиции.


Подскажите, а как прочитать нужную строку, например в переменную, для дальнейшего анализа?

_________________
PureBasic 5.70 LTS Windows x64


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: автозавершение scintilla
СообщениеДобавлено: Вт фев 04, 2020 1:12 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINE

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: автозавершение scintilla
СообщениеДобавлено: Вт фев 04, 2020 1:34 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт апр 29, 2014 8:26 am
Сообщений: 93
Благодарил (а): 65 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Спасибо, я пытался понимать документацию scintilla с оф сайта. У меня трудности с пониманием аргументов, например: SCI_GETLINE(line line, char *text) → position

Рассуждаю так, допустим я это вставлю в ScintillaSendMessage(Gadget, #SCI_GETLINE, ?, ?).... Правильно-ли я понимаю, что [line line] - это номер нужной мне строки (начиная с 0), а [char *text] - это заранее выделенный буфер, куда с копируется нужная мне строка? И если это так, то какой размер буфера выделять?

Дело всё в том что только начал изучать scintilla, так-как понадобился редактор-интерпретатор своего кода. Мне-бы только понять принцип ScintillaSendMessage(...) аргументов, а дальше я сам.

_________________
PureBasic 5.70 LTS Windows x64


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: автозавершение scintilla
СообщениеДобавлено: Вт фев 04, 2020 2:16 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Render писал(а):
И если это так, то какой размер буфера выделять?
Там написано
Цитата:
t is up to you to make sure that the buffer is long enough for the text, use SCI_LINELENGTH(line line).


На форуме есть примеры работы с Scintilla.
viewtopic.php?f=5&t=1011
viewtopic.php?f=1&t=4396
viewtopic.php?p=2360#p2360

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: автозавершение scintilla
СообщениеДобавлено: Вт фев 04, 2020 3:28 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 552
Благодарил (а): 37 раз.
Поблагодарили: 75 раз.
Пункты репутации: 2
Render писал(а):
только начал изучать scintilla

может быть будет интересна справка на русском

Код:
1
SCI_GETLINE(line line, char *text) → position


а у меня в переводе: SCI_GETLINE(int line, char *text) → int
неужели обновилась? Хотя смысл не поменялся, не думаю что глубокая переработка, просто термины поменяли, ввели свои типы данных которые указаны в таблице.
Подсказка "line line" первой тип данных, второе данные, "char *text" здесь второй параметр указатель. Длина пишут вызвать SCI_LINELENGTH чтобы получить длину.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: автозавершение scintilla
СообщениеДобавлено: Вт фев 04, 2020 3:54 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт апр 29, 2014 8:26 am
Сообщений: 93
Благодарил (а): 65 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
AZJIO писал(а):
может быть будет интересна справка на русском

Подсказка "line line" первой тип данных, второе данные, "char *text" здесь второй параметр указатель. Длина пишут вызвать SCI_LINELENGTH чтобы получить длину.


О-о! AZJIO, эта информация и справка, как вода в сухую землю! Спасибо!

_________________
PureBasic 5.70 LTS Windows x64


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB