Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/37: Рейтинг темы: голосов - 37, средняя оценка - 4.95
44 / 1 / 0
Регистрация: 14.06.2014
Сообщений: 150
1

Win32 API, MFC, или Windows Forms?

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

Author24 — интернет-сервис помощи студентам
Здравствуйте!
У меня очень простая задача на С++, нужно построить графики по точкам (данные из файлов) в разных окнах, масштабировать их и накладывать друг на друга иногда, (консоли недостаточно). Нужно меню и несколько кнопок, окна с графиками.
Полноценные Windows приложения никогда не делал.
У Щупака "Эффективная разработка" сказано, что надо начинать изучение с Win32 API, с другой стороны, всякие знатоки пишут, что никто сейчас так не делает и нужно MFC использовать. Кто что посоветует? Какую книгу или ресурс в сети русскоязычный, где я смог бы найти все вопросы, с которыми столкнусь при решении своей задачи? И в как правильно поступать изучать Win32 API, искать информацию по MFC, или Windows Forms изучать? У меня Win8.1, VS2013.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.07.2015, 02:53
Ответы с готовыми решениями:

Посоветуйте, пожалуйста, каким образом будет лучше реализовать мою задачу? (MFC, Win API, Windows Forms))
Предупрежу, что я профан во всём сразу - MFC, Win API, Windows Forms (я даже не уверена, что...

Win32 API vs MFC vs .NET
Что это такое, чем они отличаются и что сейчас лучше учить?

clr,mfc,windows forms
на чем лучше всего создавать оконный проект в MSVS2010? и как его собрать в 1 exe исполняемый...

Как создать windows forms приложение с возможностью работы с win32?
Значит смысл примерно такой. Хочу создать Windows Forms приложении на C++. Это я делать умею. Все...

32
24 / 24 / 7
Регистрация: 25.04.2013
Сообщений: 195
31.07.2015, 03:54 2
Цитата Сообщение от russian_pepper Посмотреть сообщение
Здравствуйте!
У меня очень простая задача на С++, нужно построить графики по точкам (данные из файлов) в разных окнах, масштабировать их и накладывать друг на друга иногда, (консоли недостаточно). Нужно меню и несколько кнопок, окна с графиками.
Как вариант, если срочно надо, если владеете Exel то можно выгрузить все точки в файл .xls, а потом в Exel построить графики.
0
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
31.07.2015, 06:41 3
Вот похожая тема.
Там даже музыкальные иллюстрации есть.
0
44 / 1 / 0
Регистрация: 14.06.2014
Сообщений: 150
31.07.2015, 12:40  [ТС] 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
0
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
31.07.2015, 12:47 5
russian_pepper, используйте scilab для построения графиков.
0
Заблокирован
31.07.2015, 12:53 6
Цитата Сообщение от russian_pepper Посмотреть сообщение
kuza84, Excel не подходит, там нельзя строить графики более чем с двумя осями ординат на одном, а мне надо.
Тебе вообще для чего нужно эти графики строить? Что б "программу" преподу показать или тебе реально нужно работать с графиками и находить какие - то точки пересечения или ещё чего?
Если второй - есть MatLab, там всё можно построить.

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

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

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

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

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

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

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

Добавлено через 11 минут
Butt-Head, Прочитал,что Qt Libraries можно интегрировать в Visual Studio. Если я ничего другого не знаю пока, есть смысл это сделать или нет?
0
Заблокирован
31.07.2015, 17:27 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 домой ухожу, так что задавай быстрей вопросы по хелоу ворлду :-)
1
44 / 1 / 0
Регистрация: 14.06.2014
Сообщений: 150
31.07.2015, 17:38  [ТС] 18
У меня только Qt на 2/3 установилась ещё... Вопросы позже будут...
0
Заблокирован
31.07.2015, 17:44 19
Цитата Сообщение от russian_pepper Посмотреть сообщение
У меня только Qt на 2/3 установилась ещё...
А ты кстати какой Qt то скачал для установки? Для VisualStudio или под minGW или ещё какой ?
Скопируй сюда название ссылки...
И скажи заодно, какая версия VisualStudio у тебя установлена.
0
44 / 1 / 0
Регистрация: 14.06.2014
Сообщений: 150
31.07.2015, 17:57  [ТС] 20
Butt-Head, По Вашей ссылке выбрал для Windows
http://master.qt.io/archive/on... online.exe
У меня VS Ultimate 2013

Добавлено через 6 минут
Butt-Head, Установилась, ещё и меню на русском языке. Это хорошо? Русский мой родной, но если не дай бог книга попадёт где меню без перевода, это смерть...
0
31.07.2015, 17:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2015, 17:57
Помогаю со студенческими работами здесь

Элементы интерфейса на opengl или win32 api?
В своей программе для Windows 7 мне надо сделать нестандартный графический интерфейс - кнопки,...

Подскажите, Win API или MFC?
Добрый вечер! Люди добрые, вот какая ситуация: Надо начинать писать курсовую работу. На...

Односвязный список на MFC или API
делаю курсовую, но никак не могу сладить с односвязным списком, видимо где-то ошибка в обращении с...

Что выбрать: mfc, api, winforms,qt или перейти на с#?
Подскажите пожалуйста, я взялся за изучение с++ теперь стал выбор mfc, api, winforms,qt или перейти...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru