Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Peter, DEMBEL  
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » Плагин faSnapShot
Плагин faSnapShot
frolandrДата: Пт, 16 Июня 2023, 10:47 | Сообщение # 1
Участник
Плагин для создания скриншота рабочего стола или его части, а также снимков активных окон программ. Можно сделать снимок только клиентской части приложения, без меню, полос прокруток и пр. Сохраняет снимки в файлы bmp, png и jpg с возможностью выбора качества сохранения. Во время работы скомпилированного проекта плагин проверяет некоторые параметры и выводит сообщения о возможных ошибках в переменную faErrors. Демка прилагается. Об ошибках, недочетах, пожеланиях усовершенствованиях прошу писать здесь на форуме.

Список команд плагина:

Снимки с сохранением в файлы
faScreenShot - Сделать скриншот экрана (рабочего стола) и сохранить его в файл формата BMP, PNG или JPG.
faScreenShotArea - Сделать снимок выбранной области экрана (рабочего стола) и сохранить его в файл формата BMP, PNG или JPG. Отсчёт координат ведется от верхнего левого угла экрана.
faSnapShotWindow - Сделать снимок активного окна программы и сохранить его в файл формата BMP, PNG или JPG.
faSnapShotAreaWindow - Сделать снимок только клиентской области программы (без меню, полос прокрутки и пр.) и сохранить его в файл формата BMP, PNG или JPG.

Снимки и буфер обмена
faClipboardClear - Очистить буфер обмена Clipboard.
faSnapShotToClipboard - Сделать скриншот экрана или снимок активного окна программы и поместить его в буфер обмена Clipboard.
faClipboardToFile - Сохранить снимок сделанный с помощью плагина, другой программы или кнопкой PrintScreen из буфера обмена Clipboard в файл BMP, PNG или JPG.

Панель задач
faTaskbar - Показать / скрыть панель задач. Воспользуйтесь этой командой, если нужно сделать скриншот экрана без панели задач. Не забудьте вернуть панель обратно!

Актуальная версия плагина 1.6 с демкой
Прикрепления: 8993007.png (166.8 Kb)


Сообщение отредактировано
frolandr - Пн, 18 Сентября 2023, 01:35
 
СообщениеПлагин для создания скриншота рабочего стола или его части, а также снимков активных окон программ. Можно сделать снимок только клиентской части приложения, без меню, полос прокруток и пр. Сохраняет снимки в файлы bmp, png и jpg с возможностью выбора качества сохранения. Во время работы скомпилированного проекта плагин проверяет некоторые параметры и выводит сообщения о возможных ошибках в переменную faErrors. Демка прилагается. Об ошибках, недочетах, пожеланиях усовершенствованиях прошу писать здесь на форуме.

Список команд плагина:

Снимки с сохранением в файлы
faScreenShot - Сделать скриншот экрана (рабочего стола) и сохранить его в файл формата BMP, PNG или JPG.
faScreenShotArea - Сделать снимок выбранной области экрана (рабочего стола) и сохранить его в файл формата BMP, PNG или JPG. Отсчёт координат ведется от верхнего левого угла экрана.
faSnapShotWindow - Сделать снимок активного окна программы и сохранить его в файл формата BMP, PNG или JPG.
faSnapShotAreaWindow - Сделать снимок только клиентской области программы (без меню, полос прокрутки и пр.) и сохранить его в файл формата BMP, PNG или JPG.

Снимки и буфер обмена
faClipboardClear - Очистить буфер обмена Clipboard.
faSnapShotToClipboard - Сделать скриншот экрана или снимок активного окна программы и поместить его в буфер обмена Clipboard.
faClipboardToFile - Сохранить снимок сделанный с помощью плагина, другой программы или кнопкой PrintScreen из буфера обмена Clipboard в файл BMP, PNG или JPG.

Панель задач
faTaskbar - Показать / скрыть панель задач. Воспользуйтесь этой командой, если нужно сделать скриншот экрана без панели задач. Не забудьте вернуть панель обратно!

Актуальная версия плагина 1.6 с демкой

Автор - frolandr
Дата добавления - 16 Июня 2023 в 10:47
AS3856Дата: Пн, 19 Июня 2023, 21:16 | Сообщение # 2
Эксперт форума
плагин конечно работает, но неплохо бы дописать формат расширения после выбора имени файла.Это можно сделать программно в теле плагина , а не проверять каждый дописано расширение или нет. Добавить к командам команду выбора прямоугольника для снимка и делать снимок любой области экрана( это несложно) . Добавить дополнительно формат для сохранения *.PNG .
Ну и в качестве опции - можно делать чёрно-белые изображения, добавить возможность добавлять надпись ( например дату или ещё что то) - Тема большая .....
При превышении степени сжатия скриншота сделай максимально возможную степень сжатия и выводи в переменную сообщение. ( при отрицательных значения - соответственно минимальное сжатие и сообщение в переменную) Кстати - имя переменной желательно назначать самому юзеру а не автору плагина.

Добавлено (19 Июня 2023, 21:31)
---------------------------------------------
Если вместо степени сжатия будет что то другое - плаг делает снимок с максимальным сжатием , но в переменную ничего не приходит( ну хоть пусть вякнет что не комильфо идёт какое то)

Добавлено (19 Июня 2023, 21:33)
---------------------------------------------
В форме помощника кода добавить кнопочки выбора переменных. Для совсем малоопытных это помощь.....

Добавлено (19 Июня 2023, 21:33)
---------------------------------------------
и удобство

Сообщение отредактировано
AS3856 - Пн, 19 Июня 2023, 21:24
 
Сообщениеплагин конечно работает, но неплохо бы дописать формат расширения после выбора имени файла.Это можно сделать программно в теле плагина , а не проверять каждый дописано расширение или нет. Добавить к командам команду выбора прямоугольника для снимка и делать снимок любой области экрана( это несложно) . Добавить дополнительно формат для сохранения *.PNG .
Ну и в качестве опции - можно делать чёрно-белые изображения, добавить возможность добавлять надпись ( например дату или ещё что то) - Тема большая .....
При превышении степени сжатия скриншота сделай максимально возможную степень сжатия и выводи в переменную сообщение. ( при отрицательных значения - соответственно минимальное сжатие и сообщение в переменную) Кстати - имя переменной желательно назначать самому юзеру а не автору плагина.

Добавлено (19 Июня 2023, 21:31)
---------------------------------------------
Если вместо степени сжатия будет что то другое - плаг делает снимок с максимальным сжатием , но в переменную ничего не приходит( ну хоть пусть вякнет что не комильфо идёт какое то)

Добавлено (19 Июня 2023, 21:33)
---------------------------------------------
В форме помощника кода добавить кнопочки выбора переменных. Для совсем малоопытных это помощь.....

Добавлено (19 Июня 2023, 21:33)
---------------------------------------------
и удобство


Автор - AS3856
Дата добавления - 19 Июня 2023 в 21:16
frolandrДата: Вт, 20 Июня 2023, 23:54 | Сообщение # 3
Участник
Андрей, спасибо за тестирование плагина!

В команде скриншота всего экрана была ошибка. Дело в том, что начиная с Виндовс 8.1 у пользователя появилась возможность устанавливать масштаб. Вот я не учел этого, по этому размер экрана определялся немного не верно. В "чужих" плагинах тоже такая ошибка, видимо делались они давно и также не было учета масштабирования. Долго я искал в WinApi как получить этот параметр, первоначально даже из реестра вынимал, однако если изменить масштаб, то в реестре изменения вступали только после перезагрузки. Позже нашел возможность получать размеры. В новой версии эту ошибку исправил.

