Разработка приложений для виндовс

fisher555

IDE==Visual studio 2008
вопрос состоит в том, как легче создавать окна и манипулировать с ними(отображать в них текст, фото, добавлять банальные кнопки и т.п.).
читаю книгу по MFC "Программирование на Microsoft Visual C++ 6.0 для профессионалов.2004", но как то все мудрено(скорее всего я долпаеп, так как книгу в инете хвалят)... Может кто-то готов посоветовать другой путь и, что еще лучше, литературу(статьи с помошью которой легко будет разобраться в рекомендуемом пути.
P.S. Сохраняю надежду, что доступно объяснил

katrin2201

простой путь - отказаться от MFC

fisher555

легко сказать, но чем то его надо же заменить тогда?

Olenenok

Есть благословленный m$ цешарп. Его и юзай. Пользователей не слушай. Хуже пользователей только тестеры.

fisher555

Есть благословленный m$ цешарп. Его и юзай. Пользователей не слушай. Хуже пользователей только тестеры.
А насколько далек C# от С++? Не очень то хочется тратить кучу времени на его изучение... Хотя если в нем проблемы создания того, что я описывал выше сильно облегчены, то заняться изучением тоже стоит

laki

А насколько далек C# от С++? Не очень то хочется тратить кучу времени на его изучение...
а в инете набрать слабо?

valkira

омг. Чувак сидит в вс2008 и не знает што такое це#? и юзает МФЦ. ппц лол!

fisher555

омг. Чувак сидит в вс2008 и не знает што такое це#? и юзает МФЦ. ппц лол!
да, бля, я ламер, поэтому и спрашивал!
Мой опыт в создании приложений очень мал, поэтому я и не хочу идти окольными путями, прошу помощи у бывалых

valkira

сорри, иногда меня заносит.
Мой тебе совет: забей на ц++ и мфц. Есть такая платформа, называется .NET. Собсно все иде начиная с вс2003 создавались для этой платформы. .НЕТ дает разрабу в распоряжение огромный набор библиотек классов для самых разных задач, в том числе и твоих. Язык C# — это язык для .NET. И писать на нем гораздо приятнее и проще чем на ц++ с мфц. Рекомендую прочитать книжку по C# и .NET, например Троелсен Э. "Язык C# 2005 и платформа .NET 2.0".

fisher555

Спасибо, уже полазил по инету и понял, насколько это можно за пол часа, что такое C# и .NET.
Обязательно поищу твою книженцию.

Alena_08_11

Если совсем совсем ничё не знаешь про додиез, но очень хочется уже понять как сделать хоть что нить - загляни на firststeps.ru в раздел csharp & .NET

aleks058

Думаю, проще всего тебе будет заюзать Windows Forms.
Создавай приложение в студии, указывай тип "Windows application".
Увидишь пустую форму.
Включи ToolBox, если он еще не включен (Ctrl+Alt+X наверняка поможет, либо ищи в менюшке).
С ToolBox-а можно таскать кнопки, лейблы, PictureBox-ы и многое другое.
Перетащи кнопку, даблкликни, напиши там что-нибудь вроде

button1.Text = "Ты меня нажал";

Дави F5.
Считай, что "хэллоу, ворлд" ты написал.
Поизучай свойства различных контролов (выбери контрол нажми F4).
Все довольно очевидно, если не хотеть странного.
Если не сможешь найти то, что надо,-читай хэлпы и т.п.

erotic

Мой тебе совет: забей на ц++ и мфц. Есть такая платформа, называется .NET.
И не забудь потом обязать всех своих пользователей установить себе этот самый .NET, или таскай за своим приложением 20 Мб дотнетовских библиотек.

Helga87

И кого сейчас смущают 20 Мб? У многих ли в Москве и Петербурге (60% пользователей интернета в России это займет больше 2 минут?

Vladislav177Rus

20 Мб — это маркетинговый трюк M$. У меня папка Windows\Microsoft.NET занимает 180 метров

feliks28

Сегодня скачал .net 3.0 из обновлений: 28 метров.
А папочка у меня занимает 280 метров, ибо там все установленные версии фреймворка.

kruzer25

Вообще-то, в висту входит третий фреймворк (а в XP SP2, если я не ошибаюсь - второй).

yolki

ошибаешься.
в ХР2СП не входит ни одного.

6yrop

если уж у человека VS2008, чё до сих пор не упомянули Windows Presentation Foundation? по рекламным описаниям это вроде как самое вкусное на сегодня

kruzer25

Это часть третьего .net framework-а, если что

bleyman

Лол, нет, входит второй! Потому что в SP2 входит SP1, а в SP1 входит FX2.0, потому что на голом XP стоит только первый, причём даже не 1.1, а 1.0, если мне не изменяет память!

sbs-66

Щас в меня начнут кидать камни, но я всё же скажу.
C# - это просто новая версия Delphi (от С там только синтаксис разбавленная какими-то фишками из Java. Делал C# тот же чувак, что и дельфи, идеология в часте создания win-приложений та же. И всё это накачано рекламой от MS (поэтому C# - это мейнстрим, а Delphi - для поделок на коленке).
А по теме выбор у тебя такой:
1. Если тебе надо просто сделать 1-2 приложения для узкого круга лиц (м.б. только для себя) и больше этим не заниматься, то я бы предложил Delphi
2. Если надо сделать 1-2 приложения для узкого круга лиц и чему-то научиться, чтобы потом можно было в резюме написать, то лучше выбрать C# c Formсами
3. Если планируется что-то серьёзное и масштабное, то ботать WIn Api до посинения и писать на C++ Можно сначала на MFC, а потом потихоньку делать свою оконную библиотеку по образу и подобию, оставив там только то, что нужно и что ты понимаешь, как работает. Или поискать какие-нибудь готовые толковые оконные библиотеки, но тут я ничего посоветовать не могу.

agaaaa

Первые два пункта-то понятны. Но почему третий? о-О

sbs-66

Какая часть третьего пункта непонятна?

Helga87

Согласен с тем, что .net - тот же дельфи. Только я не пойму, зачем писать на дельфи, если дотнет такой же, только чуть лучше?
Про winapi совсем неясно. Что мы получаем, если пишем интерфейс на чистом winapi, кроме чистого геморроя? MFC - та же фигня. Даже если использовать для оконных приложений C++, то стоит для облегчения труда использовать gtk, qt или другие нормальные вещи.

yolki

зачем писать на дельфи, если дотнет такой же, только чуть лучше?
спорный холиварный вопрос.
по поводу того, что идёт в комплекте SP2.
Только что поставил XPSP2.
папки %SystemRoot%\Microsoft.NET нету.

Helga87

Это не очень страшно. 20 Мб скачать сейчас проблема только у сильно особенных людей

stalker33rus10

Только я не пойму, зачем писать на дельфи, если дотнет такой же, только чуть лучше?
Просто дельфи раньше, а лучше-хуже - это холивор.

valkira

.net - тот же дельфи
оО
Это в каком месте? (Если что, я дельфи плохо знаю).

Werdna

Мой опыт в создании приложений очень мал, поэтому я и не хочу идти окольными путями, прошу помощи у бывалых
Пиши под Юникс. Компилируй под мастдай.
Делай кроссплатформенные приложения.

Helga87

Это в каком месте? (Если что, я дельфи плохо знаю).
Когда-то я писал на Delphi, и, пересев на C#, не переставал удивляться насколько все похоже:
1. Windows Forms и VCL настолько похожи, что тяжелее найти различия, чем сходства
2. C# как язык очень много взял от Object Pascal (он же Delphi например, свойства
3. Как Delphi предназначался для RAD (Rapid Application Development - быстро накидал проект и отдал заказчику так и в .net одним из важных применений является то же самое
Сейчас Delphi имеет смысл использовать только если стоит задача запускать программу на старых машинах с < 512 Mb RAM. К сожалению, в государственных конторах, а также за пределами республики МКАД, таких компьютеров больше, чем хотелось бы. Но если есть возможность писать на .net, на нем и надо, забыв про Delphi, как про старый лупоглазый советский телевизор - тот, конечно, тоже показывал кино и балет, но как то хреново

kruzer25

Windows Forms и VCL настолько похожи, что тяжелее найти различия, чем сходства
Ага, поэтому линукс - просто новая версия винды, а винда - макоси.

Helga87

Ага, поэтому линукс - просто новая версия винды, а винда - макоси.
Схожесть инструментальных средств определяет схожесть применений. Да, дотнет решает все те задачи, для которых нужен был дельфи (с оговоркой про необходимую мощность компов). В этом смысле я и называю дотнет новым дельфи.
Привет!

Werdna

Сейчас Delphi имеет смысл использовать только если стоит задача запускать программу на старых машинах с < 512 Mb RAM.

Бугага!
Примитивное графическое поделие и 512 оперативки!

Helga87

Стоимость гигабайта оперативной памяти стала меньше 800 рублей, все хорошо.

kruzer25

Кстати, санрайз жжот
Планка памяти новая стоит 749р. А она же в бюджетном магазине - 927

tipnote

Неправильно говоришь.
Скорее так:
если аудитория продукта готова к таким системным требованиям, то экономически целесообразней выбрать скорость разработки скорости выполнения

sbs-66

Мы вот недавно новую версию продукта выпустили. Минимальные системные требования - 512М оперативки на каждое ядро процессора, но не менее 1024М. Дальше будет хуже...

Helga87

если аудитория продукта готова к таким системным требованиям, то экономически целесообразней выбрать скорость разработки скорости выполнения
Скорость выполнения, как мы знаем, не страдает. Просто для того, чтобы сборщик мусора имел место куда складывать свои находки, нужно место. Если оно есть, все очень, очень хорошо и быстро работает. Это тот же эффект, что и в Psyco — жрем больше памяти, зато быстрее

tipnote

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

salora

Да блин что цешарп, что петон. Чуть встретится логика сложнее гуишной, так всё сразу начинает тормозить.

tipnote

Бредовое обобщение.

Helga87

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

Werdna

Стоимость гигабайта оперативной памяти стала меньше 800 рублей, все хорошо.
пиздец у тебя логика.

agaaaa

А зачем переводить приложения? Исходный вопрос был "на чём начать программировать?", а не "переходить ли с delphi на C#?"
И, кстати, .NET уже достаточно кросплатформенный. А с выходом Moonlight'а он вполне имеет шанс вытеснить Qt и Gtk.

salora

А с выходом Moonlight'а он вполне имеет шанс вытеснить Qt и Gtk.
чего курим?

kruzer25

+1, Moonlight вроде как реализация Silverlight, и вытеснит разве что flash.

zontik

Лол, нет, входит второй! Потому что в SP2 входит SP1, а в SP1 входит FX2.0, потому что на голом XP стоит только первый, причём даже не 1.1, а 1.0, если мне не изменяет память!
http://www.microsoft.com/windowsxp/expertzone/chats/transcri...
Transcript: Windows XP Service Pack 2, August 18, 2004
Published: August 20, 2004
Host: Delwin (Microsoft)
Q: Why wasn't .NET framework 1.1 included and do I need it?
A: It wasn't included in XP RTM or SP1, and we didn't want to throw it into a service pack for no reason. (Disclaimer: MCE does come with .NET Framework since it actually needs it.)

slonishka

Стоимость гигабайта оперативной памяти стала меньше 800 рублей, все хорошо.
чорт. я недавно в местном ТЦ купил за 1700. :\

erotic

А че это память подешевела, кстати?

uncle17

делать научились

6yrop

Это часть третьего .net framework-а, если что
чё ты этим хотел сказать?
Нормального редактора для WPF до VS2008 не было.

bleyman

Окей, с дотнетом во фреймворке, видимо, был не прав. Но с автообновлений он всё-таки качается, кажется!
Про дельфю: вот объясните, зачем вообще прогать на мёртвом языке? Не, что там просто прогать, какому мудаку приходит в голову дать совет _начинать_ прогать на мёртвом языке?

sbs-66

Он хоть и мёрвый, но для новичка очень хорош тем, что там всё достаточно просто. И я ж написал, что если цель - создать пару приложений на коленке, то дельфи. Если хочется именно научиться, а не написать что-то рабочее с минимальными затратами, я бы рекомендовал Win Api изучить, ибо наше всё. Хотя х.з. что там MS планирует в новых виндах намутить, может никакого Win API и не останется... Но лет 5 ещё он проживёт точно, а дальше никто загадывать всё равно не будет.

tipnote

Он хоть и мёрвый, но для новичка очень хорош тем, что там всё достаточно просто
Простых и живых языков хватает. Мертвый-то зачем?

sbs-66

Я не знаю много языков, на которых можно просто сделать GUI под винду. По дельфи ввиду специфики языка много хелпов и FAQов было написано.

tipnote

Куча скриптовых языков + бинд к куче из популярных гуи тулкитов. Вопрос доков снимается обычно автоматом, так как бинд ничего не меняет, а соответственно можно пользоваться докой популярного тулкита. В итоге, человек узнает популярный гуи тулкит и не мертвый скриптовый язык.

kruzer25

не знаю много языков, на которых можно просто сделать GUI под винду
.NET + WPF?

nikita270601

Куча скриптовых языков + бинд к куче из популярных гуи тулкитов. Вопрос доков снимается обычно автоматом, так как бинд ничего не меняет, а соответственно можно пользоваться докой популярного тулкита. В итоге, человек узнает популярный гуи тулкит и не мертвый скриптовый язык.
Delphi проще. Правда, на мой взгляд, намного менее полезен в перспективе, но проще для начала.

tipnote

Мб, вопрос только насколько проще и стоит ли ради этой разницы учить мертвый язык?

sbs-66

Скриптовые языки на десктопе ещё более мёртвые в плане GUI под Win. Ты хоть одно GUI приложение мне назови, написаное на скриптовом языке?

feliks28

WebUI для uTorrent?

slonishka

Ты хоть одно GUI приложение мне назови, написаное на скриптовом языке?
реально используемых под виндой наверное немного, но вообще примеров дофига.

evgen5555

И кого сейчас смущают 20 Мб?
КПК-юзеров, например

tipnote

Да бля, там одних торрент клиентов на каком-нибудь питоне выше крыши. Гугл в помощь.

kruzer25

Да, поэтому надо писать на дельфи, там вообще для кпк не скомпилируешь.

tipnote

Дык мы сейчас говорим про приложения "на коленке", ради которых и предлагается учить мертвяка.

evgen5555

Легче всего создавать окна, кнопки и прочую байду в Qt, литературы под него полно.

slonishka

ага. "на коленке" написанных гуёв на питоне, к сожалению, тоже дофига. =(
надеюсь, написание этих поделий помогло их аффтарам в плане развития личности.

tipnote

Гг. А я надеюсь, что они сгорят в аду!

erotic

В точку! Жду ответа Красина.

kokoc88

В точку! Жду ответа Красина.
.NET Compact Framework

Helga87

В точку! Жду ответа Красина.
Я уже несколько часов назад поставил +1 к посту Асета. Qt рулит.

nikita270601

Qt рулит.
На КПК?

salora

Легче всего создавать окна, кнопки и прочую байду в Qt, литературы под него полно.
литературы мб и полно, но это на c++, что автоматически минус, а ещё для наколенных поделок желательно иметь возможность мышекликательства в стиле Delphi/C#, чего для Qt, насколько я знаю, нет.

slonishka

там вроде Qtopia есть какая-то. писал на ней кто?

erotic

.NET Compact Framework
Фу бяка, так и не рискнул себе поставить. Ну нах.

erotic

Под wxWidgets никто не пробовал прогать?
У меня вставал вопрос, на чем писать GUI, Gtk не подошел в силу ущербности (я его не видел даже, если честно, но говорят сложный очень, да и лично мне его интерфейс не нравится Qt - из-за лицензии (им надо бабла отстегивать за не GPL-приложения, если не ошибаюсь а в wxWidgets просто ломало разбираться.
В итоге делаю, как в п. 3 у Мкала - пишу по чуть-чуть свою из Windows API, но получается, что под nix придется писать отдельную реализацию

yolki

обоснуй, почему _мёртвый_?

feliks28

Что-то сдается мне, что не просто под nix, а отдельно под gnome, kde и т.д.
И еще сдается мне, что ничего типа msdn'а там тоже нет
Кстати, если gui не рассматривать, то аналогом winapi что будет? crt?

yolki

Кстати, если gui не рассматривать, то аналогом winapi что будет? crt?
Что имеется в виду под WinApi?
CreateFile - winapi?
есть тот же xlib

feliks28

Ага, пасиб за xlib
Ну, CreateFile или HeapAlloc...

Helga87

обоснуй, почему _мёртвый_?
Тренды показывают, что интерес к Delphi из года в год падает и уже давно стал ниже, чем интерес к C#

timefim

Последняя версия разве не под NET?

yolki

дай определение "NET"

yolki

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

stat7984215

Тренды показывают, что интерес к Delphi из года в год падает и уже давно стал ниже, чем интерес к C#
Кстати, любопытно: если по этим трендам посмотреть распределение популярности C# по городам, то на первом месте будет Редмонд, на втором с более чем трехкратным отставанием Бангалор, потом еще несколько индийских городов. Получается, что C#'ом интересуются в основном люди из MS да некоторое количество индусов
А вот Delphi наоборот, особо популярна в Москве

evgen5555

У этого мобильника двухъядерный проц, хотел бы я на такой взглянуть.

slonishka

Qtopia? это ж либа.

Helga87

Те же тренды показывают, что интерес к С++ падает быстрее, чем к Delphi, а к C в последнее время наметился резкий скачок.
Это означает, что С остается main stream, а С++ потихоньку становится нишевым языком. Падение С++ кстати за последний год замедлилось и дальше уже падать будет вряд ли — есть достаточно много областей, в которых он остается самым лучшим языком.

nikita270601

Кроме того, запрос C в гугл пишут не только те, кто интересуется языком программирования Си.

erotic

Это означает, что С остается main stream, а С++ потихоньку становится нишевым языком.
Гм, интересно, почему? Неужели на С удобнее писать?

salora

Гм, интересно, почему? Неужели на С удобнее писать?

Скорее от того, что на Java/C#/D удобнее писать, чем на C++, а C не заменишь. Ещё C используется для реализиции узких мест в проектах на языках вроде Python/Ruby/...

kokoc88

Кроме того, запрос C в гугл пишут не только те, кто интересуется языком программирования Си.
Я вот только не разобрался как отделить язык программирования Си от какой-то левой ерунды, вообще не связанной с компами. Сдаётся мне, здесь какая-то ошибка:
 http://www.drownedinsound.com/content/view/1058033
Тоже самое про Delphi:
http://milwaukee.bizjournals.com/milwaukee/stories/2006/02/13/daily46.html?jst=b_ln_hl

erotic

Хм, сложные проекты я бы не стал писать на Java, ибо тормозно, на C#, ибо винда, D я вообще не знаю, что такое, а на C - потому что сложно будет и некрасиво. Остается C++, какие еще варианты?

kokoc88

Вот, например, совсем другие тренды (там Delphi даже не упоминается):
http://radar.oreilly.com/archives/plangtrend2.html

kokoc88

Вот ещё: во всех трендах упоминание Си++ обычно сопровождается упоминанием Си. То есть пишут "C/C++". Таким образом, из трендов Си надо вычесть тренды Си++, чтобы получить чистую картину по Си.

kokoc88

Остается C++, какие еще варианты?
Си++ в сочетании с любым скриптовым языком дат очень хорошие результаты. Довольно популярны Си++ и python, Си++ и Lua.

erotic

Это т.е. часть пишется на скриптах, часть - на C++, и C++ часть компилируется, линкуется и вызывается из скриптов? Или как?

kokoc88

Это т.е. часть пишется на скриптах, часть - на C++, и C++ часть компилируется, линкуется и вызывается из скриптов? Или как?
А это как угодно: скрипты вызываются из Си++; Си++ из скриптов; или и то, и другое. Причём разрабатываются очень удобные системы: трансляция классов между языками, интеграция с garbage collector, маленькие оверхеды между вызовами (менее 10% производительности и т.п.

salora

Гыгы, забавно. Точка последнияя точка падения java совпадает с точкой роста c#, а падение жабки+рост цешарпа ~ 0

Dasar

Хм, сложные проекты я бы не стал писать на Java, ибо тормозно, на C#, ибо винда
сложные проекты - как раз надо писать на java
ключевые по скорости компоненты сложных проектов надо писать на C++ - но это и есть очень узкая ниша

erotic

Ну, может быть, я в Яве не силен.

evgen5555

А, да, с гринфоном попутол.
Оставить комментарий
Имя или ник:
Комментарий: