purebasic.info

PureBasic forum
Текущее время: Вт июл 07, 2020 6:24 am

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




Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Чт май 28, 2020 10:03 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 1025
Благодарил (а): 2 раз.
Поблагодарили: 59 раз.
Пункты репутации: 9
Ну ты даёшь,притензии предьявляешь по коким то блокам,разве мои заморочки в написании кода доожны кого то волновать(кроме ошибок конечно в коде и новых знаний,это приветствуется )я вообще то спешил на работу писав тот пост(время посмотри) и думал что смысл понятен и код встраиваемый(нет нечего особенного),разве только если твой инкдудник не правильно что то компилит,но ты же игноришь мой сдвиг алигн в моих структурах получается(хочишь уневерсальности x86-64) о котором я ранее писал. :roll: я собственно и строю код на нём,так как он работет у меня..


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Пт май 29, 2020 9:35 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 648
Благодарил (а): 45 раз.
Поблагодарили: 81 раз.
Пункты репутации: 2
Сергейчик
Это не претензия это пожелание, код становится публичным после выкладывания и если уважаешь тех кому выкладываешь и тебя это не сильно напрягает, то вполне можно нажать пункт форматирование. Если строки кода идут последовательно то я не против что в нём нет пустых строк, но процедура это не последовательный блок и между процедурами напрашивается пустая строка. Если этого не делает сам автор, то это это приходится делать всем остальным, то есть 1 раз форматировать автору или 5 раз форматировать пользователям - не экономично.

Перед работой у меня у самого бывает желание выложить что-то, чтобы когда я пришёл с работы это уже обсудилось, но я ловил себя на мысли если я выложу недоделанный код, то всё равно никто его не будет доделывать и не будет обсуждения.

Цитата:
но ты же игноришь мой сдвиг алигн
а в чём проблема? я же слежу за тем что добавляю и за всё что я добавил я могу сомневаться в известных местах или быть уверенным, а если я тупо добавлю твой, и у меня не будет работать, мне кого винить свои строки или твои? Вот когда я не получаю желаемого, зная весь свой код включая структуры я начинаю тестировать пошагово и у меня есть предположения, тогда я сравню с твоим. Мне смысла нет добавлять то что не используется в моей программе, а то что добавлено протестировано. Я же сказал что я использовал твой инклуд, если ты его доработал, то выкладывай, а иначе я просто не могу воспользоваться твоим кодом, со старым твоим он не работает.

Если выдержишь ещё критику, у тебя часто переменные названы как у меня в начале изучения программирования bukva_diska (транслитерацией), сейчас я пишу drive_letter, а лучше в комментарии напишу пояснение, чем буду как будто бы понятными словами писать, на самом деле это читается тяжело, а для общего пользования т.е. для иностранца читается как абракадабра.

Обновил ConvKey. Ссылки теперь в 1-ом посте. Добавил игнор пробелов справа, и преобразование строки.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Вс май 31, 2020 10:15 am 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 1025
Благодарил (а): 2 раз.
Поблагодарили: 59 раз.
Пункты репутации: 9
AZJIO
Падения могут быть от того что ранее писал из за инклудника у меня с ним компилилось с процедурами анси а не юникода.цельный плаг в архиве :roll:


Вложения:
Комментарий к файлу: плагин
plagin.zip [65.61 KiB]
Скачиваний: 19
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Вс май 31, 2020 1:58 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 648
Благодарил (а): 45 раз.
Поблагодарили: 81 раз.
Пункты репутации: 2
Сергейчик
Использовал твой DLL в архиве, у меня с него AkelPad упал ещё на стадии запроса имён функций.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Вс май 31, 2020 4:52 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 1025
Благодарил (а): 2 раз.
Поблагодарили: 59 раз.
Пункты репутации: 9
AZJIO писал(а):
Сергейчик
Использовал твой DLL в архиве, у меня с него AkelPad упал ещё на стадии запроса имён функций.

Тогда незнаю кстате я на x32 его компилил.и у меня работает :roll:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Вс май 31, 2020 5:56 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 648
Благодарил (а): 45 раз.
Поблагодарили: 81 раз.
Пункты репутации: 2
Сергейчик писал(а):
Тогда незнаю кстате я на x32 его компилил.и у меня работает :roll:
у меня Win10x64, AkelPad обе версии, но мы обсуждали, что если плаг не той битности он просто игнорируется AkelPad'ом. У тебя просто другой процессор, и структуры выровнены под твой процессор. :lol: Мои же плаги у тебя не падают :lol:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Вс май 31, 2020 6:19 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11705
Благодарил (а): 4 раз.
Поблагодарили: 512 раз.
AZJIO писал(а):
У тебя просто другой процессор, и структуры выровнены под твой процессор.
Все может быть. Из-за особенностей процессора не выровненный доступ к данным может вызывать ошибку сравнимую с "синим экраном". http://purebasic.mybb.ru/viewtopic.php?id=564#p7599

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Вт июн 23, 2020 10:44 am 
Не в сети
профессор

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

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

Обновление
Ru-версия - улучшение захвата, при курсоре на краях слова и на краях строки
Ru-версия - добавлен флаг -1 (временно) для активации поиска на вкладке "Поиск"
Ru-версия - захват слово включая русские буквы [а-яА-ЯёЁ]

Добавил включение окна поиска флагом +10 к базовым флагам. Перевод фокуса на страницу сделал имитацией F6, другими способами не получилось, из-за чего справку надо сворачивать, чтобы следующий вызов сработал на вывод окна Найти.


Экспериментирую с всплывающем меню. Что я делаю не так? У Сергейчик есть код, но он у меня не работает по ранее озвученным причинам. Аналогично есть примеры в сборнике "Codes из winapi_library\Меню Popup", только там это своё окно. Может кто сказать по сокращённому коду что может быть неправильно? У меня не реагируют ни #WM_MENUSELECT ни #WM_COMMAND, и после использования он не выгружает плаг, то есть при копировании нового dll пишет "Повторить?", то есть как будто занят процессом.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Global AkelPad_callback, Count, *g_pd.PLUGINDATA
 
Procedure WNDPROC(hWnd, uMsg, wParam, lParam)
        Protected nID = wParam & $FFFF ; LoWord
        Protected nCode = wParam >> 16 ; HiWord
       
        Select uMsg
;               Case #WM_COMMAND
                Case #WM_MENUSELECT
;                       MessageRequester("", Str(nID))
                        OutputDebugString_(Str(nID))
;                       If Count >= nID
;                               MessageRequester("", Str(nID))
;                       EndIf
        EndSelect
        ProcedureReturn CallWindowProc_(AkelPad_callback, hWnd, uMsg, wParam, lParam)
EndProcedure
 
#Menu = 0
If Count > 0
        If CreatePopupMenu(#Menu)
                For i = 1 To Count
                        MenuItem(i, ItemINI(1, i))
                Next
        EndIf
EndIf
 
AkelPad_callback = SetWindowLongPtr_(*pd\hMainWnd, #GWL_WNDPROC, @WNDPROC())
DisplayPopupMenu(#Menu , *pd\hMainWnd)
SetWindowLongPtr_(*g_pd\hMainWnd, #GWL_WNDPROC, AkelPad_callback)



Заработал #WM_MENUSELECT, но #WM_COMMAND пока не реагирует.
В общем интересует можно ли сделать popup меню без гуи, присоединить к рабочему столу и как то обработать события пунктов меню.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Пн июн 29, 2020 9:58 am 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 648
Благодарил (а): 45 раз.
Поблагодарили: 81 раз.
Пункты репутации: 2
Архив для теста - полный исходник и dll и описание теста.
Не удаётся получить событие и высвободить Help.dll

Если у кого появится желание проверить...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин для AkelPad
СообщениеДобавлено: Пн июн 29, 2020 11:58 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 1025
Благодарил (а): 2 раз.
Поблагодарили: 59 раз.
Пункты репутации: 9
AZJIO
Всплывающее меню на окно можно типа так сделать. :roll:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
Procedure.i popupmenu(hwnd)
  CreatePopupMenu(1);создаём всплывающее меню
   MenuItem(700,"Сброс");создаём тему в зависимости от гаджета на котором мышь
   MenuItem(701,"Очистть Результат")
   MenuItem(702,"Возвести в степень")
  DisplayPopupMenu(1,hwnd);открываем всплывающее меню
  Repeat
   WaitWindowEvent()
    Select EventMenu()  
      Case 700
        Debug 700
        Break
      Case 701
        Debug 701
        Break
      Case 702
        Debug 702
        Break
    EndSelect
   ForEver
 EndProcedure
 
 
  OpenWindow(0, 0, 0, 1200, 500, "Гаджет Дерево Элементов", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break
   Case #PB_Event_RightClick
      popupmenu(WindowID(0))
  EndSelect
ForEver
End
 



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

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


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

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


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

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