Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
#1

Win32 API, MFC, или Windows Forms? - C++

31.07.2015, 02:53. Просмотров 1980. Ответов 32
Метки нет (Все метки)

Здравствуйте!
У меня очень простая задача на С++, нужно построить графики по точкам (данные из файлов) в разных окнах, масштабировать их и накладывать друг на друга иногда, (консоли недостаточно). Нужно меню и несколько кнопок, окна с графиками.
Полноценные Windows приложения никогда не делал.
У Щупака "Эффективная разработка" сказано, что надо начинать изучение с Win32 API, с другой стороны, всякие знатоки пишут, что никто сейчас так не делает и нужно MFC использовать. Кто что посоветует? Какую книгу или ресурс в сети русскоязычный, где я смог бы найти все вопросы, с которыми столкнусь при решении своей задачи? И в как правильно поступать изучать Win32 API, искать информацию по MFC, или Windows Forms изучать? У меня Win8.1, VS2013.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kuza84
-4 / 23 / 4
Регистрация: 25.04.2013
Сообщений: 195
31.07.2015, 03:54     Win32 API, MFC, или Windows Forms? #2
Цитата Сообщение от russian_pepper Посмотреть сообщение
Здравствуйте!
У меня очень простая задача на С++, нужно построить графики по точкам (данные из файлов) в разных окнах, масштабировать их и накладывать друг на друга иногда, (консоли недостаточно). Нужно меню и несколько кнопок, окна с графиками.
Как вариант, если срочно надо, если владеете Exel то можно выгрузить все точки в файл .xls, а потом в Exel построить графики.
Mr.X
Эксперт С++
 Аватар для Mr.X
3021 / 1677 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
31.07.2015, 06:41     Win32 API, MFC, или Windows Forms? #3
Вот похожая тема.
Там даже музыкальные иллюстрации есть.
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 12:40  [ТС]     Win32 API, MFC, или Windows Forms? #4
kuza84, Excel не подходит, там нельзя строить графики более чем с двумя осями ординат на одном, а мне надо. И формат данных не тот который Excel обрабатывает. Вот, например, одна ячейка из моего CSV файла:
Код
BID_COUNT=20.000000OFFER_COUNT=20.000000BID=PRICE=134.640000QUANTITY=10.000000PRICE=134.710000QUANTITY=3.000000PRICE=134.720000QUANTITY=3.000000PRICE=134.740000QUANTITY=10.000000PRICE=134.780000QUANTITY=3.000000PRICE=134.840000QUANTITY=10.000000PRICE=134.850000QUANTITY=45.000000PRICE=134.900000QUANTITY=1450.000000PRICE=134.920000QUANTITY=3.000000PRICE=134.940000QUANTITY=79.000000PRICE=134.980000QUANTITY=1002.000000PRICE=135.000000QUANTITY=1126.000000PRICE=135.010000QUANTITY=58.000000PRICE=135.020000QUANTITY=30.000000PRICE=135.050000QUANTITY=2254.000000PRICE=135.060000QUANTITY=2.000000PRICE=135.090000QUANTITY=100.000000PRICE=135.100000QUANTITY=127.000000PRICE=135.110000QUANTITY=402.000000PRICE=135.200000QUANTITY=72.000000OFFER=PRICE=135.380000QUANTITY=361.000000PRICE=135.400000QUANTITY=1.000000PRICE=135.420000QUANTITY=100.000000PRICE=135.500000QUANTITY=101.000000PRICE=135.590000QUANTITY=340.000000PRICE=135.600000QUANTITY=5028.000000PRICE=135.680000QUANTITY=157.000000PRICE=135.770000QUANTITY=65.000000PRICE=135.780000QUANTITY=500.000000PRICE=135.790000QUANTITY=1.000000PRICE=135.800000QUANTITY=53.000000PRICE=135.840000QUANTITY=1.000000PRICE=135.870000QUANTITY=44.000000PRICE=135.880000QUANTITY=280.000000PRICE=135.890000QUANTITY=7.000000PRICE=135.900000QUANTITY=306.000000PRICE=135.920000QUANTITY=2.000000PRICE=135.940000QUANTITY=2763.000000PRICE=135.950000QUANTITY=5000.000000PRICE=135.960000QUANTITY=1.000000
S_el
2065 / 1572 / 301
Регистрация: 15.12.2013
Сообщений: 6,206
31.07.2015, 12:47     Win32 API, MFC, или Windows Forms? #5
russian_pepper, используйте scilab для построения графиков.
Butt-Head
Заблокирован
31.07.2015, 12:53     Win32 API, MFC, или Windows Forms? #6
Цитата Сообщение от russian_pepper Посмотреть сообщение
kuza84, Excel не подходит, там нельзя строить графики более чем с двумя осями ординат на одном, а мне надо.
Тебе вообще для чего нужно эти графики строить? Что б "программу" преподу показать или тебе реально нужно работать с графиками и находить какие - то точки пересечения или ещё чего?
Если второй - есть MatLab, там всё можно построить.

А если ты хочешь сам написать, тогда все твои варианты - галяк.
Для этих целей лучше всего подходит Qt (http://www.qt.io/ru/download-open-source/#section-2)
Собственно сейчас вообще большинство современного кроссплатформенного софта пишется на Qt.

Там и кнопочки есть, и рисовать можно
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 13:08  [ТС]     Win32 API, MFC, или Windows Forms? #7
Butt-Head,S_el, Надо получать из файлов двух типов (около 7000 файлов) значения и записать их в векторы по столбцам. Для последующего анализа. Редактировать данные не потребуется в файлах. Нужно только попарно (по дате в названии файла) считывать их из указанной директории анализировать выводить на график и записывать оптимальные параметры в один файл с разбиением по датам. После анализа и нахождения оптимальных значений, на графике должны быть показаны разным цветом точки оптимальной покупки и продажи.
Файлы первого типа: Фиксация данных посекундная, но есть пропуски данных. Файлы текстовые, значения в строках разделены точкой с запятой (*.csv файлы). После последнего названия столбца в файле, в строках после 1-й иногда попадаются данные созданные другой программой, они нужны были для отладки и их нужно игнорировать. Последний столбец STAKAN, нужно разобрать на элементы и поместить в массив структур.
Файлы второго типа:
Фиксация данных внутри секунды, формат времени в первом столбце не совпадает с форматом в файлах первого типа. Все данные нужно записать, как и файлы первого типа каждый столбец в своём векторе.
Данные файлов нужно совместить во времени и разместить на одном графике, отмасштабировать так, чтобы можно было вывести любые параметры по выбору пользователя в одной области, но с разным масштабом по оси ординат (Excelне позволяет выводить графики с более чем двумя осями ординат). На графике нужно выделить области с разрывом связи, или перебоями передачи данных, там, где пропуски более 15 секунд.
В файлах второго типа из-за ошибки в другой программе, которую недавно заметил и устранил, иногда данные могут повторятся, нужно, чтобы при записи в вектор повторяющиеся данные не записывались.
Конечная цель – нужно найти зависимости, понять, является ли значение INDICATOR в файлах первого типа, опережающим для значении CN и PRICE. И выбрать оптимальные значения INDICATOR при которых стоит совершать покупку по цене CN или PRICE и какую закладывать прибыль, проверить, как влияют остальные параметры на движение CN, чтобы было минимум убыточных сделок и максимум прибыли. И иметь возможность на истории данных проверять любую торговую стратегию.
Нужно понять, параметры для рынка будут всегда разные или значения сконцентрируются у каких-то определённых значений переменной INDICATOR
Думаю, для специалиста это игрушка на месяц, но я только учусь...
Буду признателен за любые практические советы и замечания в решении этой задачи.
Butt-Head
Заблокирован
31.07.2015, 13:18     Win32 API, MFC, или Windows Forms? #8
Цитата Сообщение от russian_pepper Посмотреть сообщение
Думаю, для специалиста это игрушка на месяц, но я только учусь...
Я бы такой "софт" набрасал бы за день, да и то, большую часть времени копался бы с "движком" для графиков, чтоб красивее было и на века А если тяп - ляп, то за пару часов бы всё и накидал.

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

Так что качай Qt под свою Ос по моей ссылке выше и начинай его изучать.
Если что - буду подсказывать что к чему.
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 13:30  [ТС]     Win32 API, MFC, или Windows Forms? #9
Butt-Head, Решил сам делать, первый раз что-то не из учебников, могу что-то не учесть сразу, надо, чтобы возможность исправить была у меня...
Вы лично по какому источнику Qt изучать рекомендуете, для решения моей задачи?
Butt-Head
Заблокирован
31.07.2015, 13:46     Win32 API, MFC, или Windows Forms? #10
Цитата Сообщение от russian_pepper Посмотреть сообщение
Вы лично по какому источнику Qt изучать рекомендуете, для решения моей задачи?
Ну во - первых, тут есть специальная ветка, где, если что, помогут - http://www.cyberforum.ru/qt/
Хотя она и не такая активная, как эта.

По поводу книг... Я всё изучал без книг, по форумам и мануалам...
Я честно говоря побаиваюсь тебе Qt советовать, если ты С++ толком не знаешь ...
Ну попробовать можно конечно...
Вот смотри, тут на форуме есть Qt - руководство для новичков
По книгам... Наверное можешь это глянуть: Макс Шлее - Qt 4.8. Профессиональное программирование на C++
Сейчас Qt уже давно 5-й, точнее 5.5 ... Это уже далеко от 4.8 ушло, но всё же основы там есть.

Смотри, по старинке графику и GUI в Qt делали на так называемых виджетах, сейчас модно делать уже на QML (QtQuick), это часть Qt. Так джава скриптом пишется...
MansMI
1111 / 908 / 229
Регистрация: 08.01.2012
Сообщений: 3,282
31.07.2015, 15:00     Win32 API, MFC, или Windows Forms? #11
Windows Forms самое простое, видимо поэтому вопросов по нему ни здесь, ни на его собсвенной ветке, почти не бывает, имхо
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 15:42  [ТС]     Win32 API, MFC, или Windows Forms? #12
MansMI, Как Вы думаете, я получаю разные иногда противоположные рекомендации, потому, что люди советуют, то что знают сами, а остальное просто не знают, или какая-то другая причина?
Я понимаю, что графика в окне, это сложнее чем точки и линии в бэйсике рисовать 20 лет назад в институте было, но ведь в С++ в окне точки линиями соединить это не антивирус написать, всё не так сложно должно быть даже для новичка, я наверное дольше читаю и выбираю на чём сделать то, что задумал. Застрелиться проще. И сравнения кода не могу найти, чтобы показал кто-то как отрезок в окне на Qt реализовать, как в Windows Forms, в Win32 API и MFC, если можете покажите несколько примеров (точка, отрезок, поставить и стереть), буду очень признателен или ссылку дайте, где подобные задачи разными средствами решаются...
MansMI
1111 / 908 / 229
Регистрация: 08.01.2012
Сообщений: 3,282
31.07.2015, 15:48     Win32 API, MFC, или Windows Forms? #13
в плане рисования Windows Forms можно сказать собрат Delphi, Builder
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 15:53  [ТС]     Win32 API, MFC, или Windows Forms? #14
MansMI, Я такой специалист, что мне сравнивать не чем. 8 уроков по С++, год назад, бэйсик и ассемблер в институте.
Butt-Head
Заблокирован
31.07.2015, 15:55     Win32 API, MFC, или Windows Forms? #15
russian_pepper, про Qt я тебе дельный совет дал, не слушай дилетантов.
Windows Forms - это архаичная убогая технология, которую уже хрен знает сколько лет ни кто не использует, он загнулась немногим позже MFC (под загнулась я подразумеваю - перестала использоваться)

Скачай Qt - будешь в QML рисовать. Там пара строк кода, вот увидишь! Я тебе пример скину.
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 17:20  [ТС]     Win32 API, MFC, или Windows Forms? #16
Butt-Head, Шлее - Qt 4.8. скачал, читаю, QT устанавливаю.
Если можно ещё пару глупых вопросов:
Я научился перебирать файлы в каталоге (в консоли), пользовался atof() и getline(), это всё будет работать без изменений или мне нужно будет ещё пару книг прочитать и что-то переделать (это на сегодня мои супердостижения в С++)?
И последнее, я выбирал С++ из соображений скорости работы, т.к. по обзорам сделал вывод, что это самое быстрое после ассемблера и С, я не ошибся с языком?

Добавлено через 11 минут
Butt-Head, Прочитал,что Qt Libraries можно интегрировать в Visual Studio. Если я ничего другого не знаю пока, есть смысл это сделать или нет?
Butt-Head
Заблокирован
31.07.2015, 17:27     Win32 API, MFC, или Windows Forms? #17
Цитата Сообщение от russian_pepper Посмотреть сообщение
это всё будет работать без изменений или мне нужно будет ещё пару книг прочитать и что-то переделать (это на сегодня мои супердостижения в С++)?
Разумеется всё будет работать, т.к. Qt - этот тот же С++, просто это как бы надстройка над ним для более удобной работы и поддержки всех современных операционных систем, то есть если ты будешь писать код чисто на Qt (в это входит и чистый стандарт С++), то этот код соберётся и под Windows и под Linux и под Mac и под iOS и под Adroid и ещё много под что...
Правда в Qt есть более удобные средства для работы с файлами.
В общем то в Qt есть практический всё, что может потребоваться программисту, включая 3D графику на OpenGL, поддержку сети, устройств ввода и многое другое ..

Цитата Сообщение от russian_pepper Посмотреть сообщение
И последнее, я выбирал С++ из соображений скорости работы, т.к. по обзорам сделал вывод, что это самое быстрое после ассемблера и С, я не ошибся с языком?
Не ошибся. С++ действительно - самый мощный язык на данный момент времени и думаю он таким и останется.

Хотя, если нужно для будущей работы, можно рассмотреть так же и Java.

Добавлено через 3 минуты
Цитата Сообщение от russian_pepper Посмотреть сообщение
Прочитал,что Qt Libraries можно интегрировать в Visual Studio.
Я бы не стал, т.к. в комплекте того, что ты устанавливаешь, уже есть прекрасная IDE под названием QtCreator.
Я по началу то же от студии не мог отвыкнуть, а потом как то понял, что QtCreator на самом деле даже удобнее, плюс - я не нашёл в VisualStudio ничего того, чего бы не было в QtCreator, ну не считая специфических аддонов, типа отладки CUDA/ DirectX/ GPGPU на VisualStudio... Но это уже отдельная песня.
Зато в QtCreator есть то, чего нет в студии и плюс он заточен под Qt. А так же, проект в QtCreator ты легко может дать своему другу на другой ОС и он его с лёгкостью откроет и соберёт, а вот проект на Qt под студию ты там просто не передаешь, придётся очень много гемороится ...

Добавлено через 46 секунд
Я через минут 50 домой ухожу, так что задавай быстрей вопросы по хелоу ворлду :-)
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 17:38  [ТС]     Win32 API, MFC, или Windows Forms? #18
У меня только Qt на 2/3 установилась ещё... Вопросы позже будут...
Butt-Head
Заблокирован
31.07.2015, 17:44     Win32 API, MFC, или Windows Forms? #19
Цитата Сообщение от russian_pepper Посмотреть сообщение
У меня только Qt на 2/3 установилась ещё...
А ты кстати какой Qt то скачал для установки? Для VisualStudio или под minGW или ещё какой ?
Скопируй сюда название ссылки...
И скажи заодно, какая версия VisualStudio у тебя установлена.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2015, 17:57     Win32 API, MFC, или Windows Forms?
Еще ссылки по теме:

Подключение OCX элемента а НЕ MFC программе Win32 C++
Что выбирать для дальнейшего изучения Windows 7 c Win32 или Windows 8 c WinRt? C++
C++ Пытаться ли использовать Windows forms с C++? Или лучше иди в C#?
Как создать windows forms приложение с возможностью работы с win32? C++
Что выбрать: mfc, api, winforms,qt или перейти на с#? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
russian_pepper
43 / 0 / 0
Регистрация: 14.06.2014
Сообщений: 125
31.07.2015, 17:57  [ТС]     Win32 API, MFC, или Windows Forms? #20
Butt-Head, По Вашей ссылке выбрал для Windows
http://master.qt.io/archive/online_i...2-1-online.exe
У меня VS Ultimate 2013

Добавлено через 6 минут
Butt-Head, Установилась, ещё и меню на русском языке. Это хорошо? Русский мой родной, но если не дай бог книга попадёт где меню без перевода, это смерть...
Yandex
Объявления
31.07.2015, 17:57     Win32 API, MFC, или Windows Forms?
Ответ Создать тему
Опции темы

Текущее время: 17:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru