Приветствую. Ищу книги или статьи по созданию графических интерфейсов. Имеется Visual Studio 2010 Pro. Нужны программы с графической визуализацией процессов и показаниям датчиков, в виде рисования графиков, цифровых/стрелочных индикаторов, заполняющихся полосок, мигающих кнопок и т.д. По найденным книгам максимум калькуляторы можно сделать, по принципу ввёл значения, нажал кнопку, получил результат. Гуглить пытался, мягко и цензурно говоря, результат нулевой.
Есть холст для рисования. Изучаете имеющиеся графические функции (GDI, GDI+ и др.) и рисуете что хотите - графики цифровые/стрелочные индикаторы, заполняющихся полоски, мигающие кнопки и т. д.
https://urok.1sept.ru/articles/413294 Графические объекты состоят из точек, линий, дуг, окружностей и текста. Так что для создания таких объектов требуется не особо много знаний, но огромная куча терпения. Знаний требует рисование текста с произвольной ориентацией, создание нестандартных окон (форм). Это находится гуглением в интернете и использованием API функций. Как оформить ваш труд в виде стандартного компонента языка (типа крутилки, джойстика, стрелочной головки и тд.) - вот этого я не знаю. ПС. В пакете с языком часто находится неплохой набор графических элементов.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Информацию на вооружение взял, что-то накопал, что-то подсказали. Спасибо. Посоветовали перейти на Qt, пока там изучаю. Если не пойдёт, буду VS дальше копать. Пока вопрос закрыл.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Qt официально есть как платный так и бесплатный, VS бесплатный только ломанный, с кучей багов, задолбался его переустанавливать. И не более специфичный чем VS, который даже пустой проект не может скомпилировать без хреналиярда ошибок. Но имеем то что имеем.
Как показывает практика, в 99.999% случаев GUI вообще не нужен. Так что, следует 100 раз подумать, прежде чем GUI раскорячивать. Ведь в командной строке намного удобней работать. Ну и советую таки удалить прошивку для игровых приставок и поставить себе линукс. Ну или хотя бы мастдайку - бубунту какую-нибудь… Ведь забивать гвозди микроскопом — идиотизм, как и пытаться работать на игровой приставке!
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
mehanik_all, Вы какую-то чушь сказали. Вероятно, от незнания ни того, ни другого. Но вряд ли...
Добавлено after 6 minutes 50 seconds: Eddy_Em, осциллографы-визиографы, всякие прочие приборы на шкафах контроля/управления полагаю, это оставшиеся 0,001% а так -то оно конечно берем шкафчик с HMI-панелькой и делаем в ней командую строку. Очень удобно. И управлять, и воспринимать информацию. Особенно цифровую. - дядя военный, а сколько времени? -12 поделить на 37... слышь, пацан, дели сам, мне некогда.
Воспринимать размер сектора, образованного стрелкой, нарисованной в GUI, мозг может в миллион раз быстрее, чем цифры, и в миллиард - чем в командной строке вспомнить синтаксис команды, затем вспомнить опции, потом получить кучу левых сообщений, перенабрать команду с фильтром... чтож, одно хорошее свойство у командной строки есть: она выдаст результат только тому, кто его действительно хочет и достоин
Вот только для простейшей автоматизации гуй не годится совершенно! А на баш-скриптах все отлично работает!
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Ой точно, глупости пишу какие-то, и гвозди забиваю гамма-микроскопами. Может перейдём на аналоговые и логические мс с диодными матрицами и стрелочными индикаторами, и общаться по телеграфу будем, а то эти гуи, ардуино да тисипиайпи всякие, слишком сложно, и нецелесообразно энерго затратно.
Вроде как бесплатно пока раздают. Не знаю как сейчас, раньше в комплекте прилагалась куча компонентов для визуализации и для связи с периферией по стандартным протоколам, плюс сторонние VCL-компоненты. Делали в свое время на CBuilder систему управления-визуализации а-ля SCADA на промышленных объектах. Для Linux был Kylix, Lazarus еще.
Если задача - научиться такие системы создавать самому, то стОит посмотреть вышеописанное, чтобы хотя-бы увидеть вживую, как это может выглядеть, какие будут нужны данные для подобных элементов, для некоторых компонентов прилагаются исходники, все не совсем уж с нуля начинать. Ну, или, ТС подробнее описать, что ему требуется.
>TEHb<, есть такое, поэтому придумали zsh - там и дроби можно… Ну, а в баше можно использовать bc - я так и делаю, если нужно что-то простое считать в скрипте (или же awk, если посложней). Вот - немножко из моего ~/.bashrc:
Код:
function round(){ [ "$2" = "" ] && NUM=3 || NUM=$2; echo $1 | sed "s/\([[:digit:]]*\.[[:digit:]]\{,$NUM\}\).*/\1/"; } function sin(){ echo "scale=10; s($1*a(1)/45);" | bc -l; } function cos(){ echo "scale=10; c($1*a(1)/45);" | bc -l; } function tan(){ echo "scale=10; arg=$1*a(1)/45; s(arg)/c(arg);" | bc -l; } function logn(){ echo "scale=10; l($1);" | bc -l; } function log(){ echo "scale=10; l($1)/l(10);" | bc -l; } function pow(){ echo "scale=10; ($1)^($2);" | bc -l; } function sqrt(){ echo "scale=10; sqrt($1);" | bc -l; } function exp(){ echo "scale=10; e($1);" | bc -l; } function bin2hex(){ echo "obase=16;ibase=2;$1" | bc; } function bin2dec(){ echo "obase=10;ibase=2;$1" | bc; } function dec2hex(){ echo "obase=16;ibase=10;$1" | bc; } function lower(){ echo $1 | tr [:upper:] [:lower:]; } function upper(){ echo $1 | tr [:lower:] [:upper:]; } function hex2binary(){ echo "obase=2;ibase=16; $(upper $1)" | bc; } function hex2dec(){ echo "obase=10;ibase=16; $(upper $1)" | bc; } export pi=$(echo 'scale=10; a(1)*4;' | bc -l) #' export PI=$pi
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Ну вот, уже один костыль есть. Так-то я бы даже готов был на такое пойти, но вот с многопоточностью не совладал, плюнул, и сделал полноценную программу. Прикол в том, что если хочется в прямом эфире наблюдать за показаниями и записывать в файл, то конструкция в скрипте вида
Код:
cat /dev/$gdmdevice | tee voltlog.txt &
по окончании выполнения оставляет в памяти один процесс. Повоевал немного с этой проблемой и понял, что в С мне будет гоооораздо удобнее оперировать потоками. Может и было какое-то решение на баше, но с ходу не нашёл такого и сделал как проще.
Понятно, что на С все намного приятней. Если мне не хватает "сервера" на netcat и баш-скрипте, а CGI не спасет (т.к. нужен постоянно работающий демон), приходится лепить сишное приложение. Но в опросе клиентов сокета я poll использую, чтобы не плодить потоки (скажем, 32768 клиентов через потоки не реализуешь никак, а буфер poll может быть сколь угодно большим, насколько лимиты позволяют). Понятно, что и pid_max можно в триллион установить, но вот это не избавит от потребления ресурсов каждым клиентом (в случае же полла понадобится лишь немного памяти выделить для нового клиента, и миллион клиентов вряд ли сожрут больше несчастной пары ГБ ОЗУ).
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Нужны программы с графической визуализацией процессов и показаниям датчиков, в виде рисования графиков, цифровых/стрелочных индикаторов, заполняющихся полосок, мигающих кнопок и т.д.
Если не требуется граф. ускорение используйте функции gdi32 и рисуйте что хотите и в WM_PAINT отображайте отрисованное через двойной буфер, при динамическом отображении используйте BitBlt(...) Где прочитать? - Читайте MSDN с примерами.
По найденным книгам максимум калькуляторы можно сделать, по принципу ввёл значения, нажал кнопку, получил результат. Гуглить пытался, мягко и цензурно говоря, результат нулевой.
Без взаимодействия с GUI т.е. User32 не обойтись, так как User32 отвечает за GUI, создание окна, взаимодействие с окном и т.д. Не конечно можно отрисовать прямо на рабочий стол, но, дескриптор рабочего стола таки придется получать (GetDC(...)) от User32.
Ну у тебя собственно да, пользуйся линуксом - непопулярной операционной системой никто тебе не запрещает, ибо WinAPI для тебя и другого непосвященного это темный лес. А в Windows за графику отвечает подсистема Gdi32.dll, а за окна User32.dll оба "взаимодействуют" на низком уровне с Win32k.sys и ядром NT. Опровергнуть собственно у тебя это не получится, а значит твой коммент очередной пустопорожний высер с целью развести в тематике срач.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения