Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Visual studio c++ 2005 express
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
mantech
Приветствую.
Если у кого есть простенький пример работы с графикой в данной IDE ? Интересует проект целиком, (не просто кусок вырванного кода), чтоб можно было сразу запустить, посмотреть и разобраться, как работает. Сразу скажу - в ооп разбираюсь не очень и честно говоря совсем нет желания лезть в это болото, но по другому тут никак. Все, что нужно - рисование линии, прямоугольника, если чего еще - неплохо.

ЗЫ. Просьба не отсылать к борланду и пр. интересует именно эта среда программирования.
alexunder
Цитата(mantech @ Jan 11 2018, 09:19) *
ЗЫ. Просьба не отсылать к борланду и пр. интересует именно эта среда программирования.

C++ или C#?
P.S. В чем смысл использования студии 2005 года? С 2015-го она бесплатная (Community Edition).
mantech
Цитата(alexunder @ Jan 11 2018, 11:43) *
C++ или C#?
P.S. В чем смысл использования студии 2005 года? С 2015-го она бесплатная (Community Edition).


C++

В чем смысл, просто делал на ней несколько консольных программ, пойдут-ли они без доработок на 2015 - х.з.

"С 2015-го она бесплатная (Community Edition)." В т.ч. и для коммерческого использования?
alexunder
Цитата(mantech @ Jan 11 2018, 13:11) *
В чем смысл, просто делал на ней несколько консольных программ, пойдут-ли они без доработок на 2015 - х.з.

Должны пойти, это же чистый C++.
Гуй добавить несложно, тут либо MFC использовать (старорежимная майкросовтовская библиотека классов), либо классы из .Net типа Windows Forms, но я не имею опыта работы с Winforms из C++. Судя по статьям, все должно взлететь.
Для MFC на домашнем компе могу поискать старые проекты с графикой.

Цитата(mantech @ Jan 11 2018, 13:11) *
"С 2015-го она бесплатная (Community Edition)." В т.ч. и для коммерческого использования?

Да. Ваш проект из 2005 должен будет в ней открыться без проблем после конвертации.

https://www.visualstudio.com/ru/vs/community/
Цитата
Для индивидуальных пользователей
Любой индивидуальный разработчик может создавать бесплатные или платные приложения с помощью Visual Studio Community.

Для организаций
Visual Studio Community может использовать неограниченное число пользователей в организации в следующих случаях: в учебных аудиториях, для научных исследований или участия в проектах с открытым кодом.
Для всех прочих сценариев использования:
В некорпоративных организациях Visual Studio Community могут использовать до 5 пользователей. В корпоративных организациях (в которых используется более 250 ПК или годовой доход которых превышает 1 млн долларов США) использование запрещено, за исключением случаев, перечисленных выше (открытый код, научные исследования и учебные аудитории).

В общем, мы типа для научных целей её и пользуем как хотим sm.gif
ms1
Цитата(mantech @ Jan 11 2018, 11:19) *
Если у кого есть простенький пример работы с графикой в данной IDE ? Интересует проект целиком, (не просто кусок вырванного кода), чтоб можно было сразу запустить, посмотреть и разобраться, как работает. Сразу скажу - в ооп разбираюсь не очень и честно говоря совсем нет желания лезть в это болото, но по другому тут никак. Все, что нужно - рисование линии, прямоугольника, если чего еще - неплохо.


Если не хотите ООП и прочего можете попробовать работать непосредственно с Win Api.
Для работы нужна SDK, кажется раздается Майкрософтом также задаром.
Для обучения и примеров скачайте книжку Петзолда "Программирование для windows95" вместе с содержимым дискеты.
На дискете полные исходники программ описанных в каждой главе и скомпилированные из них exe.
Есть примеры работы с графикой текстом и т.п. все разжевано. Можете позапускать готовые exe.
Программы на API будут работать на любой версии Win.

mantech
Цитата(alexunder @ Jan 11 2018, 16:02) *
Гуй добавить несложно, тут либо MFC использовать (старорежимная майкросовтовская библиотека классов), либо классы из .Net типа Windows Forms, но я не имею опыта работы с Winforms из C++. Судя по статьям, все должно взлететь.


Вот и там она мне предлагает использовать win forms, а опыта у меня с ними тоже нет. Нужна программа для создания и редактирования форм пользовательского GUI на подобие Emwin form designer, (создать форму и разместиь в ней кнопки, чекбоксы, графики...) если в курсе, что такое.
Я ее под ДОСом за неделю написал бы, но кому сейчас нужна прога под 16бит ДОС??
Вот и ковыряюсь в этом болоте crying.gif
alexunder
Цитата(mantech @ Jan 11 2018, 14:35) *
Вот и там она мне предлагает использовать win forms, а опыта у меня с ними тоже нет.

Думаю, с вашим опытом изучить винформсы чтоб создать однопотоковое приложение составит не более одного дня. Там ведь тоже графический редактор форм, ничего сложного.
ms1
Цитата(mantech @ Jan 11 2018, 16:35) *
Я ее под ДОСом за неделю написал бы, но кому сейчас нужна прога под 16бит ДОС??


Тогда тем более Вам будет легко освоиться с Win API и быстро написать то что Вам нужно.
Книга приведенная выше как раз для программистов переходящих из ДОС под Виндовс.

PS:
VS2005 также бесплатна как и VS2015.
Не гарантирую что лицензии идентичны, но у Вас ведь есть лицензионное соглашение, можете прочитать его. Если это конечно играет роль в Вашем случае.
_pv
https://electronix.ru/forum/index.php?s=&am...t&p=1501122
собственно "проект", это три строчки прагм с библиотеками.

http://seriss.com/people/erco/fltk/#AnimateDrawing
http://www.fltk.org/doc-1.3/drawing.html

надо только собрать библиотеку FLTK, но насколько помню там были проекты для сборки из студии


dxp
Если нужно никидать несложный GUI, то почему бы не использовать тот же Qt? Компилятор можно там использовать по желанию - под вендой MSVC. Бонусом будет кроссплатформенность.
mantech
Цитата(dxp @ Jan 12 2018, 05:26) *
Если нужно никидать несложный GUI, то почему бы не использовать тот же Qt? Компилятор можно там использовать по желанию - под вендой MSVC. Бонусом будет кроссплатформенность.


Зачем мне еще один гуй? Винда уже сама по себе гуй хороший, вопрос в рисовании графики в окне.

Цитата(_pv @ Jan 11 2018, 18:06) *
https://electronix.ru/forum/index.php?s=&am...t&p=1501122
собственно "проект", это три строчки прагм с библиотеками.

http://seriss.com/people/erco/fltk/#AnimateDrawing
http://www.fltk.org/doc-1.3/drawing.html

надо только собрать библиотеку FLTK, но насколько помню там были проекты для сборки из студии


Немного сложновато пока, попробую, может получится rolleyes.gif


ЗЫ. Вот интересно, разработчиков гуев всяческих вроде не мало, а редактор форм для них видел только у емвина, проектов с открытыми исходниками тоже не видать, может не так ищу? laughing.gif
alexunder
Цитата(mantech @ Jan 12 2018, 10:29) *
ЗЫ. Вот интересно, разработчиков гуев всяческих вроде не мало, а редактор форм для них видел только у емвина, проектов с открытыми исходниками тоже не видать, может не так ищу? laughing.gif

Редактор форм есть в любой IDE: MSVS, Qt и пр.
Могу вечером выложить проектик на mfc. Рисовать в окошке там очень просто.
mantech
Цитата(alexunder @ Jan 12 2018, 12:55) *
Редактор форм есть в любой IDE: MSVS, Qt и пр.
Могу вечером выложить проектик на mfc. Рисовать в окошке там очень просто.


Это-то я понимаю, я про редакторы гуев для микроконтроллеров, на подобие емвина... Если брать редакторы от тяжелых иде под винду, то придется парсить их ресурсные файлы, а это не всегда просто и подходит под задачу.
В случае иткрытых исходников редактора их можно "поправить" под свои нужды.

ЗЫ. Для дальнейшего понимания обрисую задачу вообщем:

Есть ПЛК-контроллер, на котором крутится вирт. машина, и работает пользовательский гуй, на подобие винды. Код задач пишется в редакторе вида Edit++ и преобразуется в биткод, который исполняется на ПЛК. Формы для гуя в данный момент пишутся подобно исходникам, которые делает емвин форм креатор(он по началу был взят за основу, но затем возможности гуя выросли и данный редактор перестал удовлетворять), вот ему замену и нужно написать laughing.gif
alexunder
Цитата(mantech @ Jan 12 2018, 12:12) *
ЗЫ. Для дальнейшего понимания обрисую задачу вообщем:

Ясно, я Вас неправильно понял в начале темы.

Если брать гуй-редактор от MSVS, то если использовать Windows Forms, парсить придется только метод InitializeComponent() дизайнерского c# файла. Вот, например, окошко с кнопкой описывается таким образом:
Код
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(68, 90);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(107, 42);
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.UseVisualStyleBackColor = true;
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 268);
            this.Controls.Add(this.button1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);
        }



Если использовать более современную WPF, то код такой же формы описывается XML-языком:
Код
<Window x:Class="WpfApplication3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication3"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="150,115,0,0" VerticalAlignment="Top" Width="135" Height="55"/>
    </Grid>
</Window>


в общем, оба варианты имеют довольно неплохую "парсабилити". Последний удобнее, ибо XML, для которого есть полно библиотек во всех языках.
_pv
fluid у fltk сразу с++ код генерит, причём возможно удастся fltk перенести прям на ПЛК.
ну или https://github.com/vurtun/nuklear какой-нибудь.
mantech
Цитата(_pv @ Jan 12 2018, 15:42) *
fluid у fltk сразу с++ код генерит, причём возможно удастся fltk перенести прям на ПЛК.
ну или https://github.com/vurtun/nuklear какой-нибудь.


На ПЛК у меня уже есть вполне нормальный гуй.

Честно говоря, думал что все уже видел, но оказывается нет, весь гуй запихнули в один файл под мегабайт весом, да еще и в заголовочный тип (nuklear.h), это что-то! biggrin.gif


"fluid у fltk сразу с++ код генерит" - а вот про это можно подробнее, под винду не нашел, только линь, исходники скорее всего тоже только под него, а так по идее, то, что нужно.

ЗЫ. Нашел исходники от wxFormBuilder - но штука тяжелая, с какой стороны к ней подступиться, в смысле, как ее скомпилить под винду - это вопрос...
_pv
Цитата(mantech @ Jan 12 2018, 21:16) *
"fluid у fltk сразу с++ код генерит" - а вот про это можно подробнее, под винду не нашел, только линь, исходники скорее всего тоже только под него, а так по идее, то, что нужно.

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

но что именно нужно немного непонятно, начали с рисования графики, а теперь графические кодогенераторы для гуя и wxFormBuilder.
mantech
Цитата(_pv @ Jan 13 2018, 01:43) *
но что именно нужно немного непонятно, начали с рисования графики, а теперь графические кодогенераторы для гуя и wxFormBuilder.


Именно этот кодогенератор и нужно.

ЗЫ. пока склоняюсь к мысли об использовании для этой цели форм-дизайнера от визуал студии. В принципе под решение задачи подходит, за мелкими недостатками и особенностями, и тем, что клиенту для работы нужно будет установить студию на свой комп, с другой стороны, она бесплатна, поэтому ставить на комп в конторе можно.
Парсить созданные ею файл гораздо проще, чем писать такой редактор.
iggoorst
хотел написать о версии 2015, а тут вопрос был уже поднят и решен
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.