-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80




Форум на Исходниках.RU


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://forum.sources.ru.
Данный дневник сформирован из открытого RSS-источника по адресу http://forum.sources.ru/yandex.php, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Визуализация уровня данных

Среда, 05 Августа 2020 г. 20:27 + в цитатник
MBo: https://ru.wikipedia.org/wiki/Спектрограмма

Вопрос про скролл я сначала понял как скроллирование окна, поскольку размер 12000 указан.

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

https://forum.sources.ru/index.php?showtopic=419273&view=findpost&p=3835856


Метки:  

двухшаговая инициализация

Среда, 05 Августа 2020 г. 19:16 + в цитатник
Qraizer:
Цитата JoeUser @
Вот второй вариант, когда ресурсы могут менять свое состояние по внешним факторам - тут засада.
Ресурс, который не твой, не твой ресурс, не так ли? Почему я пишу очевиднейшие вещи не в Холиварах?..

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835854


Метки:  

"Фальконы" таки летают!

Среда, 05 Августа 2020 г. 19:13 + в цитатник
Prince: Ну как бы вот

Вспоминается фраза из фильма "укрощение огня":
- К этим двигателям хоть забор привяжи, и забор полетит.

https://forum.sources.ru/index.php?showtopic=278766&view=findpost&p=3835853


Метки:  

двухшаговая инициализация

Среда, 05 Августа 2020 г. 18:56 + в цитатник
ЫукпШ:
Цитата JoeUser @
Вывод: как RAII, так и смарт-поинтерами нужно пользоваться с оглядкой на ситуацию и прогнозы. Они замечательны - но не панацея от всех бед!

О чём это ?
я не предлагаю следить за выделением/освобождением ресурса.
Пишем свой смарт-поинтер. Задача которого следить
за операцией "if(ptr)".
Например:
Скрытый текст

    // --------------------------------------------------------------------------
    // FILE SPTR.h 2020.08.05
    // --------------------------------------------------------------------------
    // класс - указатель
    // --------------------------------------------------------------------------
    #ifndef __SPTR_20200805_H
    #define __SPTR_20200805_H
    // --------------------------------------------------------------------------
    template
    class SPTR
    {
    public:
    private:
    protected:
    T *ptr;
    public:
    WINAPI SPTR(void);
    WINAPI ~SPTR(void);
    T* WINAPI operator ->(void) const;
    void WINAPI operator = (T *ptr_);
    T& WINAPI operator * (void) const;
    // операции преобразования типа
    WINAPI operator T * (void) const;
    WINAPI operator bool ();
    };
    // --------------------------------------------------------------------------
    template
    WINAPI SPTR::SPTR(void) : ptr (NULL)
    {
    }
    // --------------------------------------------------------------------------
    template
    WINAPI SPTR::~SPTR(void)
    {
    }
    // --------------------------------------------------------------------------
    template WINAPI SPTR::operator bool ()
    {
    ::OutputDebugString(_T(__FUNCTION__));
    //..
    // вот тут можно возбудить исключительную ситуацию
    //..
    if(ptr) return true;
    else return false;
    }
    // --------------------------------------------------------------------------
    template
    void WINAPI SPTR::operator = (T *ptr_)
    {
    ptr = ptr_;
    }
    // --------------------------------------------------------------------------
    templateT& WINAPI SPTR::operator *(void)const
    {
    return *ptr;
    }
    // --------------------------------------------------------------------------
    templateT* WINAPI SPTR::operator->(void)const
    {
    return ptr;
    }
    // --------------------------------------------------------------------------
    template WINAPI SPTR::operator T* (void)const
    {
    return ptr;
    }
    // --------------------------------------------------------------------------
    #endif

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835852


Метки:  

Визуализация уровня данных

Среда, 05 Августа 2020 г. 18:46 + в цитатник
ivan1234:
Цитата MBo @
Видимо, неправильно.

может посоветуете литературу в которой хорошо разжёвано про Bitmap?
Цитата MBo @
Посмотрите, что такое сонограмма

здесь я совсем не понял, как это относится к моему вопросу, ну существует такой термин в медицине, возможно что то отдалённо похожее я хочу увидеть у себя на экране... и что? меня интересует как это реализовать, а не как это назвать

https://forum.sources.ru/index.php?showtopic=419273&view=findpost&p=3835850


Метки:  

Язык для обучения программированию

Среда, 05 Августа 2020 г. 18:45 + в цитатник
JoeUser:
Цитата swf @
- А если питон через 5 лет устареет?

Конечно устареет - малой прав! Неприятное это дело обсуждать Петон! Даже читать :(

https://forum.sources.ru/index.php?showtopic=419241&view=findpost&p=3835849


Метки:  

двухшаговая инициализация

Среда, 05 Августа 2020 г. 18:38 + в цитатник
JoeUser: ЫукпШ, не не не ... тут еще есть одна сторона вопроса. Вот ты спроси Килю "что ты больше всего любишь в своей жизни?". Он тебе ответит - RAII. Кстати - смарт-поинтеры из того же балета "Леблядиное Озеро". Да идея - супер, да удобно использование. Но не нужно расслабляться, ибо есть еще одна неприятная сторона жысти и программирования. Есть "нестабильные" ресурсы. Объясняю на пальцах...

1) Запилили в RAII обертку указатель на выделенную память - супер, и нет проблем
2) Запилили в RAII обертку хендл на файл, вроде все пучком. Одна незадача - файл оказался сетевым, и дворник обоссал маршрутизатор

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

Вывод: как RAII, так и смарт-поинтерами нужно пользоваться с оглядкой на ситуацию и прогнозы. Они замечательны - но не панацея от всех бед!

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835848


Метки:  

Визуализация уровня данных

Среда, 05 Августа 2020 г. 16:47 + в цитатник
MBo: >если я правильно понял необходимо заранее создать 256 картинок с градацией серого,
Видимо, неправильно.
ООП тут ни при чём.

>изменение спектра во времени
Посмотрите, что такое сонограмма

https://forum.sources.ru/index.php?showtopic=419273&view=findpost&p=3835843


Метки:  

двухшаговая инициализация

Среда, 05 Августа 2020 г. 16:18 + в цитатник
ЫукпШ:
Цитата Twilight @
.. я знаю, что данный указатель получен из ссылки, и, таким образом, не может быть nullptr. Однако при разрастании кода, об этом можно забыть и все-таки влепить проверки из серии if( m_objectData ).

Оберни указатель m_objectData классом, сделай свой "smart pointer".
В процедуре замены возвращаемого значения типа "bool" вставь
диагностику. Или генерируй исключение, по вкусу.
Тогда любая попытка сделать "if( m_objectData )" приведёт к сообщению об ошибке.

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835842


Метки:  

Визуализация уровня данных

Среда, 05 Августа 2020 г. 12:17 + в цитатник
ivan1234:
Цитата MBo @
Отрисовать матрицу в битмап, битмап на PaintBox, лежащем на ScrollBox.

С битмапом пока не разобрался, если я правильно понял необходимо заранее создать 256 картинок с градацией серого, где то его хранить, если на диске, то боюсь опять возникнут проблемы со скоростью, если создавать в процессе запуска программы, то как это правильно реализовать пока не знаю, потому как ООП для меня пока как для чайника))

Цитата MBo @
>как к скролу дополнительно добавить поток строк?
Что это означает??

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

https://forum.sources.ru/index.php?showtopic=419273&view=findpost&p=3835838


Метки:  

Визуализация уровня данных

Среда, 05 Августа 2020 г. 09:37 + в цитатник
MBo: >Осталось найти такой компонент
Так сам грид всё умеет. Пример


>как скролить такой большой массив как в примере?
Отрисовать матрицу в битмап, битмап на PaintBox, лежащем на ScrollBox.
Если размеры слишком велики, то битмап вообще можно не создавать (размеры ограничены, памяти нужно много),
а рассчитывать часть матрицы, помещающуюся в скроллируемое окно (ScrollBox), и только эту часть выводить.



>как к скролу дополнительно добавить поток строк?
Что это означает??

https://forum.sources.ru/index.php?showtopic=419273&view=findpost&p=3835834


Метки:  

Буквы национального алфавита

Среда, 05 Августа 2020 г. 09:14 + в цитатник
^D^ima: Попался какой-то символ, которого нет в наборе символов на твоем ПК. Или файл поврежден или имеет другую кодировку(скорее всего)

https://forum.sources.ru/index.php?showtopic=419335&view=findpost&p=3835833


Метки:  

двухшаговая инициализация

Вторник, 04 Августа 2020 г. 21:37 + в цитатник
JoeUser:
Цитата Qraizer @
Не обязательно, JoeUser.

Согласен - не вопрос! А вопрос в другом, в "деревенской мудрости" (типа) - "семь раз отмерь, один раз отрежь". Это я про предварительный анализ и проектирование архитектуры приложения/либы. Да, порой кажется, вот он САМ Я вступил в неравную борьбу с энтропией, с которой еще никто не сталкивался ... А потом на утро, после жирной яичницы с беконом и стаканом рассола приходит понимание ... тут 98% классических решений вписывается, нужно только 2% предусловий определить и оформить правильно.

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835830


Метки:  

двухшаговая инициализация

Вторник, 04 Августа 2020 г. 21:26 + в цитатник
Qraizer: Не обязательно, JoeUser. Ситуации всякие бывают, иногда действительно хочется странного, и не по капризу. C++ много что не запрещает или наоборот требует абсолютно, практически любой аспект можно обойти, было бы желание. Но чем опаснее хотелка, тем сложнее это сделать случайно, т.к. необходимые конструкции нужно писать руками и намеренно.
Мне вот как-то надо было, к примеру, изменить порядок вызова конструкторов в классе. Если б я не сообразил, как, то пришлось бы идти на форум, и если б я спросил "как мне изменить порядок инициализации подобъектов", был бы наверняка послан к индусам. Так что я бы спрашивал не это, я бы описал постановку задачи, из которой путём рассуждений следовала бы необходимость смены порядка, и уже как итог спросил бы совета. Нет, я не пришёл, потому что сообразил, как, и сделал. Цель была достигнута. Но не исключено, что спроси я на форуме совета, мне бы предложили куда лучшее решение, не требующее странного, которое однако ускользнуло от моего замыленного взгляда.

Добавлено
Twilight, считай это развёрнутым объяснением, почему твоя тема кажется... э-э-э, странной.

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835829


Метки:  

Буквы национального алфавита

Вторник, 04 Августа 2020 г. 21:14 + в цитатник
gog2906: Спасибо, помог TEncoding.UTF8

Добавлено
Однако при попытке загрузить очередной файл, получил следующее сообщение об ошибке

No mapping for the Unicode character exists in the target multi-byte code page.

https://forum.sources.ru/index.php?showtopic=419335&view=findpost&p=3835828


Метки:  

двухшаговая инициализация

Вторник, 04 Августа 2020 г. 20:43 + в цитатник
JoeUser: Qraizer, чел (ИМХО) просто загоняется! Все же просто как грабли:

1) Хочешь "виртуальную" (отложенную) инициализацию - используй фабрики
2) Хочешь изменение инициализации в рантайме - используй наследование и виртуальные функции
3) Хочешь изменение инициализации в компиле-тайме - используй CRTP

А вот использование ИСКЛЮЧИТЕЛЬНО ссылок щястья не гарантирует ... т.к. такая ссылка может алиасить "нулевой" или "мусорный" указатель. Ну или, как говорится, работай без хипа и обрети бессмертие!

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835826


Метки:  

MFC и VS2019

Вторник, 04 Августа 2020 г. 20:38 + в цитатник
prografix: Есть у меня VS2019, и я решил скомпилировать в ней свой старый проект. Она сказала, что надо установить библиотеки MFC при помощи установщика Visual Studio Installer. В нём я выбрал строку "MFC C++ версии 14.20 для средств сборки версии 142 (x86 и x64)", но после этого студия опять требует библиотеки MFC. Чего ей не хватает?

https://forum.sources.ru/index.php?showtopic=419339&view=findpost&p=3835825


Метки:  

двухшаговая инициализация

Вторник, 04 Августа 2020 г. 20:29 + в цитатник

Метки:  

двухшаговая инициализация

Вторник, 04 Августа 2020 г. 20:18 + в цитатник
OpenGL: Зачем тут вообще указатель или ссылка на ObjectData? Если хочешь избежать копирования, и ты можешь менять ObjectData, то напиши просто move конструктор для него и перемещай в класс.

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835822


Метки:  

двухшаговая инициализация

Вторник, 04 Августа 2020 г. 19:47 + в цитатник
Twilight:
Цитата ЫукпШ @
Это в данном случае будет бесполезно.
Поскольку в классе "AbstractObject" указатель не обнуляется.

Как я писал в первом посте - это не совсем реальный код, а некий псевдокод, который писался прямо здесь "от руки"


Цитата Qraizer @
В общем, я не понимаю истоков проблемы. Почему нельзя создать прямо в нужной точке вместо инициализации

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

Мой вопрос по-сути очень простой.
В ситуации, когда объект инициализируется отдельным методом, приходится хранить указатель на инициализирующие данные. Вот проблема - хранение указателя, за которым нужно следить.
Чтобы хранить инициализирующие данные, не по указателю, а по ссылке, необходимо передавать их через конструктор. В моем случае - это тупое пробрасывание ссылки на данные через всю иерархию. Для меня эта проблема - много однотипной писанины.

Вопрос - можно ли избежать данных проблем?

https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835820


Метки:  

Поиск сообщений в rss_forum_sources_ru
Страницы: 2628 ... 2402 2401 [2400] 2399 2398 ..
.. 1 Календарь