Вверх ↑
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
#31: 2024-08-02 12:10:59 ЛС | профиль | цитата
Gunta, спасибо, интересно. А без буфера обмена картинку никак не вытащить? И все плюшки типа ресайзинга пропали..
sla8a, точно, благодарю, попробую. А то я уже собирался наследование отключать и трансформацию прикручивать отдельно.
А ТС я именно также как вы описали использую, с таким же фильтром) Альтернативы не знал и не искал.. Часто по исходникам приходится шерстить им чтобы вспомнить, как в KOL или в Хиасм переименовали ту или иную стандартную функцию.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 793
Рейтинг: 168
#32: 2024-08-03 05:42:43 ЛС | профиль | цитата
Aziz писал(а):
А без буфера обмена картинку никак не вытащить? И все плюшки типа ресайзинга пропали..

Ну это же очевидно. И плюшки не пропали и буфера нет.
https://disk.yandex.ru/d/S3xp1Q3-TNk71A

Редактировалось 1 раз(а), последний 2024-08-03 05:58:01
карма: 16

0
Ответов: 1291
Рейтинг: 47
#33: 2024-08-03 13:41:39 ЛС | профиль | цитата
Gunta, мне не особо очевидно) Так глубоко не забуривался и эти компоненнты типа Отложенное событие не использовал никогда.. Спасибо, теперь точно пригодится, раз с Хиасмом интеграция полная.

--- Добавлено в 2024-08-03 13:47:02

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

Редактировалось 2 раз(а), последний 2024-08-03 23:45:52
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26148
Рейтинг: 2126
#34: 2024-08-03 16:29:11 ЛС | профиль | цитата
Всем Привет!
Aziz писал(а):
Но мне все же больше по душе нативные хисамовские компонеты

Пардонсе. Если компонент находится в пакете, разве он не считается нативным? Ты же его с SVN получил.
А отложенное событие вполне можно заменить таймером с 0-й задержкой, только надо будет для твоего примера лепить буфер для переноса данных во времени.
карма: 22

0
Ответов: 1291
Рейтинг: 47
#35: 2024-08-03 23:50:29 ЛС | профиль | цитата
nesco, ты не так понял - я имел в виду ту его внешнюю библу ScottPlot.dll для отрисовки свечных графиков. Она явно не родная Хиасму) Внешние костыли не люблю.. Тем более для фин. программ, неизвестно какие бекдоры автор в нее замуровал) В Хиасме и то нашел палевный скрытый функционал - это отклик проги что она была сделана в Хиасм, если с определенным ключом запустить экзешник. Уже забыл какой ключ, как-то в ресурсах или кодогенераторе бросилось в глаза. Надо бы в справке об этом написать)
А так я рад изучить и применять новые компоненты, которые благодаря Gunta и другим юзерам открыл для себя.. У меня на диске есть схема обозванная мной "Странный код от Gunta" )) Он так хитро мастерски там использовал компоненты и командную строку, что непонятно вообще как оно работает)

Редактировалось 3 раз(а), последний 2024-08-05 15:03:57
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26148
Рейтинг: 2126
#36: 2024-08-04 03:35:17 ЛС | профиль | цитата
Aziz писал(а):
ты не так понял

Аааа, тогда извини. Просто там не было уточнения и мне показалось, что это относится к предыдущему пункту.
карма: 22

0
Ответов: 1291
Рейтинг: 47
#37: 2024-08-05 15:03:09 ЛС | профиль | цитата
nesco, все ок. Благодарен тебе за твои советы и ответы..
Кстати, не знаешь что с Galkov, жив сей мудрый дядька? И Dilma - так сильно на нас всех повлиял и исчез.. Интересно, чем заняты эти светлые умы.. Как и твой также интересно)

Редактировалось 1 раз(а), последний 2024-08-12 02:42:42
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 1291
Рейтинг: 47
#38: 2024-08-12 02:26:15 ЛС | профиль | цитата
Компонент Candles уже почти готов. Pre-Release version 1.1. Прикрутил много плюшек - рисование свечей и графиков по ценам из массива, мультивалютность, зум, пан, зум ПК, использование Unix и Time Date формата времени, отображение линейного графика, Выборочная расцветка разных валют разными цветами. Поборол вылеты, теперь даже при 1 Мс таймере не вылетает. Просто я там заранее понасоздавал штук 4 ручек для рисования, и хоть я их удалял в конце, видимо как-то в конце цикла плохо удалялись, в итоге по совету ГПТ4 стал удалять объекты ручек созданных CreatePen сразу после их использования и вылеты прекратились.. Пришлось их по всему коду отлавливать командой exit; КОмменты и прочий мусор в коде не убирал специально чтобы кто-то мог заценить Майн Кампф с этим кодом)) Потом в финальной версии все причешу. Осталось решить проблему отображения цен в соотвествии с положением баров. Дело в том, что я добавил туда мультивалютность и теперь чешу репу как отобразить разные цены разных валют на одной оси Y. Можно конечно разным цветом и интервалом. В общем, это пока todo.
Candles1.1: https://disk.yandex.ru/d/ORPJ8zORV_HmzQ

Редактировалось 2 раз(а), последний 2024-08-12 02:40:56
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 2265
Рейтинг: 676
#39: 2024-08-15 12:51:10 ЛС | профиль | цитата
Aziz, посмотрел компонент, могу посоветовать следующее:
1. Переходить от графического компонента, к интерфейсному компонента. Говоря простым языком засунуть в ваш элемент PaintBox. Сразу отпадет необходимость связей Bitmap,Width,Height,doCursor,MouseX,MouseY и т.п. Да и ваш элемент не такой простой получится чтоб делать его как графический. Ничего трудного в этом нет, достаточно посмотреть к примеру элемент CtrlPalette (Палитра ссылок) в вкладке Интерфейс. Этот элемент рисует самостоятельно интерфейс на PaintBox и один из самых простых для подсмотреть.
2. По поводу ваших карандашей и убирания их в ящик, тоже можете подсмотреть в том же CtrlPalette (Палитра ссылок) как это реализовано. Насколько знаю, то такого:

pen := CreatePen
лучше избегать в коде рисования (doDraw или _OnPaint), так как это "дорогое" удовольствие в плане производительности. Так что правильнее создать и настроить все карандаши и прочие инструменты при создании элемента (Init).
3. Цвет линейного графика N - эти свойства если правильно понял лучше сделать списком вместе с списком валют. Что-то вроде такого:
Свойство=ClrCurrency писал(а):
EURUSD,Red
USDJPY,65345
GBPUSD,Green
USDCHF,Blue
USDRUB,34654
BTCUSD,Magenta
USDNOK,Lime
XAUUSD,Brown

Где через знак разделителя (настраиваемый как к примеру в таблицах) идут данные. Если цвет не задан, то использовать цвет по умолчанию.
карма: 11

0
Ответов: 1291
Рейтинг: 47
#40: 2024-08-16 00:20:56 ЛС | профиль | цитата
sla8a, точно, так будет лучше и правильнее. Да, улучшать можно и нужно, это пока нащупывание форм.. Спасибо большое, попробую на досуге.. Который, кстати, вроде закончился) Но, наверное еще появится. Потому что компонент полезный. Правда, смущает ограничение Хиасмовских программ в 32 бита, но я считаю, что если удастся создать что-то ценное и на 32 битах, то потом можно это портировать и на 64 в других IDE.
А по поводу мультивалютного отображения цены на одном графике нет идей как правиленее это реализовать если это вообще возможно?Можно конечно добавить еще одно измерение графикам, типа 3Д..
По поводу ресурсоемкости - да, как я отказался от глючных общих ручек, и стал создавать ручки на месте, прога стала есть проц до 7-8 %. Пришлось отказаться от таймера и обновлять график только при движениях мыши на нем или приходе котировки.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
40
Сообщение
...
Прикрепленные файлы
(файлы не залиты)