44 / 1 / 0
Регистрация: 14.06.2014
Сообщений: 150
|
|
1 | |
Win32 API, MFC, или Windows Forms?31.07.2015, 02:53. Показов 6908. Ответов 32
Метки нет (Все метки)
Здравствуйте!
У меня очень простая задача на С++, нужно построить графики по точкам (данные из файлов) в разных окнах, масштабировать их и накладывать друг на друга иногда, (консоли недостаточно). Нужно меню и несколько кнопок, окна с графиками. Полноценные Windows приложения никогда не делал. У Щупака "Эффективная разработка" сказано, что надо начинать изучение с Win32 API, с другой стороны, всякие знатоки пишут, что никто сейчас так не делает и нужно MFC использовать. Кто что посоветует? Какую книгу или ресурс в сети русскоязычный, где я смог бы найти все вопросы, с которыми столкнусь при решении своей задачи? И в как правильно поступать изучать Win32 API, искать информацию по MFC, или Windows Forms изучать? У меня Win8.1, VS2013.
0
|
31.07.2015, 02:53 | |
Ответы с готовыми решениями:
32
Посоветуйте, пожалуйста, каким образом будет лучше реализовать мою задачу? (MFC, Win API, Windows Forms)) Win32 API vs MFC vs .NET clr,mfc,windows forms Как создать windows forms приложение с возможностью работы с win32? |
24 / 24 / 7
Регистрация: 25.04.2013
Сообщений: 195
|
|
31.07.2015, 03:54 | 2 |
Как вариант, если срочно надо, если владеете 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 |
Тебе вообще для чего нужно эти графики строить? Что б "программу" преподу показать или тебе реально нужно работать с графиками и находить какие - то точки пересечения или ещё чего?
Если второй - есть 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 |
Я бы такой "софт" набрасал бы за день, да и то, большую часть времени копался бы с "движком" для графиков, чтоб красивее было и на века А если тяп - ляп, то за пару часов бы всё и накидал.
Сразу скажу, делать тебе я не буду, даже за деньги, т.к. у меня сейчас времени нет в связи с основной работой, а моё рабочее время стоит очень дорого и ты его не переплюнешь Так что качай 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 |
Ну во - первых, тут есть специальная ветка, где, если что, помогут - https://www.cyberforum.ru/qt/
Хотя она и не такая активная, как эта. По поводу книг... Я всё изучал без книг, по форумам и мануалам... Я честно говоря побаиваюсь тебе Qt советовать, если ты С++ толком не знаешь ... Ну попробовать можно конечно... Вот смотри, тут на форуме есть Qt - руководство для новичков По книгам... Наверное можешь это глянуть: Макс Шлее - Qt 4.8. Профессиональное программирование на C++ Сейчас Qt уже давно 5-й, точнее 5.5 ... Это уже далеко от 4.8 ушло, но всё же основы там есть. Смотри, по старинке графику и GUI в Qt делали на так называемых виджетах, сейчас модно делать уже на QML (QtQuick), это часть Qt. Так джава скриптом пишется...
1
|
44 / 1 / 0
Регистрация: 14.06.2014
Сообщений: 150
|
|
31.07.2015, 15:42 [ТС] | 12 |
MansMI, Как Вы думаете, я получаю разные иногда противоположные рекомендации, потому, что люди советуют, то что знают сами, а остальное просто не знают, или какая-то другая причина?
Я понимаю, что графика в окне, это сложнее чем точки и линии в бэйсике рисовать 20 лет назад в институте было, но ведь в С++ в окне точки линиями соединить это не антивирус написать, всё не так сложно должно быть даже для новичка, я наверное дольше читаю и выбираю на чём сделать то, что задумал. Застрелиться проще. И сравнения кода не могу найти, чтобы показал кто-то как отрезок в окне на Qt реализовать, как в Windows Forms, в Win32 API и MFC, если можете покажите несколько примеров (точка, отрезок, поставить и стереть), буду очень признателен или ссылку дайте, где подобные задачи разными средствами решаются...
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 |
Разумеется всё будет работать, т.к. Qt - этот тот же С++, просто это как бы надстройка над ним для более удобной работы и поддержки всех современных операционных систем, то есть если ты будешь писать код чисто на Qt (в это входит и чистый стандарт С++), то этот код соберётся и под Windows и под Linux и под Mac и под iOS и под Adroid и ещё много под что...
Правда в Qt есть более удобные средства для работы с файлами. В общем то в Qt есть практический всё, что может потребоваться программисту, включая 3D графику на OpenGL, поддержку сети, устройств ввода и многое другое .. Не ошибся. С++ действительно - самый мощный язык на данный момент времени и думаю он таким и останется. Хотя, если нужно для будущей работы, можно рассмотреть так же и Java. Добавлено через 3 минуты Я бы не стал, т.к. в комплекте того, что ты устанавливаешь, уже есть прекрасная 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
|
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 | |
31.07.2015, 17:57 | |
Помогаю со студенческими работами здесь
20
Элементы интерфейса на opengl или win32 api? Подскажите, Win API или MFC? Односвязный список на MFC или API Что выбрать: mfc, api, winforms,qt или перейти на с#? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |