Какую среду разработки выбрать?
настроение: Бодрое
Отправка письма на С++
Расскажите пожалуйсто как отправить письмо через протокол smtp.
Желательно не используя MFC.
Слышал существую готовые классы, но найти и приминить их так и не смог.
Где бы вообще почитать про это?
Без заголовка
Критика уроков.
После продолжительных баталий в инете, я всё таки пришёл к выводу, что уроки с 0-го по 2-й нужно переделать,
там на самом деле есть недочёты, некоторые вещи некорректно описаны, нет объяснения основополагающих вещей.
Так-что займусь этим в ближайшее свободное время.
После того как я переделаю эти уроки в каждом из них появится ссылка на готовый проект и на исполняемый файл.
Как я это сделаю - я сообщу об этом в отдельном посте.
Microsoft Visual C++ 2008 Express Edition
1) Он-лайн загрузка и сразу последующая установка Visual C++ 2008 Express Edition Beta 2
2)Образ диска с Visual C++ 2008 Express Edition Beta 2
Ещё не разобрался, что же можно придумать насчёт ресурсов, так-как в Visual C++ 2008 Express Edition Beta 2 нет встроенного редактора ресурсов программы, но пока ресурсы практически не задействованны, только в 4-том уроке, который я сейчас пишу понадобится иконка программы для отображения в области уведомления.
Без заголовка
Урок - 4. Будильник.
1)В основном окне программы можно задать время появления этого окна и проигрывания мелодии, а также саму мелодию - это такие форматы как: mp3, wav, wma, mid. Также в основном окне можно увидеть текущее время, остановить, проиграть, перемотать текущую мелодию.
2)Садится в "Область уведомления" - создаёт там свою иконку, по нажатии на неё левой кнопкой мыши появляется окно программы, по нажатии на неё правой кнопкой мыши появляется диалог выхода из программы.
3)Появляется окно программы около мыши в заданное в нём время и начинает проигрываться мелодия, которая тоже задаётся в нём.
4)Автоматически загружается при запуске Windows. Прописывает себя в реестре на автозапуск.
5)Мелодия и время появления будильника сохраняются в файл и при запуске программы считываются и устанавливаются в ней.
Вроде бы всё. Сейчас начнём разбирать каждый пункт отдельно.
[ 1)В основном окне программы можно задать время появления этого окна и проигрывания мелодии, а также саму мелодию - это такие форматы как: mp3, wav, wma, mid. Также в основном окне можно увидеть текущее время, остановить, проиграть, перемотать текущую мелодию. → ]
[ 2)Садится в область уведомления - создаёт там свою иконку, по нажатии на неё левой кнопкой мыши появляется окно программы, по нажатии на неё правой кнопкой мыши появляется диалог выхода из программы. → ]
[ 3)Появляется окно программы около мыши в заданное в нём время и начинает проигрываться мелодия, которая тоже задаётся в нём. → ]
[ 4)Автоматически загружается при запуске Windows. Прописывает себя в реестре на автозапуск. → ]
[ 5)Мелодия и время появления будильника сохраняются в файл и при запуске программы считываются и устанавливаются в ней. → ]
Вот и всё. Рекомендую пользоваться MSDN. :-)
Скачать:
Исполняемый файл 41 Кб
Проект целиком 501 Кб
Анонс 4-го урока "Будильник"
Что она делает:
1) Показывает текущее время с точностью до секунды.
2)Появляется окошко программы, около мышки, в указанное время и начинается проигрывание мелодии(проигрываемые файлы это mp3 и wav), если она задана, если нет, то для звукового оповещения используется PC-speaker
3)Автоматически запускается со стартом Windows(прописывается в реестре на автозапуск при включении Windows, при запуске программы)
4)Мелодия и время появления будильника сохраняются в файл и при запуске программы считываются и устанавливаются в ней.
5)Программа появляется в виде иконки в "Области уведомления"(tray) неподалёку от часов, на панели задач. Для работы с ней нужно кликнуть по этой иконке левой кнопкой мыши. Для выход из неё кликаем по ней правой кнопкой мыши, появляется сообщение с вопросом закрыть Будильник, жмём Ok для закрытия программы.
Недостатки (возможно к выходу урока устраню):
1)Мелодия начинает проигрываться с некоторой задержкой после появления окна, в заданное в будильнике время.
2)Если мелодия стартовала, то остановить её нельзя, только выключив будильник - закрыв эту программу.
3)Может не прописаться в реестре для автозапуска, из-за ограничений пользователя, либо использовании ОС не WinXP, проверялась только на WinXP.
Вопрос.
Исходя из предыдущего поста, я согласен с тем чтобы размещать здесь исходники простых и интересных приложений и давать список тем которые необходимо знать для того чтобы понять эти приложения, конечно некоторые вещи я сам буду пояснять и отвечать на вопросы связанные с эти приложением.
Для того чтобы сделать такое приложение и опубликовать его исходник здесь, мне нужно знать, что будет делать это приложение.
Так вот я предлагаю всем желающим написать список интересных для них приложений(задач).
Обращение.
От этого зависит будут ли они продолжены или нет.
Урок 3. Приложение с окошко в котором выводится аним. синусоида.
меняющая свою амплитуду со временем.
Итак, почему же ОС Windows(окошки) называется так, сразу наверно понятно, что там много окошек,
да это так, но дело ещё в том, что каждая пользовательская программа в ОС Windows имеет хоть одно своё окно,
без этого никак, даже стандартная кнопка на которую ты щёлкаешь это тоже окно, окно у программы может быть нам не видно,
но знай оно есть. И к окну цепляется пользовательская функция основная задача которой обрабатывать нужные программе
сообщения от этого окна, сообщения возникают тогда когда с этим окном что-то происходит, к примеру оно стало активно
или наоборот, на него кликнули мышкой, расстянули или нажали какаю-то кнопку на клавиатуре во время того
как оно было активно, и.т.д. Каждое сообщение имеет свой уникальный код и нередко вместе с ним передаются
допольнительные данные, которые нужны для обработки сообщения, к примеру код клавиши в сообщении WM_KEYDOWN.
В программе которую мы будем дальше рассматривать как раз видно вся эта структура, я постарался сделать её маленькой.
Для того чтобы написать программу нужно знать:
1)Что мы хотим чтобы она делала.
2)Нужно знать как она это будет делать, хотя бы примерно.
3)Если не представляешь как это может сделать программа - подумай, поищи в инете, книжки почитай, попробуй, пока не
будешь представлять как она должна это делать.
4)Реализовать идею в программе.
5)Отладить программу, протестировать, возможно что-то в ней улучшить.
Начнём попорядку:
1)Что мы хотим чтобы она делала.
Хотим чтобы она выводила нам окошко и рисовала в нём синусоиду у которой менялась амплитуда со временем.
2)Нужно знать как она это будет делать, хотя бы примерно.
Так я сделаю окошко проинициализирую его, как во многих примерах, напишу свой обработчик для прорисовки.
Теперь с синусом, ага функция будет примерно такая y = A(t)*sin(x); где A(t) - функция которая возвращает амплитуду
в зависимости от времени. x,y - координаты.
3)Реализуем идею в программе смотри ниже
4)Тестируем и отлаживаем
Пришлось сделать оптимизацию, чтобы не вычислять всё в реальном времени.
Ну и всё программа готова. :-)
Я откомментировал программу, так чтобы было понятно, если есть вопросы - задавайте.
[ Программа → ]
Тема 3-го урока....
Урок 2. Переменные, операторы управления и циклов, функции.
[ продолжение → ]
настроение: В спешке
Скачивай!!!
- Элджер Джефф Библиотека программиста С++ (PDF Скачать книгу) (1,73 MB)
- Гради Буч Объектно ориентированный анализ и проектирование с примерами приложений на C++ (HTML.ZIP Скачать книгу) (2,52 MB)
- Ален И. Голуб Правила программирования на C и С++ (PDF Скачать книгу) (1,35 MB)
- Алгоритмы С++ Source COde (HTML.ZIP Скачать книгу) (191 KB)
Среда программирования Borland C++ Builder
- Постер: Иерархия объектов в Borland C++ Builder 6 (PDF Скачать постер) (124 KB)
- Постер: Иерархия объектов в Borland Delphi (PDF Скачать постер) (52,3 KB)
- Бобровский С. Самоучитель программирования на языке С++ Builder 4 (HTML.ZIP Скачать книгу) (986 KB)
- Расдорф Кент и Хедерсон Кен Borland С++Builder Освой самостоятельно (PDF.ZIP Скачать книгу) (63 MB)
- Builder Энциклопедия (HTML.ZIP Скачать книгу) (26,3 MB)
ПОЛЕЗНОЕ
Многое из того, что продают в интернете за большие деньги здесь вы можете скачать бесплатно.
На данный момент вы можете бесплатно скачать следующие учебники и самоучители смотри ниже
[ читать дальше → ]
Вопрос.
Я бы очень хотел узнать как вам Урок 1, потому что это мой первый опыт написания уроков.
Вообще кто-нибудь из вас это сделал?
С благодарностью отнесусь к любым комментариям.
Извиняюсь кстати за то что не проверил, что у меня вывелось, дело в том что если записать в кавычки < > слово без пробела , то ни кавычек ни слова видно не будет, вот такие особенности этого сайта.
настроение: Задумчивое
Урок 1.Создание программы выводящей на экран сообщение.
Для начала дам простое поределение программы.
Программа - это последовательность инструкций которые выполняет центральный процессор компьютера, а центральный процессор - управляет всем компьютером на основе инструкций программы.
Для начала нужно создать проект. Запускаем Visual Studio, выбираем в меню File->New->Project, у нас появляется окошко создания проекта, в списке "Project Types(Типы проекта)": выбираем "Visual C++ Projects(Проекты Visual С++)", далее в списке "Templates(Шаблоны)" выбираем "Win32 Project(Проект Win32)". Ниже в поле Name(Имя), вводим название нашего проекта, например lesson1, обязательно латинскими буквами. В поле "Location(Местоположение)", задаём путь на диске где будет папка нашего проекта, его можно задать вручную или с помощью кнопки "Browse...(Просмотр)", к примеру путь будет "C:\lessons", и жмём кнопку "Ok". Дальше появляется окошко"Win32 Application Wizard" Помощник создания проекта Win32, слева выбираем пункт "Application Settings(Параметры приложения)" и выбираем в пункте "Application type(Тип приложения)" - "Console application(консольное приложение)" - ставим там точку, дальше в "Additional options(дополниткльоные опции)", ставим галочку в пункте "Empty Project(Пустой проект)", всё жмём внизу кнопку "Finish(Завершить)". Проект создан. Теперь у нас есть проект, но внём нет ни одного файла, наша задача их создать, справа вы видите "Solution Explorer" со списком: References(Ссылки), Source Files(Исходные файла), Header Files(Заголовочные файлы), Resource Files(Файлы ресурсов), если такого у вас нет, то жмёте в вернем меню, "View(Вид)"->"Solution Explorer" должен появиться.
Нам нужно создать исходный файл - файл в котором хранится наша программа, для этого щёлкаем правой кнопкой мыши на "Source Files"->Add(Добавить)->Add New Item...(добавить новый пункт), в появившемся окне выбираем в "Categories:" - Visual C++ и в "Templates" - "C++ File(.cpp)", вводим имя файла в поле "Name", например "main.cpp" и жмём кнопку "Open". Всё у нас есть исходный файл "main.cpp", в нём мы и будем писать нашу программу. Щёлкаем на "main.cpp" в папк "Source Files" и справа у нас появляется окно для ввода программы.
Вот что вводим в это окошко:
//------------------------------------------
#include < iostream >
#include < conio.h >
using namespace std;
int main()
{
cout<<"Hello world !!!";
getch();
return 0;
} //------------------------------------------
Это простая программа которая, выводит на экран сообщение "Hello world !!!", это - cout<<"Hello world !!!"; а также ждёт пока не будет нажата любая клавиша getch();
Для того чтобы вывести сообщение данным способом в самом начале подключается iostream - #include < iostream > - это стандартная С++ библиотека для ввода/вывода.
Для того чтобы программа сразу не завершилась после вывода на экран "Hello world !!!", была добавлена функция getch();, для её использования подключаем conio.h - #include < conio.h > . И ещё один интересный момент для того, чтобы не писать std::cout<<"Hello world !!!";, ,было объявлено, что программа использует пространство имён std - это using namespace std;. Что такое пространство имён namespace - из названия понятно, что это пространство имён :-), а что же это за имена - это имена функций, переменных, классов, констант к которым можно обращаться только через имя этого пространство: либо так имя_пространства_имён::какое-то_имя_из_этого_пространства, либо using namespace имя_пространства_имён; и далее имена из этого пространства будут вам доступны, как в нашем примере программы.
Так, остались не объяснины 4 строчки программы.
int main() - это основной функции программы
{ - начало блока основной функуции программы
return 0; - выход из основной функции программы
} - конец блока основной функуции программы
Что такое функция - функция это отдельная частичка программы, которая имеет свои локальные переменные, но также может работать и с глобальными, назначение которой выполнять какое-либо действие и возвращать результат, результат зависит от типа функции, в нашем случае это int - целочисленное значение со знаком и возвращаем мы 0, как-раз строчка - return 0; Также в функцию могут передоваться разные параметры в зависимости от её объявления, в нашем случае ничего не передаётся.
Сборка приложения - Получаем готовый exe файл.
Для того чтобы программа стала программой понятной компьютеру, надо её перевести в машинный язык, этим занимается компилятор и линковщик.
Есть два способа, которыми я обычно пользуюсь.
1)В Меню MS Visual Studio на самом верху есть пункт Build(Строить) нажимаем на него и в выпадающем меню жмём Build Solution или просто можно нажать Ctrl+Shift+B внизу как раз отобразиться процесс компиляции и линковки, если всё написано без ошибок то мы получаем готовый exe файл.
Вот сообщение которое при успешном создании выводится в окошку Output :
Build: 1 succeeded, 0 failed, 0 skipped
Полученный exe файл можно найти в папке проекта, он находится в зависимости от рода компиляции в подпапке проекта Debug или Release.
2)Если посмотреть внимательней, то можно найти кнопку под самым верхним меню в виде кнопки Play у проигрывателя, то-есть такой синий треугольник направленный влево, и рядом с ним тип компиляции, изначально как правило стоит Debug этот тип компиляции предназначен специально для отладки программы в пошаговом режиме, и получаемый exe файл содержит много отладочной информации. Также есть тип компиляции Release получаемый при этом файл не содержит отладочной информации и дебажить его можно разве что в ассемблерной форме, ну и этот режим используется для готового приложения, отлаженного и без глюков, поставляемого непосредствено конечному пользователю. В общем выбираем нужный нам режим и жмём на кнопку типа Play, на самом деле она называется Run. Если приложение не было откомпилированно до этого или в его исходный код вносились изменения, то MS VS спросить нужно ли откомпилировать приложение, жмём да. И приложение собирается(компилируется и линкуется) и запускается. Также можно просто нажать F5 - тоже самое.
Вот и всё.
Итак, я начинаю вводные уроки по С++. Что нужно для этого.
Желательно Windows XP, так как у меня сейчас она стоит.
Наверняка большинство участников сообщество пользуется этим творением Microsoft.
И второе - среда разработки это будет Microsoft Visual Studio .NET 2003 (у меня такая :-) ), но можно
и Visual Studio 6.0, Visual Studio 2005. На начальных этапах это непринципиально.
Так что если у вас нет этой среды разработки, то вам нужно её где-то достать.
Купить диск например. Установка её не очень сложная, главное чтобы галочка
напротив Visual C++ стояла, остальные языки типа J#, С#, Visual Basic(в особенности) -
не нужны, лишь место на диске будут занимать, так что уберите галочки если они стоят
напротив них, хотя это не обязательно.
Запуск для Microsoft Visual Studio .NET 2003: Пуск->Все программы->Microsoft Visual Studio .NET 2003->Microsoft Visual Studio .NET 2003.
У меня так, у вас может быть по другому, но вы умные - разберётесь.
Можете вынести этот ярлык на рабочий стол, чтобы быстрей запускать Microsoft Visual Studio .NET 2003.
Вроде бы всё для начала.
В следующем уроке научимся создавать проект и создадим простейшее Windows приложение на C++.
Если у кого-нибудь есть вопросы по этому уроку - пишите.
настроение: Бодрое
привет!
я начинающий программист, изучаю С++ пока только пол года.
мне будет интересно пообщаться с умными людьми.
настроение: Веселое
Почему?
Но я подумал, что было бы интересно поделиться с остальными людьми своим опытом и знаниями и вообще просвятить малознакомых с программированием людей, что же это такое. К тому же здесь можно получить ответы на интересующие вас вопросы связанные с программированием, такая вот онлайн консультация, надеюсь что и я узнаю много нового для себя. В планах у меня вводные уроки по C++ и потом как продолжение разработка готовых приложений с использованием DirectX, также интернет приложения, разберёмся с драйвером ядра для Windows XP, и.т.д. Задумок много, кое-что я сам знаю только теоретически, например драйвер ядра Windows XP, тем более это будет интересно. Влезем в самое сердце Windows XP одним словом. Но это не сразу, сначала несколько уроков. Так что присоединяйтесь, будет интересно.
Всем добро пожаловать.
P.S:
Я создатель и пока едиственный участник сего сообщества, так что буду писать в своё удовольствие :-)
настроение: Занятое
Чтобы их читать, Вам нужно вступить в группу