Команду скриншота выбранной части экрана начал писать сразу после размещения первой версии. По этому проверок в нем еще больше :), помимо переменной faErrors ввел еще и faWarnings, в которую выдаются предупреждения. Пока выкладываю как написал, затем подумаю, возможно действительно нужно уменьшить кол. проверок. Над PNG подумаю, нужен ли он? Я плохо знаю этот формат, он в основном для небольшого размера файлов в которых имеется прозрачность.

По кнопкам в помощниках не понял, там же есть кнопки, вы их не видите? Прилагаю скриншот.

Ссылка на новую версию плагина и демку.

Добавлено (21 Июня 2023, 20:53)
---------------------------------------------
Добавил в плагин две команды:
faTaskbarHide - скрыть панель задач.
faTaskbarShow - показать панель задач.
Возможно понадобятся тем, кто захочет сделать скриншот экрана без панельки.
Команды без параметров. После того как скроете панель задач и сделаете снимок не забудьте показать панель.
Новая версия плагина 1.2
Ссылка на плагин с демкой.

Прикрепления: 8426018.jpg (204.6 Kb)
 
СообщениеАндрей, спасибо за тестирование плагина!

В команде скриншота всего экрана была ошибка. Дело в том, что начиная с Виндовс 8.1 у пользователя появилась возможность устанавливать масштаб. Вот я не учел этого, по этому размер экрана определялся немного не верно. В "чужих" плагинах тоже такая ошибка, видимо делались они давно и также не было учета масштабирования. Долго я искал в WinApi как получить этот параметр, первоначально даже из реестра вынимал, однако если изменить масштаб, то в реестре изменения вступали только после перезагрузки. Позже нашел возможность получать размеры. В новой версии эту ошибку исправил.

Команду скриншота выбранной части экрана начал писать сразу после размещения первой версии. По этому проверок в нем еще больше :), помимо переменной faErrors ввел еще и faWarnings, в которую выдаются предупреждения. Пока выкладываю как написал, затем подумаю, возможно действительно нужно уменьшить кол. проверок. Над PNG подумаю, нужен ли он? Я плохо знаю этот формат, он в основном для небольшого размера файлов в которых имеется прозрачность.

По кнопкам в помощниках не понял, там же есть кнопки, вы их не видите? Прилагаю скриншот.

Ссылка на новую версию плагина и демку.

Добавлено (21 Июня 2023, 20:53)
---------------------------------------------
Добавил в плагин две команды:
faTaskbarHide - скрыть панель задач.
faTaskbarShow - показать панель задач.
Возможно понадобятся тем, кто захочет сделать скриншот экрана без панельки.
Команды без параметров. После того как скроете панель задач и сделаете снимок не забудьте показать панель.
Новая версия плагина 1.2
Ссылка на плагин с демкой.


Автор - frolandr
Дата добавления - 20 Июня 2023 в 23:54
AS3856Дата: Ср, 21 Июня 2023, 23:02 | Сообщение # 4
Эксперт форума
Не
вижу кнопки
Прикрепления: 7082430.png (8.5 Kb)
 
СообщениеНе
вижу кнопки

Автор - AS3856
Дата добавления - 21 Июня 2023 в 23:02
frolandrДата: Ср, 21 Июня 2023, 23:22 | Сообщение # 5
Участник
Спасибо, понял где. У трек бара не делал кнопку. Мне показалось, что здесь может быть противоречие. Если к примеру ползунок установлен на значении 80, а переменная содержит значение 60, какое из них передавать плагину? Как то не соображу как быть в этом случае? Если есть соображение, то рад буду совету.
 
СообщениеСпасибо, понял где. У трек бара не делал кнопку. Мне показалось, что здесь может быть противоречие. Если к примеру ползунок установлен на значении 80, а переменная содержит значение 60, какое из них передавать плагину? Как то не соображу как быть в этом случае? Если есть соображение, то рад буду совету.

Автор - frolandr
Дата добавления - 21 Июня 2023 в 23:22
AS3856Дата: Ср, 21 Июня 2023, 23:47 | Сообщение # 6
Эксперт форума
я когда то тоже экспериментировал с разными компонентами но пришёл к выводу - использовать только комбо и Едит.
Это наиболее рационально
Ну и если переменная содержит отличное от ползунка значение - то ползунок должен принять значение переменной.
Во вторых - это у тебя (и юзеров) окно помощи написания команды
а для качественного написания должна быть кнопка выбора переменных т.к. юзер захочет вставить на место этих цифирок переменную от трекбара.
ИМХО.
наиболее интересен компонент LabeledEdit - позволяет сразу писать пояснение к команде и даёт возможность ввода текста - Это как раз всё что требуется.
Проверки корректного введения текста просты, ну и часто использую функцию StrToIntDef(string, value)
- удобная штука. Плюс - что бы не писать одно и то-же - например перевести шрифт в строку туда и обратно , или цвет в строку туда и обратно, ( да много всякого) - написал отдельный юнит ., и использую его во всех проектах.
Там же можно ниписать и проверки и разбивку строк и всё что угодно - напишешь один раз - и можно пользоваться и не думать об этом пока что то новое в голове не нарисуется...


Сообщение отредактировано
AS3856 - Чт, 22 Июня 2023, 00:09
 
Сообщениея когда то тоже экспериментировал с разными компонентами но пришёл к выводу - использовать только комбо и Едит.
Это наиболее рационально
Ну и если переменная содержит отличное от ползунка значение - то ползунок должен принять значение переменной.
Во вторых - это у тебя (и юзеров) окно помощи написания команды
а для качественного написания должна быть кнопка выбора переменных т.к. юзер захочет вставить на место этих цифирок переменную от трекбара.
ИМХО.
наиболее интересен компонент LabeledEdit - позволяет сразу писать пояснение к команде и даёт возможность ввода текста - Это как раз всё что требуется.
Проверки корректного введения текста просты, ну и часто использую функцию StrToIntDef(string, value)
- удобная штука. Плюс - что бы не писать одно и то-же - например перевести шрифт в строку туда и обратно , или цвет в строку туда и обратно, ( да много всякого) - написал отдельный юнит ., и использую его во всех проектах.
Там же можно ниписать и проверки и разбивку строк и всё что угодно - напишешь один раз - и можно пользоваться и не думать об этом пока что то новое в голове не нарисуется...

Автор - AS3856
Дата добавления - 21 Июня 2023 в 23:47
frolandrДата: Чт, 22 Июня 2023, 00:26 | Сообщение # 7
Участник
Цитата AS3856 ()
Ну и если переменная содержит отличное от ползунка значение - то ползунок должен принять значение переменной.

В этом случае ползунок становится бесполезен. Если переменная содержит отличное значение, то ползунок сдвинется на это значение, но что делать, если юзер начнет двигать ползунок, менять значение в переменной? Но возможно пользователь этого не хочет. Он то в уме держит значение переменной. Вот тут и получается противоречие.
Думал я по разному. Согласен, что лучший выход это Edit, но хотелось разнообразия, по этому и сделал трекбаром. Да еще заморочился, со сменой цвета цифр значения при сдвиге ползунка. Делал то плагин для себя, вернее для заказанной программы, а там единожды устанавливается степень качества.

Добавлено (22 Июня 2023, 11:26)
---------------------------------------------
Добавил четыре команды - снимки с сохранением в формат PNG. Команды аналогичны снимкам с сохранением в формат BMP, по этому демку не прилагаю. Ссылка на плагин версии 1.3

Добавлено (22 Июня 2023, 11:36)
---------------------------------------------
Андрей, ну это у тебя куча плагинов, по этому ты со временем все по полочкам раскладываешь, а я все в основном для себя делал. У тебя плагин для сетки целый комбайн с несколькими десятками команд. Я первые два плагина в 2013-2014 годах сделал. Затем долгое время не нужно было и вот в конце прошлого года понадобилось. Для себя я без окон помощников делал, в этом случае они всего по 50-100 кб. занимают, а ввести пару переменных в ручную не проблема для меня.

 
Сообщение
Цитата AS3856 ()
Ну и если переменная содержит отличное от ползунка значение - то ползунок должен принять значение переменной.

В этом случае ползунок становится бесполезен. Если переменная содержит отличное значение, то ползунок сдвинется на это значение, но что делать, если юзер начнет двигать ползунок, менять значение в переменной? Но возможно пользователь этого не хочет. Он то в уме держит значение переменной. Вот тут и получается противоречие.
Думал я по разному. Согласен, что лучший выход это Edit, но хотелось разнообразия, по этому и сделал трекбаром. Да еще заморочился, со сменой цвета цифр значения при сдвиге ползунка. Делал то плагин для себя, вернее для заказанной программы, а там единожды устанавливается степень качества.

Добавлено (22 Июня 2023, 11:26)
---------------------------------------------
Добавил четыре команды - снимки с сохранением в формат PNG. Команды аналогичны снимкам с сохранением в формат BMP, по этому демку не прилагаю. Ссылка на плагин версии 1.3

Добавлено (22 Июня 2023, 11:36)
---------------------------------------------
Андрей, ну это у тебя куча плагинов, по этому ты со временем все по полочкам раскладываешь, а я все в основном для себя делал. У тебя плагин для сетки целый комбайн с несколькими десятками команд. Я первые два плагина в 2013-2014 годах сделал. Затем долгое время не нужно было и вот в конце прошлого года понадобилось. Для себя я без окон помощников делал, в этом случае они всего по 50-100 кб. занимают, а ввести пару переменных в ручную не проблема для меня.


Автор - frolandr
Дата добавления - 22 Июня 2023 в 00:26
AS3856Дата: Чт, 22 Июня 2023, 12:18 | Сообщение # 8
Эксперт форума
Цитата frolandr ()
Если переменная содержит отличное значение, то ползунок сдвинется на это значение, но что делать, если юзер начнет двигать ползунок, менять значение в переменной? Но возможно пользователь этого не хочет. Он то в уме держит значение переменной. Вот тут и получается противоречие.

на мой взгляд у тебя каша в голове ( без обид)
Ну какое ещё отличноемежду собой значения?
Это окно помощника кода и более ничего.
Пропиши в окне - при его создании значение ползунка равно значению переменной, - и твоя каша в голове будет рассасываться.
Не держит юзер в голове никаких данных- всё что ему надо - это переменная
.Твой ползунок устанавливает какое то значение - и оно в программе будет константой, а надо переменную - что бы юзер мог подставитьь свой трекбар

Добавлено (22 Июня 2023, 12:23)
---------------------------------------------
Цитата frolandr ()
Затем долгое время не нужно было и вот в конце прошлого года понадобилось. Для себя я без окон помощников делал, в этом случае они всего по 50-100 кб. занимают, а ввести пару переменных в ручную не проблема для меня.

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


Сообщение отредактировано
AS3856 - Чт, 22 Июня 2023, 12:25
 
Сообщение
Цитата frolandr ()
Если переменная содержит отличное значение, то ползунок сдвинется на это значение, но что делать, если юзер начнет двигать ползунок, менять значение в переменной? Но возможно пользователь этого не хочет. Он то в уме держит значение переменной. Вот тут и получается противоречие.

на мой взгляд у тебя каша в голове ( без обид)
Ну какое ещё отличноемежду собой значения?
Это окно помощника кода и более ничего.
Пропиши в окне - при его создании значение ползунка равно значению переменной, - и твоя каша в голове будет рассасываться.
Не держит юзер в голове никаких данных- всё что ему надо - это переменная
.Твой ползунок устанавливает какое то значение - и оно в программе будет константой, а надо переменную - что бы юзер мог подставитьь свой трекбар

Добавлено (22 Июня 2023, 12:23)
---------------------------------------------
Цитата frolandr ()
Затем долгое время не нужно было и вот в конце прошлого года понадобилось. Для себя я без окон помощников делал, в этом случае они всего по 50-100 кб. занимают, а ввести пару переменных в ручную не проблема для меня.

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

Автор - AS3856
Дата добавления - 22 Июня 2023 в 12:18
frolandrДата: Чт, 22 Июня 2023, 13:58 | Сообщение # 9
Участник
Может и каша. Ну вот есть переменная var она пустая, инициализируется в процессе выполнения какого-то кода. Когда чел настраивает команду плагина, то а в переменной NULL, трек бар улетит на 0. Я не считаю это нормальным.

Сейчас если добавить введение переменной, то рядом с трекбаром нужно создать еще поле Edit, чтобы в него попадала переменная, а как иначе? При редактировании команды нужно в помощнике видеть ту переменную, что ввел. В итоге нужно иметь фактически две переменные на одно значение, вот это точно каша. Если добавлять поле ввода, то трекбар просто нужно удалять, а я над ним потел пару дней :)

Нееет, мне языки в стиле Паскаля не нравятся. Я со знакомыми в девяностых начинали писать еще на Ассемблере для процессора Z80, компа Спектрум. Затем у нас была кухня по созданию сайтов, а там html и css, по минимуму php, затем подоспел js. В 2010 начали учить mql4 для торговых систем Форекса. Для увеличения продаж написанных советников, скриптов и стратегий нужна была прога презентаций, вот тут и понадобился Необук. Все эти языки на которых пишу произошли от С, по этому и плагины писал на c++. Я конечно могу перевести полсотни строк с Делфи на С++, но не все функции.
 
СообщениеМожет и каша. Ну вот есть переменная var она пустая, инициализируется в процессе выполнения какого-то кода. Когда чел настраивает команду плагина, то а в переменной NULL, трек бар улетит на 0. Я не считаю это нормальным.

Сейчас если добавить введение переменной, то рядом с трекбаром нужно создать еще поле Edit, чтобы в него попадала переменная, а как иначе? При редактировании команды нужно в помощнике видеть ту переменную, что ввел. В итоге нужно иметь фактически две переменные на одно значение, вот это точно каша. Если добавлять поле ввода, то трекбар просто нужно удалять, а я над ним потел пару дней :)

Нееет, мне языки в стиле Паскаля не нравятся. Я со знакомыми в девяностых начинали писать еще на Ассемблере для процессора Z80, компа Спектрум. Затем у нас была кухня по созданию сайтов, а там html и css, по минимуму php, затем подоспел js. В 2010 начали учить mql4 для торговых систем Форекса. Для увеличения продаж написанных советников, скриптов и стратегий нужна была прога презентаций, вот тут и понадобился Необук. Все эти языки на которых пишу произошли от С, по этому и плагины писал на c++. Я конечно могу перевести полсотни строк с Делфи на С++, но не все функции.

Автор - frolandr
Дата добавления - 22 Июня 2023 в 13:58
AS3856Дата: Чт, 22 Июня 2023, 18:23 | Сообщение # 10
Эксперт форума
FUNCTION MainNameFunction( var Data1, Data2: PAnsiChar ) : BOOLEAN;
begin
Result := False;
MainFormName := TMainFormName.CreateParented(GetActiveWindow);

with MainFormName do
try
Edit1.Text:= STRING(Data1); // выбор прямоугольника
//**************************************************************************
TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара
//**************************************************************************
if ShowModal = mrOK then
begin
SetStr(Data1, AnsiString(Edit1.Text));
SetStr(Data2, AnsiString(IntToStr(TrackBar1.Position)));
Result := TRUE;
end;
finally
Free;
end;
end;

Добавлено (22 Июня 2023, 18:31)
---------------------------------------------
вот и вся простейшая функция вызова окна помощника кода. Это для Delphi 10.4
Для делфи 7 - немного другое.
Как видишь - для трекбара принимается значение переменной при создании., и при сохранении - значение трекбара передаётся в переменную.
и кстати - это не переменные - а строка ( string).
все данные передаются строкой.

Добавлено (22 Июня 2023, 18:38)
---------------------------------------------

Цитата frolandr ()
Когда чел настраивает команду плагина, то а в переменной NULL, трек бар улетит на 0. Я не считаю это нормальным.

так он настроит - и выставит какое то значение.
Во вторых - ты опять путаешь окно помощника кода не знаю уж с чем.

faScreenShotJpg "" "80" - вот твоя команда.- и юзер теперь будет вручную копаться и писать вместо цифры 80 имя своей переменной от своего трекбара ( необукерского) . Я тебе и предлагаю облегчить ему жизнь.

Добавлено (22 Июня 2023, 18:40)
---------------------------------------------
трекбар в окне кода вообще не нужен. - ну уж если оочень хочешь - так оставь.....

Добавлено (22 Июня 2023, 18:46)
---------------------------------------------
с таким же успехом можно применить SpinEdit

Добавлено (22 Июня 2023, 18:49)
---------------------------------------------
TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара

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

Сообщение отредактировано
AS3856 - Чт, 22 Июня 2023, 18:32
 
СообщениеFUNCTION MainNameFunction( var Data1, Data2: PAnsiChar ) : BOOLEAN;
begin
Result := False;
MainFormName := TMainFormName.CreateParented(GetActiveWindow);

with MainFormName do
try
Edit1.Text:= STRING(Data1); // выбор прямоугольника
//**************************************************************************
TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара
//**************************************************************************
if ShowModal = mrOK then
begin
SetStr(Data1, AnsiString(Edit1.Text));
SetStr(Data2, AnsiString(IntToStr(TrackBar1.Position)));
Result := TRUE;
end;
finally
Free;
end;
end;

Добавлено (22 Июня 2023, 18:31)
---------------------------------------------
вот и вся простейшая функция вызова окна помощника кода. Это для Delphi 10.4
Для делфи 7 - немного другое.
Как видишь - для трекбара принимается значение переменной при создании., и при сохранении - значение трекбара передаётся в переменную.
и кстати - это не переменные - а строка ( string).
все данные передаются строкой.

Добавлено (22 Июня 2023, 18:38)
---------------------------------------------

Цитата frolandr ()
Когда чел настраивает команду плагина, то а в переменной NULL, трек бар улетит на 0. Я не считаю это нормальным.

так он настроит - и выставит какое то значение.
Во вторых - ты опять путаешь окно помощника кода не знаю уж с чем.

faScreenShotJpg "" "80" - вот твоя команда.- и юзер теперь будет вручную копаться и писать вместо цифры 80 имя своей переменной от своего трекбара ( необукерского) . Я тебе и предлагаю облегчить ему жизнь.

Добавлено (22 Июня 2023, 18:40)
---------------------------------------------
трекбар в окне кода вообще не нужен. - ну уж если оочень хочешь - так оставь.....

Добавлено (22 Июня 2023, 18:46)
---------------------------------------------
с таким же успехом можно применить SpinEdit

Добавлено (22 Июня 2023, 18:49)
---------------------------------------------
TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара

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


Автор - AS3856
Дата добавления - 22 Июня 2023 в 18:23
frolandrДата: Чт, 22 Июня 2023, 21:27 | Сообщение # 11
Участник
Днем сделал тестовый помощник, код написать не успел, к племяшу на д.р. ездил. Код завтра напишу, посмотрю как все будет выглядеть в работе. Скрин скидываю.

Добавлено (22 Июня 2023, 21:29)
---------------------------------------------

Цитата AS3856 ()
трекбар в окне кода вообще не нужен. - ну уж если оочень хочешь - так оставь.....

Вот и я об этом, что если есть Edit , то и трекбар не нужен.

Добавлено (22 Июня 2023, 21:34)
---------------------------------------------

Цитата AS3856 ()
Edit1.Text:= STRING(Data1); // выбор прямоугольника

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

Цитата AS3856 ()
и кстати - это не переменные - а строка ( string).

Из форм все строками передается, в js к примеру тоже.

Добавлено (22 Июня 2023, 21:36)
---------------------------------------------
Ну и да, финальный кусок кода был такой:

Код
    try {
  Edit1->Text = Params[0];                    
  TrackBar1->Position = AnsiString(Params[1]) == "" ? 80 : atoi(Params[1]);
  TrackBar1Change(LabelTBPos, TrackBar1, Form1);                        

  int Modal = Form1->ShowModal();                    
  if (Modal == mrOk) {                    
   char *buf1 = AnsiString(Edit1->Text).c_str();                  
   SetStr(Params[0], buf1);                    
   char* buf2 = AnsiString(TrackBar1->Position).c_str();
   SetStr(Params[1], buf2);
   FreeStr(buf1);                    
   FreeStr(buf2);
   return true;                    
  }
  if (Modal == mrCancel) {                    
   return false;                    
  }
    }
    __finally {
  delete Form1;
    }


Немного перепишу завтра.
Прикрепления: 0526143.jpg (139.6 Kb)
 
СообщениеДнем сделал тестовый помощник, код написать не успел, к племяшу на д.р. ездил. Код завтра напишу, посмотрю как все будет выглядеть в работе. Скрин скидываю.

Добавлено (22 Июня 2023, 21:29)
---------------------------------------------

Цитата AS3856 ()
трекбар в окне кода вообще не нужен. - ну уж если оочень хочешь - так оставь.....

Вот и я об этом, что если есть Edit , то и трекбар не нужен.

Добавлено (22 Июня 2023, 21:34)
---------------------------------------------

Цитата AS3856 ()
Edit1.Text:= STRING(Data1); // выбор прямоугольника

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

Цитата AS3856 ()
и кстати - это не переменные - а строка ( string).

Из форм все строками передается, в js к примеру тоже.

Добавлено (22 Июня 2023, 21:36)
---------------------------------------------
Ну и да, финальный кусок кода был такой:

Код
    try {
  Edit1->Text = Params[0];                    
  TrackBar1->Position = AnsiString(Params[1]) == "" ? 80 : atoi(Params[1]);
  TrackBar1Change(LabelTBPos, TrackBar1, Form1);                        

  int Modal = Form1->ShowModal();                    
  if (Modal == mrOk) {                    
   char *buf1 = AnsiString(Edit1->Text).c_str();                  
   SetStr(Params[0], buf1);                    
   char* buf2 = AnsiString(TrackBar1->Position).c_str();
   SetStr(Params[1], buf2);
   FreeStr(buf1);                    
   FreeStr(buf2);
   return true;                    
  }
  if (Modal == mrCancel) {                    
   return false;                    
  }
    }
    __finally {
  delete Form1;
    }


Немного перепишу завтра.

Автор - frolandr
Дата добавления - 22 Июня 2023 в 21:27
AS3856Дата: Чт, 22 Июня 2023, 21:44 | Сообщение # 12
Эксперт форума
Цитата frolandr ()
Вот здесь не пойму, что за прямоугольник выбираешь?


к твоему плагу это не относится. Это для плагинов с созданием компонента в прямоугольнике.
-Я по привычке написал и к твоему примеру , но понятно это тебе не надо..
 
Сообщение
Цитата frolandr ()
Вот здесь не пойму, что за прямоугольник выбираешь?


к твоему плагу это не относится. Это для плагинов с созданием компонента в прямоугольнике.
-Я по привычке написал и к твоему примеру , но понятно это тебе не надо..

Автор - AS3856
Дата добавления - 22 Июня 2023 в 21:44
frolandrДата: Пт, 23 Июня 2023, 12:40 | Сообщение # 13
Участник
Вобщем, не получается передать значение из переменной в трекбар и если честно я все еще не понимаю, как можно из не запущенного приложения передать содержимое переменной. Иногда когда голова не соображает как сделать начинаю перебирать различные варианты. Так вот:
1. Функциями подобными TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара
мы передаем не содержимое, а саму строку. Т.е. если вместо переменной вписать просто число, то все работает, в трекбар записывается число. Если передавать имя переменной, то в трекбар попадает тоже имя переменной, не ее содержимое. Т.е. фактически получается передать только копию строки.
2. Решил тогда попробовать функцию
char * Value;
nbGetVar(buf3, Value);, из полученного параметра извлечь значение, получаю лишь пустое значение.

Если приложение будет в тестовом режиме или скомпилировано и запущено, то
TrackBar1.Position:= StrToIntDef(string(Data2), 0);
уже сработает как нужно.

Что-только не пробовал, не получается из незапущенного приложения взять значение ПЕРЕМЕННОЙ(строки). Думаю так, что когда мы запускаем редактирование команды плагина работает только плагин, а он не может получить доступ к данным из не запущенного приложения.

Заменить параметр ACTIONPARAM_ALPHA на ACTIONPARAM_VARIABLE тоже не чего не дал.

Если видишь как это решить буду рад увидеть код :)


Сообщение отредактировано
frolandr - Пт, 23 Июня 2023, 14:15
 
СообщениеВобщем, не получается передать значение из переменной в трекбар и если честно я все еще не понимаю, как можно из не запущенного приложения передать содержимое переменной. Иногда когда голова не соображает как сделать начинаю перебирать различные варианты. Так вот:
1. Функциями подобными TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара
мы передаем не содержимое, а саму строку. Т.е. если вместо переменной вписать просто число, то все работает, в трекбар записывается число. Если передавать имя переменной, то в трекбар попадает тоже имя переменной, не ее содержимое. Т.е. фактически получается передать только копию строки.
2. Решил тогда попробовать функцию
char * Value;
nbGetVar(buf3, Value);, из полученного параметра извлечь значение, получаю лишь пустое значение.

Если приложение будет в тестовом режиме или скомпилировано и запущено, то
TrackBar1.Position:= StrToIntDef(string(Data2), 0);
уже сработает как нужно.

Что-только не пробовал, не получается из незапущенного приложения взять значение ПЕРЕМЕННОЙ(строки). Думаю так, что когда мы запускаем редактирование команды плагина работает только плагин, а он не может получить доступ к данным из не запущенного приложения.

Заменить параметр ACTIONPARAM_ALPHA на ACTIONPARAM_VARIABLE тоже не чего не дал.

Если видишь как это решить буду рад увидеть код :)

Автор - frolandr
Дата добавления - 23 Июня 2023 в 12:40
AS3856Дата: Пт, 23 Июня 2023, 17:51 | Сообщение # 14
Эксперт форума

Я так понял ты пишешь на C ? . Читать я это могу кое как - но уж помочь и написать точно несмогу( да и нет желания)
Ещё раз повторю - у тебя каша в голове. Ты путаешь окно помощника кода хрен его знает с чем.
Выкинь его из головы - смотри на команду без окна. Если ты захочешь в неё написать константу - число , то всегда это число и будет
а что бы изменить его - надо в проекте необука поставить трекбар.
Не в твоём окне - а в проекте Необука. И тогда это число будет меняться. И дело тут не в твоём окне и твоём трекбаре.Подумай- каждый раз когда ты решишь применить эту команду - перед этим ты меняешь значение трекбаром необука(или например в эдите его пишешь - суть та-же) - и потом уже даёшь команду на выполнение этой - твоей - команды.
 
Сообщение

Я так понял ты пишешь на C ? . Читать я это могу кое как - но уж помочь и написать точно несмогу( да и нет желания)
Ещё раз повторю - у тебя каша в голове. Ты путаешь окно помощника кода хрен его знает с чем.
Выкинь его из головы - смотри на команду без окна. Если ты захочешь в неё написать константу - число , то всегда это число и будет
а что бы изменить его - надо в проекте необука поставить трекбар.
Не в твоём окне - а в проекте Необука. И тогда это число будет меняться. И дело тут не в твоём окне и твоём трекбаре.Подумай- каждый раз когда ты решишь применить эту команду - перед этим ты меняешь значение трекбаром необука(или например в эдите его пишешь - суть та-же) - и потом уже даёшь команду на выполнение этой - твоей - команды.

Автор - AS3856
Дата добавления - 23 Июня 2023 в 17:51
frolandrДата: Пт, 23 Июня 2023, 18:03 | Сообщение # 15
Участник
Я пишу в С++builder.
Твой код не рабочий. Возможно мы говорим о разных вещах.
Я тебе пишу, что я не могу получить данные переменной из не запущенной программы. Ты мне пишешь про трекбар в проекте Необук. При чем здесь трекбар в проете Нео я вообще тебя не понимаю? :)

Добавлено (23 Июня 2023, 18:11)
---------------------------------------------
Вот смотри код на Нео:
.инициализируем переменную var значением 50
SetVar "[var]" "50"
.команда плагина для криншота
faScreenShotJPG "[path]" "[var]"

Кликаем на команду плагина, чтобы открылось окошко, где:
1.Edit для пути сохранения файла.
2.Трекбар
3.Edit для переменной var(значение качества изображения.)

Так вот при открытии окна плагина сделай так, чтобы трекбар сдвинулся на середину,
на значение 50. (Т.е. мне нужно получить значение переменной [Var] и записать его в трекбар, но все что мы получаем это пустое значение.)

Напиши код на Делфи, я пойму.

Я лично не могу получить значение из переменной var, она пустая!!!

Вот скриншот окна для примера.

Добавлено (23 Июня 2023, 18:14)
---------------------------------------------
Все, что я пытаюсь до тебя довести, это то, что пока проект не запущен, то плагин принимает только строки с именами переменных. Они пустые, пока проект не запущен. Если вписать число или строку, да, плагин получает эти данные, но не ЗНАЧЕНИЕ переменной, он получает только ее имя [Var].

Добавлено (23 Июня 2023, 18:28)
---------------------------------------------
Ты считаешь вот так должно работать?
Код
  Edit1->Text = Params[0];                    //получаю полученные данные = пути к файлу
  Edit2->Text = Params[1];                    //= качество сохранения

  int var = StrToIntDef(AnsiString(Params[1]),0); //берем содержимое переменной(которая в нео унас [var])
  TrackBar1->Position = var;                      //пишем значение в трекбар

  int Modal = Form1->ShowModal();
  if (Modal == mrOk) {                    //если нажата кнопка "Ок", то
   char *buf1 = AnsiString(Edit1->Text).c_str();      //сохраним в буфер строку из Edit
   SetStr(Params[0], buf1);                           //сохраним
   char* buf2 = AnsiString(Edit2->Text).c_str();
   SetStr(Params[1], buf2);
   TrackBar1->Position = StrToIntDef((Edit2->Text),0);

   FreeStr(buf1);                    //освобождаем память выделенной для buf
   FreeStr(buf2);
   return true;
  }


Добавлено (23 Июня 2023, 18:50)
---------------------------------------------
Вот коряво перевел, сорян :)
Считаешь так будет работать? Ответ - нет...
Код
  Edit1.Text = Data0;                             
  Edit2.Text = Data1;                    
  TrackBar1.Position:= StrToIntDef(string(Data1), 0);  
  
  if ShowModal = mrOK then
  begin
     SetStr(Data0, AnsiString(Edit1.Text));
     SetStr(Data1, AnsiString(Edit2.Text));
     TrackBar1.Position:= StrToIntDef(Edit2.Text), 0);
     Result := TRUE;
  end;
Прикрепления: 0510236.jpg (139.6 Kb)


Сообщение отредактировано
frolandr - Пт, 23 Июня 2023, 18:54
 
СообщениеЯ пишу в С++builder.
Твой код не рабочий. Возможно мы говорим о разных вещах.
Я тебе пишу, что я не могу получить данные переменной из не запущенной программы. Ты мне пишешь про трекбар в проекте Необук. При чем здесь трекбар в проете Нео я вообще тебя не понимаю? :)

Добавлено (23 Июня 2023, 18:11)
---------------------------------------------
Вот смотри код на Нео:
.инициализируем переменную var значением 50
SetVar "[var]" "50"
.команда плагина для криншота
faScreenShotJPG "[path]" "[var]"

Кликаем на команду плагина, чтобы открылось окошко, где:
1.Edit для пути сохранения файла.
2.Трекбар
3.Edit для переменной var(значение качества изображения.)

Так вот при открытии окна плагина сделай так, чтобы трекбар сдвинулся на середину,
на значение 50. (Т.е. мне нужно получить значение переменной [Var] и записать его в трекбар, но все что мы получаем это пустое значение.)

Напиши код на Делфи, я пойму.

Я лично не могу получить значение из переменной var, она пустая!!!

Вот скриншот окна для примера.

Добавлено (23 Июня 2023, 18:14)
---------------------------------------------
Все, что я пытаюсь до тебя довести, это то, что пока проект не запущен, то плагин принимает только строки с именами переменных. Они пустые, пока проект не запущен. Если вписать число или строку, да, плагин получает эти данные, но не ЗНАЧЕНИЕ переменной, он получает только ее имя [Var].

Добавлено (23 Июня 2023, 18:28)
---------------------------------------------
Ты считаешь вот так должно работать?
Код
  Edit1->Text = Params[0];                    //получаю полученные данные = пути к файлу
  Edit2->Text = Params[1];                    //= качество сохранения

  int var = StrToIntDef(AnsiString(Params[1]),0); //берем содержимое переменной(которая в нео унас [var])
  TrackBar1->Position = var;                      //пишем значение в трекбар

  int Modal = Form1->ShowModal();
  if (Modal == mrOk) {                    //если нажата кнопка "Ок", то
   char *buf1 = AnsiString(Edit1->Text).c_str();      //сохраним в буфер строку из Edit
   SetStr(Params[0], buf1);                           //сохраним
   char* buf2 = AnsiString(Edit2->Text).c_str();
   SetStr(Params[1], buf2);
   TrackBar1->Position = StrToIntDef((Edit2->Text),0);

   FreeStr(buf1);                    //освобождаем память выделенной для buf
   FreeStr(buf2);
   return true;
  }


Добавлено (23 Июня 2023, 18:50)
---------------------------------------------
Вот коряво перевел, сорян :)
Считаешь так будет работать? Ответ - нет...
Код
  Edit1.Text = Data0;                             
  Edit2.Text = Data1;                    
  TrackBar1.Position:= StrToIntDef(string(Data1), 0);  
  
  if ShowModal = mrOK then
  begin
     SetStr(Data0, AnsiString(Edit1.Text));
     SetStr(Data1, AnsiString(Edit2.Text));
     TrackBar1.Position:= StrToIntDef(Edit2.Text), 0);
     Result := TRUE;
  end;

Автор - frolandr
Дата добавления - 23 Июня 2023 в 18:03
AS3856Дата: Пт, 23 Июня 2023, 19:06 | Сообщение # 16
Эксперт форума
Код
FUNCTION MainNameFunction( var Data1, Data2: PAnsiChar ) : BOOLEAN;
begin
Result := False;
MainFormName := TMainFormName.CreateParented(GetActiveWindow);

with MainFormName do
try
Edit1.Text:= STRING(Data1); //  имя файла для сохранения снимка
//**************************************************************************
TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара
//**************************************************************************
if ShowModal = mrOK then
begin
SetStr(Data1, AnsiString(Edit1.Text));
SetStr(Data2, AnsiString(IntToStr(TrackBar1.Position)));
Result := TRUE;
end;
finally
Free;
end;
end;

ЭТО РАБОЧИЙ КОД ДЛЯ ТВОЕГО ОКНА - ниже - поправил твоё написание

Добавлено (23 Июня 2023, 19:12)
---------------------------------------------
Цитата frolandr ()
Edit1.Text = Data0;
Edit2.Text = Data1; ЭТУ СТРОКУ ВЫКИНЬ - это бред - у тебя нет второго Эдита
TrackBar1.Position:= StrToIntDef(string(Data1), 0);

if ShowModal = mrOK then
begin
SetStr(Data0, AnsiString(Edit1.Text));
SetStr(Data1, AnsiString(Edit2.Text)); Эту строку выкинь - у тебя нет 2-го Эдита
SetStr(Data1, AnsiString(IntToStr(TrackBar1.Position))); Эту строку полностю переписал по новому - у тебя какая то чепуха

Result := TRUE;
end;


Сообщение отредактировано
AS3856 - Пт, 23 Июня 2023, 19:35
 
Сообщение
Код
FUNCTION MainNameFunction( var Data1, Data2: PAnsiChar ) : BOOLEAN;
begin
Result := False;
MainFormName := TMainFormName.CreateParented(GetActiveWindow);

with MainFormName do
try
Edit1.Text:= STRING(Data1); //  имя файла для сохранения снимка
//**************************************************************************
TrackBar1.Position:= StrToIntDef(string(Data2), 0); // установка значения трекбара
//**************************************************************************
if ShowModal = mrOK then
begin
SetStr(Data1, AnsiString(Edit1.Text));
SetStr(Data2, AnsiString(IntToStr(TrackBar1.Position)));
Result := TRUE;
end;
finally
Free;
end;
end;

ЭТО РАБОЧИЙ КОД ДЛЯ ТВОЕГО ОКНА - ниже - поправил твоё написание

Добавлено (23 Июня 2023, 19:12)
---------------------------------------------
Цитата frolandr ()
Edit1.Text = Data0;
Edit2.Text = Data1; ЭТУ СТРОКУ ВЫКИНЬ - это бред - у тебя нет второго Эдита
TrackBar1.Position:= StrToIntDef(string(Data1), 0);

if ShowModal = mrOK then
begin
SetStr(Data0, AnsiString(Edit1.Text));
SetStr(Data1, AnsiString(Edit2.Text)); Эту строку выкинь - у тебя нет 2-го Эдита
SetStr(Data1, AnsiString(IntToStr(TrackBar1.Position))); Эту строку полностю переписал по новому - у тебя какая то чепуха

Result := TRUE;
end;

Автор - AS3856
Дата добавления - 23 Июня 2023 в 19:06
frolandrДата: Пт, 23 Июня 2023, 19:23 | Сообщение # 17
Участник
Не работает твой код.
Как нет второго Едита? Скриншоты я тут раза три выкладывал!
Еще раз, посмотри внимательнее.

Ссылка

Будет время скачай и посмотри. Увидишь там 2 едита и работу кода. Переменная пустая, работает,только если цифрой написать.
Прикрепления: 6591306.jpg (139.6 Kb)
 
СообщениеНе работает твой код.
Как нет второго Едита? Скриншоты я тут раза три выкладывал!
Еще раз, посмотри внимательнее.

Ссылка

Будет время скачай и посмотри. Увидишь там 2 едита и работу кода. Переменная пустая, работает,только если цифрой написать.

Автор - frolandr
Дата добавления - 23 Июня 2023 в 19:23
AS3856Дата: Пт, 23 Июня 2023, 19:38 | Сообщение # 18
Эксперт форума
Ну - пиши как сам знаешь.... И нафига тебе там второй эдит ? непонятно
его не видел - незаметил сразу....- да он там и не нужен
Я тебе уже посылал РАБОЧУЮ функцию вызова окна
что там у тебя не работает - непонятно

Добавлено (23 Июня 2023, 19:43)
---------------------------------------------

Цитата
Вывод. Переменная в незапущеной програме ПУСТАЯ


Естественно пустая - бесспорно..
и мне это доказывать не надо

Добавлено (23 Июня 2023, 19:47)
---------------------------------------------
я уже вот не пойму - ты чего пытаешься мне что то доказать ? - у меня нет вопросов к написанию кода плагина - причём окна это самое простое (но утомительно долгая рутина)
вопросы были у тебя - я пытаюсь тебе прояснить как и что работает ...
- но что то пошло не так..
пробуй - пиши
добью вот свой плаг - если ты не решишь свою задачу - напишу тебе пример нормально рабочий плагина из одной команды с трекбаром

 
СообщениеНу - пиши как сам знаешь.... И нафига тебе там второй эдит ? непонятно
его не видел - незаметил сразу....- да он там и не нужен
Я тебе уже посылал РАБОЧУЮ функцию вызова окна
что там у тебя не работает - непонятно

Добавлено (23 Июня 2023, 19:43)
---------------------------------------------

Цитата
Вывод. Переменная в незапущеной програме ПУСТАЯ


Естественно пустая - бесспорно..
и мне это доказывать не надо

Добавлено (23 Июня 2023, 19:47)
---------------------------------------------
я уже вот не пойму - ты чего пытаешься мне что то доказать ? - у меня нет вопросов к написанию кода плагина - причём окна это самое простое (но утомительно долгая рутина)
вопросы были у тебя - я пытаюсь тебе прояснить как и что работает ...
- но что то пошло не так..
пробуй - пиши
добью вот свой плаг - если ты не решишь свою задачу - напишу тебе пример нормально рабочий плагина из одной команды с трекбаром


Автор - AS3856
Дата добавления - 23 Июня 2023 в 19:38
frolandrДата: Пт, 23 Июня 2023, 20:13 | Сообщение # 19
Участник
Ну у меня первоначально было изменение качество трекбаром, ты мне написал, что нужно переменной еще сделать. Ну а если делать кнопочку для выбора переменной, то она должна же добавиться куда-то. Ну это понятно, что она запишется в команду плагина, ее конечно там можно видеть. Но как бы по классике она должна и в помощнике показываться, по этому и сделал второй Едит.

Цитата AS3856 ()
Естественно пустая - бесспорно..
и мне это доказывать не надо


Зачем же ты меня вводил в заблуждение, что трекбар в помощнике можно сдвинуть в зависимости от значения переменной? :) А о чем же мы тогда спорили? Я тебе и пишу, что если переменная в окно передается пустая, то и сдвинуть трекбар не возможно. А она передается пустая. Все это время я и пытался тебе это доказать.

Ок. Будет время напиши код, я посмотрю как тебе это удаться, думаю это просто не возможно.


Сообщение отредактировано
frolandr - Пт, 23 Июня 2023, 20:13
 
СообщениеНу у меня первоначально было изменение качество трекбаром, ты мне написал, что нужно переменной еще сделать. Ну а если делать кнопочку для выбора переменной, то она должна же добавиться куда-то. Ну это понятно, что она запишется в команду плагина, ее конечно там можно видеть. Но как бы по классике она должна и в помощнике показываться, по этому и сделал второй Едит.

Цитата AS3856 ()
Естественно пустая - бесспорно..
и мне это доказывать не надо


Зачем же ты меня вводил в заблуждение, что трекбар в помощнике можно сдвинуть в зависимости от значения переменной? :) А о чем же мы тогда спорили? Я тебе и пишу, что если переменная в окно передается пустая, то и сдвинуть трекбар не возможно. А она передается пустая. Все это время я и пытался тебе это доказать.

Ок. Будет время напиши код, я посмотрю как тебе это удаться, думаю это просто не возможно.

Автор - frolandr
Дата добавления - 23 Июня 2023 в 20:13
AS3856Дата: Пт, 23 Июня 2023, 20:30 | Сообщение # 20
Эксперт форума
Зачем же ты меня вводил в заблуждение, что трекбар в помощнике можно сдвинуть в зависимости от значения переменной?
-Это я ляпнул не подумавши - другого объяснения нет.
В помощнике все переменные пусты. И это вообще не переменные - а так - строки. В переменные они превращаются уже в проекте компилированном.
 
СообщениеЗачем же ты меня вводил в заблуждение, что трекбар в помощнике можно сдвинуть в зависимости от значения переменной?
-Это я ляпнул не подумавши - другого объяснения нет.
В помощнике все переменные пусты. И это вообще не переменные - а так - строки. В переменные они превращаются уже в проекте компилированном.

Автор - AS3856
Дата добавления - 23 Июня 2023 в 20:30
frolandrДата: Пт, 23 Июня 2023, 20:31 | Сообщение # 21
Участник
Цитата frolandr ()
окна это самое простое (но утомительно долгая рутина)

А что сложного при создании окна? Какая там может быть рутина? Передал размер формы, едиты почти все одинаковые, одна кнопочка SpeedButton, которая хоть на 100 команд, указываешь ей тоже только Top и left ну и пр. Я десять лет назад для каждой команды пиcал отдельный помощник, т.е. тупо создавал новый Unit и ручками кидал на форму нужные компоненты :)
Для меня мучения это проверка полученных данных, правда когда лень, просто забиваю, проверяю только основное.

Добавлено (23 Июня 2023, 20:35)
---------------------------------------------

Цитата frolandr ()
-Это я ляпнул не подумавши - другого объяснения нет.

У тебя большой опыт, ты написал и я принял к сведению, думал пишешь, значит можно получить значение, всю голову сломал. Ну хорошо, что разобрались, полезный опыт мне.

Добавлено (23 Июня 2023, 20:40)
---------------------------------------------
Еще по окну помощника, они ведь часто одинаковые. Т.е. вот в этом плагине 12+2 команды, т.е. 12 используют помощники, но из них фактически всего два помощника, один с одним едитом на 9 команд и еще там где трекбар и все.

Сообщение отредактировано
frolandr - Пт, 23 Июня 2023, 20:32
 
Сообщение
Цитата frolandr ()
окна это самое простое (но утомительно долгая рутина)

А что сложного при создании окна? Какая там может быть рутина? Передал размер формы, едиты почти все одинаковые, одна кнопочка SpeedButton, которая хоть на 100 команд, указываешь ей тоже только Top и left ну и пр. Я десять лет назад для каждой команды пиcал отдельный помощник, т.е. тупо создавал новый Unit и ручками кидал на форму нужные компоненты :)
Для меня мучения это проверка полученных данных, правда когда лень, просто забиваю, проверяю только основное.

Добавлено (23 Июня 2023, 20:35)
---------------------------------------------

Цитата frolandr ()
-Это я ляпнул не подумавши - другого объяснения нет.

У тебя большой опыт, ты написал и я принял к сведению, думал пишешь, значит можно получить значение, всю голову сломал. Ну хорошо, что разобрались, полезный опыт мне.

Добавлено (23 Июня 2023, 20:40)
---------------------------------------------
Еще по окну помощника, они ведь часто одинаковые. Т.е. вот в этом плагине 12+2 команды, т.е. 12 используют помощники, но из них фактически всего два помощника, один с одним едитом на 9 команд и еще там где трекбар и все.


Автор - frolandr
Дата добавления - 23 Июня 2023 в 20:31
AS3856Дата: Пт, 23 Июня 2023, 20:57 | Сообщение # 22
Эксперт форума
вот такие окна - и не надо там проверять - рутина написать...
Прикрепления: 8509307.png (35.4 Kb)
 
Сообщениевот такие окна - и не надо там проверять - рутина написать...

Автор - AS3856
Дата добавления - 23 Июня 2023 в 20:57
frolandrДата: Ср, 28 Июня 2023, 13:07 | Сообщение # 23
Участник
Я понял, что идет речь об окне помощника, я не понимаю в чем там рутина? Для создания каждого компонента нужно от двух до 6 строк. Я к примеру их тупо копирую, нужно 5 едитов, пять раз скопировал, только изменил Edit1 на Edit2, а также координату по Y. У меня к примеру стандартные компоненты создаются размером 70 пикс, это с отступом, ну и затем просто добавляю эти 70 пикс к координате.
Можно вообще написать функцию, которая будет все вычислять, т.е. отправил ей количество компонентов, и начальную координату первого по Y. Она их через цикл создала, разместила на форме, далее, идет размещение своего табконтрола, далее кнопки, далее происходит расчет высоты формы автоматом.
Вот я сейчас начал допиливать СпинЕдит, посмотри в первом прикреплении окно помощника, во втором код, который создает это окно. Повторюсь, можно вообще 2-3 строки написать и окно готово, но для этого нужно написать функцию, но когда пишешь 2-3 плагина, писать такую функцию лень :)
Прикрепления: 9115009.jpg (145.8 Kb) · 6498755.jpg (264.6 Kb)


Сообщение отредактировано
frolandr - Ср, 28 Июня 2023, 13:09
 
СообщениеЯ понял, что идет речь об окне помощника, я не понимаю в чем там рутина? Для создания каждого компонента нужно от двух до 6 строк. Я к примеру их тупо копирую, нужно 5 едитов, пять раз скопировал, только изменил Edit1 на Edit2, а также координату по Y. У меня к примеру стандартные компоненты создаются размером 70 пикс, это с отступом, ну и затем просто добавляю эти 70 пикс к координате.
Можно вообще написать функцию, которая будет все вычислять, т.е. отправил ей количество компонентов, и начальную координату первого по Y. Она их через цикл создала, разместила на форме, далее, идет размещение своего табконтрола, далее кнопки, далее происходит расчет высоты формы автоматом.
Вот я сейчас начал допиливать СпинЕдит, посмотри в первом прикреплении окно помощника, во втором код, который создает это окно. Повторюсь, можно вообще 2-3 строки написать и окно готово, но для этого нужно написать функцию, но когда пишешь 2-3 плагина, писать такую функцию лень :)

Автор - frolandr
Дата добавления - 28 Июня 2023 в 13:07
ВадимДата: Вт, 04 Июля 2023, 08:30 | Сообщение # 24
Генератор идей
Цитата frolandr ()
Плагин для создания скриншота рабочего стола и снимков активных окон программ.


Если плагин завершён, то прошу в первый пост список команд с их описанием. thumbs_up


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Цитата frolandr ()
Плагин для создания скриншота рабочего стола и снимков активных окон программ.


Если плагин завершён, то прошу в первый пост список команд с их описанием. thumbs_up

Автор - Вадим
Дата добавления - 04 Июля 2023 в 08:30
frolandrДата: Вс, 09 Июля 2023, 01:17 | Сообщение # 25
Участник
Цитата Вадим ()
Если плагин завершён, то прошу в первый пост список команд с их описанием.

В приципе завершен, команды с описанием разместил. Завтра еще ссылку но последнюю версию размещу в пером посте.
 
Сообщение
Цитата Вадим ()
Если плагин завершён, то прошу в первый пост список команд с их описанием.

В приципе завершен, команды с описанием разместил. Завтра еще ссылку но последнюю версию размещу в пером посте.

Автор - frolandr
Дата добавления - 09 Июля 2023 в 01:17
ВадимДата: Вс, 09 Июля 2023, 08:19 | Сообщение # 26
Генератор идей
Андрей, спасибо большое!!! thumbs_up thumbs_up thumbs_up

Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеАндрей, спасибо большое!!! thumbs_up thumbs_up thumbs_up

Автор - Вадим
Дата добавления - 09 Июля 2023 в 08:19
frolandrДата: Чт, 03 Августа 2023, 18:09 | Сообщение # 27
Участник
Немного изменил плагин, при создании снимков и сохранении в файл с расширением jpg сделал возможность выбора качества изображения не только Трекбаром, но и переменной.
Версия 1.4 с демкой.
 
СообщениеНемного изменил плагин, при создании снимков и сохранении в файл с расширением jpg сделал возможность выбора качества изображения не только Трекбаром, но и переменной.
Версия 1.4 с демкой.

Автор - frolandr
Дата добавления - 03 Августа 2023 в 18:09
ВадимДата: Чт, 03 Августа 2023, 19:47 | Сообщение # 28
Генератор идей
Цитата frolandr ()
не только Трекбаром, но и переменной

Класс!!! thumbs_up Спасибо!!

Добавлено (03 Августа 2023, 19:55)
---------------------------------------------
Затестил! Всё работает отлично! Спасибо за подробную демку!!! thumbs_up


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Цитата frolandr ()
не только Трекбаром, но и переменной

Класс!!! thumbs_up Спасибо!!

Добавлено (03 Августа 2023, 19:55)
---------------------------------------------
Затестил! Всё работает отлично! Спасибо за подробную демку!!! thumbs_up


Автор - Вадим
Дата добавления - 03 Августа 2023 в 19:47
mishemДата: Чт, 03 Августа 2023, 23:46 | Сообщение # 29
Эксперт форума
Цитата frolandr ()
не только Трекбаром, но и переменной.

А говорил не возможно. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата frolandr ()
не только Трекбаром, но и переменной.

А говорил не возможно. :)

Автор - mishem
Дата добавления - 03 Августа 2023 в 23:46
frolandrДата: Пт, 04 Августа 2023, 10:17 | Сообщение # 30
Участник
Цитата Вадим ()
Затестил! Всё работает отлично! Спасибо за подробную демку!!!

Спасибо за тесты, если все хорошо перенесу ссылку в первую тему.

Цитата mishem ()
А говорил не возможно.

На основе твоей подсказки сделал. :)
 
Сообщение
Цитата Вадим ()
Затестил! Всё работает отлично! Спасибо за подробную демку!!!

Спасибо за тесты, если все хорошо перенесу ссылку в первую тему.

Цитата mishem ()
А говорил не возможно.

На основе твоей подсказки сделал. :)

Автор - frolandr
Дата добавления - 04 Августа 2023 в 10:17
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » Плагин faSnapShot
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: