Re[5]: Какую библиотеку использовать?
От: MasterZiv СССР  
Дата: 06.07.10 08:34
Оценка:
MegaMozg wrote:

> MZ>Почему кстати ? WinApi в большинстве своём

> MZ>построена по принципам ООП.
>
> а поподробнее можно?

Три основных модуля Win32 API (kernel user GDI)
построены по объектно-ориентированному принципу.
В основном это хорошо видно на user-е. Все окна --
объекты, у них есть методы (сообщения), есть свойства.
Ну и так далее. Не всегда и везде это им удавалось
выдержать до конца, особенно в GDI, но всё же.

А о познейших модулях, построенных целиком на COM
и говорить не приходится.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: Какую библиотеку использовать?
От: MegaMozg Россия  
Дата: 06.07.10 16:36
Оценка:
Здравствуйте, MasterZiv, Вы писали:



MZ>Три основных модуля Win32 API (kernel user GDI)

MZ>построены по объектно-ориентированному принципу.
MZ>В основном это хорошо видно на user-е. Все окна --
MZ>объекты, у них есть методы (сообщения), есть свойства.
MZ>Ну и так далее. Не всегда и везде это им удавалось
MZ>выдержать до конца, особенно в GDI, но всё же.

Это еще не ООП. Три столпа объектно-ориентированного проектирования: инкапсуляция, наследование, полиморфизм.

А в Win32 API есть структуры данных и есть множество функций, которые с этими структурами работают.
И в здесь правильнее говорить: "окна — могли бы быть объектами классов с методами обработчиками сообщений".

И вот это "могли бы быть" реализуется в библиотеках подобных MFC, Qt etc.
Re: Какую библиотеку использовать?
От: c-smile Канада http://terrainformatica.com
Дата: 07.07.10 17:28
Оценка: 7 (1)
Здравствуйте, LaptevVV, Вы писали:

А вот кстати: http://www.codeproject.com/KB/library/jlib.aspx
Это С++ порт Java AWT.
Re[2]: Какую библиотеку использовать?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 07.07.10 18:13
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>В общем, идеально давать два варианта сразу:

LVV>QtCreator+Qt
LVV>CodeBlocks+vxWidget
LVV>Думаю сделать лабы на построение разнообразных интерфейсов
LVV>и задавать делать их в обоих вариантах — пусть студиозы сравнивают.

ИМХО, это только запутает. Больно уж разные подходы — сигнал/слот vs сообщения. Тем более, что сообщения (events) есть и в Qt, так что, в смысле возможности объяснить "обработку сообщений" Qt другим библиотекам не проигрывает.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: Какую библиотеку использовать?
От: d.4 Россия  
Дата: 07.07.10 20:52
Оценка: 7 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Работаем со Студией. Я вижу варианты:

LVV>1. Использовать С++/СДШ (не хотелось бы — много тонкостей в С++/CLI)
LVV>2. MFC/ATL/WTL. Мне кажется несколько тяжеловесно для 2 курса? Зато информации о ней много.
LVV>3. Qt — знаком только по книжке Шлее. Но библиотека популярна, что повышает ценность знакомства с ней. И среда есть — QtCreator. Есть доки на русском
LVV>4. vxWidget — ничего не знаю, только то, что в инете можно прочитать.
LVV>5. Win32++ — относительно простая библиотека, но инфа тоже из инета.

LVV>Что посоветуете?


Шестым пунктом посоветую еще Juce. Оставила приятное ощущение после ознакомления. Кросс-платформенная, написанная "на понятном языке" (наглядный ООП-подход, не перегруженный замысловатыми сущностями и многоэтажными шаблонами), с качественными комментариями в коде. По уровню абстракции сходна с wxWidget. Автор ориентируется на GUI и софт для работы со звуком. Под Windows собирается на MSVC, начиная с 6-го или в CodeBlocks. Есть забавный вариант для тех, кому лень собирать отдельно: включить пару подготовленных заранее "amalgamated"-файлов (cpp/h) непосредственно в свой проект.

Лежит тут.
juce библиотека gui
Re[5]: Какую библиотеку использовать?
От: legogogo  
Дата: 08.07.10 03:28
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Это всё понятно, но это не называется "Красивый дизайн".


Тут палка о двух концах или красивый дизайн или производительность. Или MVC или Вид/Документ, или использование мощи С++ в виде полиморфизма или макросы без оверхеда на вызов и на память.
Компьютер — это конечный автомат. Потоковое программирование нужно тем, кто не умеет программировать конечные автоматы (c) Алан Кокс
Re[2]: Какую библиотеку использовать?
От: legogogo  
Дата: 08.07.10 03:36
Оценка: +1
Здравствуйте, MasterZiv, Вы писали:

MZ>В MFC-то что тяжеловесного ?


Некоторые говорят, что MFC устарела и спрос на неё мал.
Компьютер — это конечный автомат. Потоковое программирование нужно тем, кто не умеет программировать конечные автоматы (c) Алан Кокс
Re[7]: Какую библиотеку использовать?
От: MasterZiv СССР  
Дата: 12.07.10 17:35
Оценка:
MegaMozg wrote:

> Это еще не ООП. Три столпа объектно-ориентированного проектирования:

> инкапсуляция, наследование, полиморфизм.

Всё это есть.

> А в Win32 API есть структуры данных и есть множество функций, которые с

> этими структурами работают.

Ты не понял нифига. Перечитай ещё раз.

> И в здесь правильнее говорить: "окна — *могли бы быть* объектами классов

> с методами *обработчиками* сообщений".

Они и есть объекты, если ты это не понимаешь, это твоя проблема.

> И вот это "могли бы быть" реализуется в библиотеках подобных MFC, Qt etc.


MFC делает только удобную обёртку для работы с WinAPI на С++.
Делает WInAPI более С++-овым.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Какую библиотеку использовать?
От: MasterZiv СССР  
Дата: 14.07.10 05:36
Оценка:
legogogo wrote:

> MZ>В MFC-то что тяжеловесного ?

>
> Некоторые говорят, что MFC устарела и спрос на неё мал.

"устарела" и "тяжеловесно" -- немного разные по смыслу слова.
Posted via RSDN NNTP Server 2.1 beta
Re: Какую библиотеку использовать?
От: ry Россия  
Дата: 14.07.10 14:21
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Работаем со Студией. Я вижу варианты:

..
LVV>3. Qt — знаком только по книжке Шлее. Но библиотека популярна, что повышает ценность знакомства с ней. И среда есть — QtCreator. Есть доки на русском
..

И очень кстати существует ещё и плагин для Студии для работы с Qt.
Re[2]: Какую библиотеку использовать?
От: LaptevVV Россия  
Дата: 14.07.10 14:35
Оценка:
Здравствуйте, ry, Вы писали:

ry>И очень кстати существует ещё и плагин для Студии для работы с Qt.

На сайте Qt вроде поновее есть — для работы в 2008 студии.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Какую библиотеку использовать?
От: ry Россия  
Дата: 14.07.10 15:41
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, ry, Вы писали:


ry>>И очень кстати существует ещё и плагин для Студии для работы с Qt.

LVV>На сайте Qt вроде поновее есть — для работы в 2008 студии.

Ссылку будь добр, а то у Нокии он там самый последний.
Re: Какую библиотеку использовать?
От: Aleх  
Дата: 14.07.10 16:56
Оценка: -1 :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Аналогично IDE вопрос по библиотеке для создания интерфейса.

LVV>Студиохps на 2 курсе пишут 2 курсовые.
LVV>Первая — по программированию на языке высокого уровня (С++), вторую — по ООП на С++.
LVV>Если в первой курсовой основная задача — познакомить народ с процессом самостоятельной работы над проектом, то во второй хотелось бы паознакомить с разработкой типового интерфейса из окон-меню-кнопок-формочек.
LVV>Работаем со Студией. Я вижу варианты:
LVV>1. Использовать С++/СДШ (не хотелось бы — много тонкостей в С++/CLI)
LVV>2. MFC/ATL/WTL. Мне кажется несколько тяжеловесно для 2 курса? Зато информации о ней много.
LVV>3. Qt — знаком только по книжке Шлее. Но библиотека популярна, что повышает ценность знакомства с ней. И среда есть — QtCreator. Есть доки на русском
LVV>4. vxWidget — ничего не знаю, только то, что в инете можно прочитать.
LVV>5. Win32++ — относительно простая библиотека, но инфа тоже из инета.

LVV>Что посоветуете?


Я посоветую для С++ использовать Билдер, а для C# использовать WindowsForms. Это для выполнения заданий которые не связаны с изучением самих библиотек графического интерфейса.
Дело вот в чем. Я слышал, что VCL и WindowsForms разрабатывались под руководством одного и того же человека. Они много чем похожи.
Студентам эти две библиотеки будут удобны тем, что там всё интуитивно понятно. Не нужно читать никакую документацию, чтобы создавать интерфейс. И если же создание интефейса не является главной целью написания программы, это очень хорошо.

Так же можно рассказать про другие библиотеки и дать на них пару лаб.

Все остальные библиотеки для С++ не идут ни в какое сравнение с VCL. Несмотря на то что там можно создать более продвинутый интерфейс, они поразительно не удобны и у них ужасная архитектура. Это удивительная ситуация. Столько библиотек и все такие плохие.

Если же заставить студентов делать кучу лаб с интефейсом с использованием других библиотек, студенты либо ничего не будут делать (потому что среднестатистическому студенту будет лень копаться в документации на английском языке), либо будут тратить много времени и всё проклинать.
Re[4]: Какую библиотеку использовать?
От: LaptevVV Россия  
Дата: 14.07.10 18:26
Оценка:
Здравствуйте, ry, Вы писали:

ry>Здравствуйте, LaptevVV, Вы писали:


LVV>>Здравствуйте, ry, Вы писали:


ry>>>И очень кстати существует ещё и плагин для Студии для работы с Qt.

LVV>>На сайте Qt вроде поновее есть — для работы в 2008 студии.

ry>Ссылку будь добр, а то у Нокии он там самый последний.

Возможно, я кой-чего не понял.
Вот такой архив:
qt-win-opensource-4.6.3-vs2008.exe
это не оно?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Какую библиотеку использовать?
От: ry Россия  
Дата: 14.07.10 18:42
Оценка:
Здравствуйте, LaptevVV, Вы писали:

ry>>Ссылку будь добр, а то у Нокии он там самый последний.

LVV>Возможно, я кой-чего не понял.
LVV>Вот такой архив:
LVV>qt-win-opensource-4.6.3-vs2008.exe
LVV>это не оно?

Думаю, там всё-таки версия 1.1.5 должна лежать или младше. Честно говоря, не смотрел. У меня 1.1.1.
Re[2]: Какую библиотеку использовать?
От: MasterZiv СССР  
Дата: 15.07.10 08:08
Оценка: -1
Aleх wrote:

> Я посоветую для С++ использовать Билдер, а для C# использовать

> WindowsForms. Это для выполнения заданий которые не связаны с изучением

Если студентов учить ДеБилдеру -- только ДеБилов и получите на выходе.
Posted via RSDN NNTP Server 2.1 beta
Re: Какую библиотеку использовать?
От: Shire  
Дата: 26.07.10 05:52
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Аналогично IDE вопрос по библиотеке для создания интерфейса.

LVV>Студиохps на 2 курсе пишут 2 курсовые.
LVV>Первая — по программированию на языке высокого уровня (С++), вторую — по ООП на С++.
Можно еще посмотреть на фреймворк Ultimate++ — там работа с окошками вполне в ООП-стиле и довольно красиво выглядит:
#include <CtrlLib/CtrlLib.h>

using namespace Upp;

GUI_APP_MAIN
{
    TopWindow  app;
    app.SetRect(0, 0, 200, 60);
    EditDate  date1, date2, date3;
    date1 <<= date2 <<= date3 <<= GetSysDate();
    date1.ClearModify();
    app.Add(date1.TopPosZ(0, 20).HSizePos());
    date2.Disable();
    app.Add(date2.TopPosZ(20, 20).HSizePos());
    date3.SetReadOnly();
    app.Add(date3.TopPosZ(40, 20).HSizePos());
    app.Run();
    if(date1.IsModified())
        PromptOK("Date was modified!");
}

Фреймворк кроссплатформенный (позволит не трогать WinAPI) и c родным для системы Look-and-feel.
Вообще очень хороший пример, чтобы посмотреть, какие штуки можно вытворять с помощью препроцессора и шаблонов С++.
Разве только студия там своя — TheIDE, со своим редактором форм, иконок и другими плюшками.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.