Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2008, 14:11   #11
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Цитата:
Вот по-тихонько подхожу к концу изучения C++ в консольном виде.
А зря. Там еще столько можно, ууу :D

Цитата:
Вообщем посоветуйте пожалуйста свой вариант, для перехода с консольного в оконный интерфейс.
Цитата:
Кто на MFC, кто на WinApi и т.д. У кого еще какие варианты?
Qt
А изучение WinAPI для построения гуя, имхо, муть. WinAPI != библиотека для гуя, там много других фишек есть, которые более достойны изучения.
still_alive вне форума Ответить с цитированием
Старый 16.06.2008, 16:30   #12
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

а Qt - это не муть? переведенная идея с явы на с++. причем как-то там всё хитро сделано на макросах. Вещица интересная и мощная конечно, но много надо разбираться в ней помойму
pu4koff вне форума Ответить с цитированием
Старый 16.06.2008, 17:19   #13
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Цитата:
а Qt - это не муть?
Нет, конечно ) Можно доказать от противного. Предположим, что Qt - муть. Следовательно, программы, написанные на Qt, тоже муть. Следовательно Mathematica, KDE, Opera, Adobe Photoshop Album, Skype, VirtualBox, Google Earth, etc - тоже муть. Но это не так )

Цитата:
переведенная идея с явы на с++
Я в джаве не силен. Но хочется заметить, что и Java, и Qt начали разрабатываться в одно время (1991), и первые версии вышли примерно в одно время (1995-1996). И вообще, мне непонятно, какая это идея могла быть переведена.

Цитата:
но много надо разбираться в ней помойму
Для того чтобы с нуля взять и написать нормальный интерфейс к одной моей лабе, мне потребовалось 3 дня.
still_alive вне форума Ответить с цитированием
Старый 16.06.2008, 18:35   #14
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от still_alive Посмотреть сообщение
Нет, конечно ) Можно доказать от противного. Предположим, что Qt - муть. Следовательно, программы, написанные на Qt, тоже муть. Следовательно Mathematica, KDE, Opera, Adobe Photoshop Album, Skype, VirtualBox, Google Earth, etc - тоже муть. Но это не так )
ну муть в плане изучения Qt имелась ввиду. К опере претензий никаких. Остальные не пользовал. Хотя о математике воспоминания не наилучшие, но не из-за ГУЯ, а из-за сдаваемых лаб
Цитата:
Сообщение от still_alive Посмотреть сообщение
Я в джаве не силен. Но хочется заметить, что и Java, и Qt начали разрабатываться в одно время (1991), и первые версии вышли примерно в одно время (1995-1996). И вообще, мне непонятно, какая это идея могла быть переведена.
ну может и не сперли. спорить не буду Классы просто типа QString, ловля сообщений от контролов мне напомнили java и её swing контролы
Цитата:
Сообщение от still_alive Посмотреть сообщение
Для того чтобы с нуля взять и написать нормальный интерфейс к одной моей лабе, мне потребовалось 3 дня.
мне много времени понадобилось, чтобы найти как обустроить межпроцессорное взаимодействие в Qt3. в 4 версии там вроде как поправили дело с этим, но что имеем, на том и пишем.
ну и для коммерческих продуктов под винду Qt вроде как не бесплатна, что не очень хорошо.
В общем имеем MFC, не имеющий визуального редактора окошек, привязанный к винде и языку с++. Но зато тесно связанный с WinAPI, что при необходимости облегчает переход с одного на другое.
Qt - имеет визуальный редактор окошек, не привязана ни к языку ни к оси. ну и у Qt с переводом приложений на разные языки вроде как попроще.
Так же еще имеется HTMLayout для создания красивых интерфейсов, но я его даже в глаза не видел. так что не знаю, что к чему там, но коммерческие продукты на нём тоже создают. Значит вещь неплохая

Для обучения бы я посоветовал выбрать голый winAPI. Знание основ еще никому не мешало. А там уже при наборе опыта можно будет подобрать подходящую библиотеку. как-то так вот
pu4koff вне форума Ответить с цитированием
Старый 17.06.2008, 12:20   #15
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Для обучения бы я посоветовал выбрать голый winAPI. Знание основ еще никому не мешало. А там уже при наборе опыта можно будет подобрать подходящую библиотеку. как-то так вот
Знать WinAPI конечно полезно и нужно, но делать первые попытки написания программ с окошками под винду используя чистый WinAPI я считаю не стоит.
Основы никуда не денутся, всем сначала хочеться "потрогать" готовый результат.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 27.06.2008, 20:20   #16
Rembo
Форумчанин
 
Аватар для Rembo
 
Регистрация: 29.10.2007
Сообщений: 628
По умолчанию

Здравствуйте. Вообщем определился я с выбором, и решил, как мне посоветовал многоуважаемый merax, изучать Visual Studio + MFC + Dialog Based. Но по другим сообщениям я все таки сделал вывод, что без основ winApi в будущем не обойтись мне. Вот возник вопросик один: Лучше сначало изучить "Visual Studio + MFC + Dialog Based", а потом winApi, или может как-нибудь параллельно изучать? Чтобы одно дополняло другое? Поделитесь пожалуйста опытом по этому вопросу
Rembo вне форума Ответить с цитированием
Старый 27.06.2008, 21:28   #17
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Не парь мозК себе... Юзай MFC + подглядывай в книгах и MSDN назначение той или иной функции, тем более во всех примерах реализация WinAPI дана на С++
merax вне форума Ответить с цитированием
Старый 27.06.2008, 22:37   #18
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Согласен, с WinAPI не спеши, береги мозг, он тебе еще пригодиться )
Потом постепенно тебе придется по любому к ней обращаться, вот и будешь изучать понемногу, походу поймешь что это вообще такое WinAPI и для чего. И главное зачем написали все эти MFC и VCL =)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 27.06.2008 в 22:40.
mutabor вне форума Ответить с цитированием
Старый 28.06.2008, 08:50   #19
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Rembo, Win API - это выполненный на C интерфейс трёх библиотек - kernel (управление памятью, процессом и потоками, файловая система и т.п.), user (ввод/вывод, окна и всё, что с ними связано) и gdi (грубо говоря - "рисование"). Специально не дописываю "32" - эти интерфесы пришли ещё с 16-разрядных Windows. MFC в своё время разрабатывался так, чтобы а) максимально упростить и ускорить перенос кода с C на C++, б) минимизировать временные затраты разработчиков при переходе с "чистого" Win API, в) получить максимально возможную для C++ (в сравнении с C) производительность и сократить затраты памяти - Windows на 80386-80486 работала не сказать чтобы быстро , а 16 Mb памяти в начале 90-х стоили фантастичеких денег. Поэтому, во-первых, имена практически всех методов классов MFC совпадают с аналогичными функциями API. Во-вторых, обеспечена практически 100%-ая совместимость WinAPI <-> MFC. В любой момент можно просто исправить
Код:
this->SetWindowText(TEXT("SomeText"));
на
Код:
SetWindowText(this->m_hWnd, TEXT("SomeText"));
или наоборот и так далее. В-третьих MFC и ATL полностью обеспечивают функционал (строки, динамические вектора, списки, хэш-таблицы и т.д.) других библиотек классов, можно, например, вообще не пользоваться STL. Часто это даже радует в связи с крайней "тяжеловесностью" реализаций последней. Не следует воспринимать WinAPI как некое непостижимое чудовище - это всего лишь несколько десятков широкоупотребительных функций, к тому же, как я написал выше, почти всегда совпадающих с MFC, чего не скажешь, например, про VCL - в этом случае для свободного владения своим инструментом придётся изучить двойной объём. Естественно, кроме WinAPI существуют ещё NetAPI, ShellAPI, RasAPI, Native API и т.п., которые, как правило, не реализованы на C++ в библиотеках классов и предполагают отдельное изучение. К тому же они не связаны с "окнами" и выпадают из вопроса темы. Само собой, всё вышесказанное относится к платформе Win16/32/64. Сегодня, в ряде случаев и при постановке перед собой конкретных целей, есть некоторый смысл вообще не трогать эту платформу и готовится к "пришествию" .NET, которое, правда, постоянно откладывается.
B_N вне форума Ответить с цитированием
Старый 28.06.2008, 10:52   #20
Rembo
Форумчанин
 
Аватар для Rembo
 
Регистрация: 29.10.2007
Сообщений: 628
По умолчанию

Ааа... Ясно. Спасибо Вам, merax, mutabor и B_N за объяснение Ну ладно, вообщем буду пока просто изучать Visual C++, а конкретней - MFC Видел, что на MFC довольно таки серьезные программы писали. Например, в книге видел пример браузера. Просто хочется действительно оконное приложение сделать, поэтому вот и создал тему, чтобы определится с тем, что изучать дальше... Понимаю, некоторые ,наверно, скажут мол тороплюсь, еще даже консоль то полностью не выучил, а уже в "окна" полез. Ну уж очень хочется писать "красивые" приложения

Последний раз редактировалось Rembo; 28.06.2008 в 10:57.
Rembo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц