![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
![]() |
![]() |
![]() |
![]() |
#22 |
Пользователь
Регистрация: 14.02.2017
Сообщений: 16
|
![]() |
![]() |
![]() |
![]() |
#23 |
Пользователь
Регистрация: 14.02.2017
Сообщений: 16
|
![]()
Попробовал запрограммировалть первую задачу на PureBasic. Оказалось, что функция слежения за изменением буфера обмена не только отсутствует в PB, но из Windows API её непосредственно не вызовешь. Код приводить не буду, достаточно будет сказать, что он весьма напоминает С, представляет из себя прграммирование на низком уровне и занимает некоторое количество строк. Может быть, моя задача случайно попала на слабое место PB, не знаю. Но для данной конкретной задачи он не подходит. К сожалению.
Попытаюсь сделать на нескольких языках: Python, C#, F#, Hiasm. Кстати, последний справился с выводом буфера обмена элементарно. |
![]() |
![]() |
![]() |
#24 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
F# вряд ли будет простым если нет опыта в функциональном программировании )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#25 |
Пользователь
Регистрация: 14.02.2017
Сообщений: 16
|
![]()
Опыта нет. Поизучаю. По ходу дела мне стало меньше жаль потраченного времени, стало интересно, на каком языке такая задача решается проще. Тут собственно три задачи. Первая -- показывать актуальное содержимое буфера обмена. Вторая -- обрабатывать содержимое буфера обмена, то есть работа со строками. Третья -- интерфейс.
Последний раз редактировалось mawotimug; 22.02.2017 в 22:17. Причина: дополнение |
![]() |
![]() |
![]() |
#26 |
Пользователь
Регистрация: 14.02.2017
Сообщений: 16
|
![]()
Закончил программу на Hiasm и стало очевидно, что сравнение языков программирования (или, точнее, способов проектирования ПО) для решения данной задачи за явным преимуществом выиграет Hiasm. Привожу схему:
![]() Всё исключительно просто, чуть посложнее только функция "Перенос" из-за того, что нужно проверять, есть ли в конце дефис, и если есть, то удалять его: ![]() А так выглядит интерфейс: ![]() Последний раз редактировалось mawotimug; 23.02.2017 в 10:02. Причина: изменение: интерфейс |
![]() |
![]() |
![]() |
#27 | |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#28 | |
Пользователь
Регистрация: 14.02.2017
Сообщений: 16
|
![]() Цитата:
Проблема с буфером обмена. Хотя... можно написать так же, как я сделал на Autoit: проверять в цикле, изменилось ли содержимое буфера. За 10 минут у меня точно не получится -- рука не набита. Но Вы меня вдохновили. Сейчас попробую сделать. |
|
![]() |
![]() |
![]() |
#29 |
Пользователь
Регистрация: 14.02.2017
Сообщений: 16
|
![]()
Получилось так:
Код:
|
![]() |
![]() |
![]() |
#30 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
![]()
У вас номер окна Пурика, а надо его HWND, это WindowID
Код:
Вот так правильно следить за изменениями буфера обмена (без проверок в цикле!) Код:
Последний раз редактировалось kvitaliy; 23.02.2017 в 17:23. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Язык программирования С++. "Оконное приложение «Калькулятор»" | emin1993 | Помощь студентам | 2 | 14.04.2012 23:35 |