15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
|
|
1 | |
Материал по ООП09.07.2011, 23:20. Показов 1895. Ответов 18
Метки нет (Все метки)
Сейчас изучаю начало начал в с++. То есть простейшие консольные программы строю. Хотелось бы уже попробовать поработать с настоящим программо-строем. То есть посоздавать программы на WindowsForm с кнопочками, с полями.. Не знаю как точно объяснить. Чтобы программы были не консольные а с помощью различных диалоговых окон общались с пользователем. Не могли бы помочь мне и дать мне материала по этой теме (видео уроки, книжки, статьи). Сразу извеняюсь за то что скорее всего повторяю эту тему миллионный раз, но материала по своему уровню я не нашел. Надеюсь на помощь.
0
|
09.07.2011, 23:20 | |
Ответы с готовыми решениями:
18
Перестали загружаться разделы Материал: [ Изменить ] и Материал: [ Создать ] Текстовый материал (а также пхп-код) не загружается как материал в движке сайта если присутствует символ "верхняя запятая" ООП ради ООП не добавляется материал |
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
|
|
09.07.2011, 23:45 | 3 |
У меня была та же проблема.
Начал с Borland C++ Builder 5. Книга называлась "Самоучитель программирования на языке C++ в системе Borland C++Builder 5.0 Автор: Бобровский С." Именно то, что мне дало алгоритмику. Простая книга написана человеком, который очень доходчиво дает материал. Там, например, рассматривается написание пасьянса паук. И одновременно взял себе для изучения всех этих "кнопочек" "ПРОГРАММИРОВАНИЕ В C++Builder 5 Архангельский А.Я" Потом, со временем, начал пользоваться Visual Studio. Но самый большой скачок в понимании дали эти 2 книги. Ни в коем случае не учите сразу WIN API. Потеряете кучу времени ни на что. Когда научитесь работать со всеми этими компонентами, потребность в WinApi сама появится. Для использования магнитофона не нужно сразу разбираться во внутреннем устройстве.
2
|
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
|
|
09.07.2011, 23:52 [ТС] | 4 |
Спасибо. Обязательно попробую. А мультимедийного контента не кто не использовал ? Или видио уроки пустая трата времени ? Лучше книги ?
0
|
102 / 36 / 0
Регистрация: 21.04.2011
Сообщений: 155
|
|
09.07.2011, 23:55 | 5 |
0
|
Каратель
|
|
10.07.2011, 00:16 | 6 |
Зоти Сергей, клепать формочки, будь-то в билдере, будь-то в WinForms непонимая как это работает изнутри, нет смысла, ибо весь код генерируеться IDE. От WinApi можно переходить к билдеру или WinForms, но ни как не наоборот. Билдер и WinForms это всего лишь объектно ориентированная обертка над WinApi, которой умело можно пользоватся, но зная что внутри.
1
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
10.07.2011, 00:20 | 7 |
Maxwe11, к билдеру и WinForm можно отнести MFC?
0
|
Каратель
|
|
10.07.2011, 00:33 | 8 |
в смысле внутреннего строения, да, MFC такая же обертка над WinApi, только с нарушением некоторых принципов ООП, но опять же таки, вся суть - функция main(WinMain) от программиста скрыта, в билдере и WinForms можно увидить лиш загадочное Application.Run(), в MFC доступа к главной функции вообще нет, потому лучше все же изучить основы WinApi, узнать что же все таки скрываеться в main-не и в процедуре окна, а потом переходить к библиотекам
1
|
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
|
|
10.07.2011, 00:57 | 9 |
Maxwe11,
Оно придет само собой. Начинающему не нужно тратить на это время. Похер, как и кем оно генерируется. Потеряется всякий интерес к программированию. Нужно начинать от простого к сложному. Набить руку. Когда набьется рука, можно переходить к изучению WinApi. Это мое мнение... Я делал именно так и считаю, что это было правильно. Если бы я, первоначально, начинал вникать во все тонкости, подобным WinApi, я бы послал программирование нахрен через месяц изучения. Добавлено через 2 минуты Mole[Z], До этого не было ни компьютера, никакого знания языка.
1
|
155 / 155 / 44
Регистрация: 03.11.2010
Сообщений: 393
|
|
10.07.2011, 01:58 | 10 |
Сообщение было отмечено как решение
Решение
удалено
Добавлено через 16 минут 2 parkito все сказанное в этом посте является только моим личным мнение, моими личными выводами. Так как Вы говорите, что вы пишите простейшие программы и судя по Вашим сообщениям с данного форума - выкладываю свое мнение: "Настоящим программо-строем", на мой взгляд, можно назвать - написание логической функциональной части приложения ( классы, функции ). Назовем это основой. Прежде всего хорошему программисту нужно это уметь. А использование готовых визуальных компонентов как форм, кнопочек, различных полей, сеток - это лишь дополнение к основе, которое даже мешает на начальных этапах изучения программирования (сужу по своему опыту). Когда научитесь разрабатывать самостоятельно многофункциональные консольные программы, (также в них используя различные библиотеки, например STL) вот тогда можно и к кнопочкам вернуться, но уже с приличным багажом знаний. И сможете при разработке ПО отделить логику приложения от интерфейса - а это очень важно. Могу посоветовать Стенли Липпман, Жози Лажойе - Язык программирования C++. Вводный курс. Сейчас сам эту книгу изучаю подробно.
3
|
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
|
|
10.07.2011, 03:01 | 11 |
Roof,
Да.. и заканчивается все это образование бесконечными программами хеллоу уорлд с cin cout.. И человек постоянно думает как с этого дела "слезть". Можно не тратить время на консоль, а начать сразу с библиотеки компонентов. Какая разница, где писать? Просто начав писать оконные приложения человек видит конкретный результат своей работы, оформляет свою программу, создает интерфейс. Появляется чувство уверенности в себе, после того, как появляется программа, которая что-то действительно делает. Пусть она написана с использованием 3 строчек кода и 1000 компонентов. Со временем человек начинает лавировать, ориентироваться во всем этом (не задумываясь о внутренней реализации всех этих инструментов). Начинает вписывать код в оконное приложение. Тогда необходимость в консоли просто отпадает. Потом приходит момент, когда каких-то знаний не хватает и начинающий программист может так же обратиться к каким-то методам но делать это он уже будет не как новичок, который смотрел в черный экран консоли. На этом этапе все будет даваться проще и время не будет потрачено впустую. Самый быстрый вариант научиться писать современные программы - поставить себе задачу написать современное приложение и начать над ним работать. Задача, которая будет интересной и которую не захочется закончить через пару дней, после начала работы над ней. В моем случае это была игра.
2
|
155 / 155 / 44
Регистрация: 03.11.2010
Сообщений: 393
|
|
10.07.2011, 03:49 | 12 |
Сообщение было отмечено как решение
Решение
2 Зоти Сергей
У каждого свои точки зрения и это хорошо. Лично я очень уважаю разработчиков визуальных компонентов, в особенности тех, кто позволяет свободно использовать эти компоненты в своих разработках. Да и использование визуальных компонентов значительно упрощает процесс построения интерфейса некоторого программного обеспечения. Хочу сразу сказать, потому как уважаю собеседников - я не готов оспаривать Ваши доводы, лишь выскажу свои мнения насчет некоторых Ваших фраз и очень надеюсь, что: - мы пишем в этой теме дабы помочь автору темы найти ответы на свой вопрос; - мы не будем друг другу доказывать неправоту каждого из нас. 1) 2) я всю логику программы прописывал в события: нажатия кнопочек, редактирования (полей, ячеек таблиц), В общем, в события и свойствах визуальных компонентов. Долго мне потребовалось времени чтобы понять, что это в корне неверный подход, если приложение начинает даже немного разрастаться. Я понял, что необходимо писать отдельно всю логическую функциональность программы и тестировать ее ни коим образом не привязывая к графическому интерфейсу пользователя и, следовательно, к визуальным компонентам. Мое личное мнение таково - учиться разработке приложений для начинающего программиста проще всего в консольном режиме. 3) Думаю, что быстрых вариантов "научиться писать современные программы " - не существует.
5
|
Jupiter
|
10.07.2011, 04:23
#13
|
Не по теме: очердной холивар начался, думаю ТСу будет интересно Редактор форм или код вручную
1
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
10.07.2011, 04:45 | 14 |
это не одно и тоже, здесь речь стоит вести о том, что начиная писать в окошках новички не понимают идею разделения функционала и пользовательских интерфейсов. Написание консольных приложений как правило нацелено на набор некоторого функционала, работа же с окошками для новичка - на навешивание обработчиков и прочего ужасного кода, перемешанного с обработкою хоткеев и событий мыши
ну в результате отсутствие понимания построения качественного по и прочих очевидных вещей
1
|
10.07.2011, 06:27 | 15 |
Зоти Сергей, я с тобой соглашусь, ведь потраченное время не вернуть пока в консоли ковыряешься другой осваивает GUI уже пытается делать что-то похожее на современное приложение, а зачем лести в дебри новичку всё равно будет как робот по памяти забивать код, я вот знаю не плохо WinAPI и что это мне даёт, да ничего проще открыть проект в MFC или Borland-e VCL что там процедурами или сообщениями в компоненты набиваешь код, здесь методами объектов пользуешься, понимаю что уже абстрактная-прослойка но мышкой в колесе долго не покрутишься. Для чего новичку понимать саму суть реализации графической системы пользовательских элементов, если она от нас скрыта в user32.dll(или в 64). Вспоминаю времена когда я COM объекты реализовывал с нуля писал повторяющий код пока не плюнул, теперь стал использовать готовые ATL. Некоторые до сих прикладные программисты думают что работают с железом напрямую, хотя используют в своих программах функции WinAPI, вот это и есть ошибка прикладная процедура вызывает модульную процедуру DLL kernel, user, gdi, advapi... те в свою очередь вызывают процедуры драйверов устройств, я это к тому что только стандартные драйверы могут работать с железом(регистрами РОН, физ-памятью...) напрямую. Например если SSE3 процессор поддерживает а ОС нет, то вы не с можете в ASM эту технолoгию использовать.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
10.07.2011, 06:52 | 16 |
Сообщение было отмечено как решение
Решение
ну если уж говорить откровенно, то мс в очередной раз собираются отказатся от winapi, хотя это конечно фантастика, но я бы возможно сейчас не стал бы сильно углублятся в часть winapi связанную с оконной системой - потоки, ресурсы итп все еще полезные знания, а окошки для общего развития
mfc как ни крути труп - сейчас я считаю, что время потраченное на него было потраченно не очень осмысленно. во всяком случае изучать mfc бессмысленней чем winapi winforms не есть мир c++, а c++/clr я считаю не лучшим, что есть в .net, уж лучше использовать c#, wpf все дела для c++ считаю более интересным и практически полезным изучение Qt/wxWidgets, хотя насчет рыночной успешности wxWidgets я не уверен
4
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
10.07.2011, 10:31 | 17 |
Сообщение было отмечено как решение
Решение
Зоти Сергей,
Хотя бы и игра. Или еще круче и современней - в SharePoint. То, что ты предлагаешь, как современное - это позавчерашний день. А прежде, чем брать интегралы, надо бы таблицу умножения вызубрить.
3
|
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
|
|
10.07.2011, 11:32 [ТС] | 18 |
Всем спасибо что откликнулись. Кое какие выводы я для себя сделал. Сейчас я пройду курс самых основ с Лафоре - ООП в С++, а потом попробую найти, рекомендованную литературу про WinApi и по интерефейсу-строению. Еще раз спасибо !
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
10.07.2011, 11:46 | 19 |
1. Лафоре - правильно.
2. Далее - изучение STL. Как обязательная часть стандарта С++. 3. Стороннюю библиотеку интерфейса. Лучше Qt - там не только интерфейс, но и огромное количество всяких нужных и удобных вещей. В качестве альтернативы обрати внимание на wxWidget - но литературы маловато, только в инете и в среде wxDevC++. 4. Для изучения WinAPI есть масса книжек! Можно начать либо с книжки Ганеева, либо с книжки Юрия Щупака. Но лучше всего Ч. Петцольд. Хотя там программирование для Win95, зато все работает и в сети легко найти файлы книжки и примеры. Это двухтомник.
2
|
10.07.2011, 11:46 | |
10.07.2011, 11:46 | |
Помогаю со студенческими работами здесь
19
материал по разработке Ортотропный материал Материал, Тайлы Материал в 2 колонки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |