Отправляет email-рассылки с помощью сервиса Sendsay

Инвестирование с нуля

  Все выпуски  

Программирование на Си и С++ с нуля 126) Первое знакомство с C++Builder


Школа программирования

126) Программирование на C++: Первое знакомство с C++Builder

В выпуске:
- Вдохновляющее
- Где искать C++Builder тем, кто так и не смог
- Знакомимся с C++Builder
Вдохновляющее

Вы читали "Серьёзный рынок несерьёзных игр"?
http://www.pcweek.ru/?ID=613887
"Доходность такой игры зависит от многих факторов, в том числе от ее увлекательности и качества дистрибуции. Самый значительный из известных результатов — 35 млн. долл. (Zuma). Причем, если в 2005-м оборот по хитовой игре в среднем составлял порядка 6 тыс. долл. в день, то в этом году средний оборот хита составляет около 20 тыс. долл. в день, т. е. за год рост оборота по хитовым играм на пике популярности составил более 300%".

Насколько сложно сделать подобную игру? Можете зайти на сайт alawar.ru, чтобы понять, что такое казуальная игра.

Игрушку типа пчелки на цветке или приключений Мямли программист высокого класса сделает за ОДИН ДЕНЬ (при условии, что подготовлена вся графика и анимация). Не верите?
Вот сайт с играми, которые программисты делали за один-два дня. Среди них немало игр, ничуть не уступающим казуальным по сложности программирования, недостает лишь дизайна.
http://www.experimentalgameplay.com/

Ну, наверно, один день - утрировано, но от 1 до 10 дней - это точно (личный положительный опыт :). Разве плохо потратить 10 дней, чтобы потом получать каждый день по 20 тысяч долларов?

Уверяю, что при усердном занятии через полгода вы вполне сможете САМИ создавать подобные игры (ну или системы автоматизации атомных станций, развивающие программы для малышей, системы создания новых лекарств, бортовые управляющие модули для стратегических ракет, софт для взлома криптопротоколов или боевые полиморфные вирусы :-). Те, кто занимались в прошлом году на курсах по Delphi, сейчас пишут сложные программы, которые я и сам не сразу соображу, как сделать :)

Но можно спросить, почему же так мало тех, кто этим занимается? Потому что тот, кто может организовать подобную деятельность, уже как правило ранее добился успеха в другой сфере :) А тому, кто не может самостоятельно найти и установить дистрибутив C++Builder, данная перспектива вообще не грозит :) И таких, увы, 99%. Не потому, что действительно не могут - а потому, что воспитаны жить в беспомощном состоянии, полагаясь на других, а не на себя. Так было и так будет всегда, и наличие самой замечательной идеи совсем не означает, что ее кто-то будет реализовывать.

Еще одна полезная ссылка:
"Стартовал отечественный чемпионат по спортивному программированию"
http://pcweek.ru/?ID=616455

"...Одним из самых значимых нововведений проекта стала регулярно обновляемая лента новостей спортивного программирования, которую ведет Владимир Рычев — золотой медалист студенческого чемпионата мира по программированию АСМ-2005."
Рекомендую: http://www.ttb.by/ (правда, до этого белорусского сайта нелегко достучаться :)


Финальная часть эпопеи с поиском и установкой C++Builder.

Привожу последнюю группу писем на эту тему.

ftp://ftpd.borland
Я прошел ввесь путь нашел все нужные ключи и генераторы, а верся оказалась с вышедшедшим сроком Trial.
Evaluation period has expired.
А вы пишете (проверил - рабочая)
Александр.

Ну я просто проверил, работает ли ссылка :) А уж до конца не скачивал. Александр, правда, через некоторое время написал:

Извините вчера напряг вас с проблемами по установке
Borland c++ Сегодня купил 6 версию на раскладке -поставил без проблем.

:)

Уважаемый Учитель!
Спасибо за внимание к моему замечанию по некоторым трудностям при установке Turbo C++.
Судя по очередной рассылке, с этим столкнулись и другие пользователи.
Предлагаю несколько заметок, которые помогут пройти установку:
- в иструкции, которую рассылает робот при регистрации на сайте Borland сказано, что достаточно поставить присланный файл в свой каталог и все установится. Где-то дальше сказано, что если при установке программа потребует серийный номер и ключ, то вы сделали что-то неправильно (перевод вольный).
Я думаю, что в это многие и упираются. Робот серийный номер и ключ не прислал.
Но эти данные есть:
- зарестрировавшемуся пользователю приходит письмо с темой:
Your requested Borland information.
там есть фраза:
Для верификации вашего e-mail'а:
To verify your email address, please open the URL: https://members.borland.com/verify.aspx?value= {ваш личный номер)
Перейдя по ссылке, выберите пункт
Go to membership services
Заполнив табличку со своим логином, e-mail'ом и паролем, попадаете на страничку со своими регистрационными данными.
На этой странице есть кнопки (внизу слева) среди которых выберите
My registered products
Нажав на кнопку, получите табличку, в которой указан серийный номер и ключ вашего экземпляра Turbo C++ Explorer.
Воспользуйтесь ими, когда начнете в первый раз запускать Turbo C++ и регистрироваться.
Предупреждение:
Инсталляция делает недействительной активацию программ Offis Xp. Так что держите наготове ключ активации. Если посчитаете нужным, включите это в очередную рассылку.
У многих из нас (пользователей) просто не хватает времени разбираться, если возникают какие-то шероховатости.
Сергей

Далее.

Уважаемый Сергей Боровский!
Я очень вам благодарен за благородство ваших намерений и ценю ваш труд. Поэтому я не согласен с тоном взятым по отношению к вам Александром, но я согласен с ним по существу. Если вы предлагаете свои услуги и решились дать нам бесценную информацию, то делать это нужно с предельной степенью элементарной исчерпываемости (дальнейшее свое совершенствование человек должен выполнить самостоятельно), так, чтобы ваши уроки небыли шифровкой и такое положение не может зависеть от платности или бесплатности ваших услуг. Этот постулат особенно важен для людей науки, где требуется скрупулезность в толкованиях и терминологии. Где каждый нюанс может изменить один смысл на другой. Эти люди очень страдают мысленно от несовпадений, нестыковок и двусмысленностей. Сам я инженер-электронщик 1949 года рождения. Имею изобретения и патенты.
Понятно, что в моем возрасте мне трудновато поднять какую-либо другую науку, но это затруднительно также и для более молодого человека, умственно сильно загруженного другими профессиональными проблемами. Поэтому, одно дело, если ваше изложение существенно упрощает восприятие предмета в сравнении с учебником, и тогда это бесценно само по себе и вообще придает этому делу какой-то смысл. Другое дело, если ваше изложение начальных познаний в программировании будет изобиловать неясностями и двусмысленностями. Тогда все потеряет свой смысл. Понятно, что важнейшим моментом для восприятия вашего курса обучения является установка Borland C++Builder , поэтому мне, например, непонятна некоторая ваша небрежность в подаче информации : Вот вы сообщаете: Порывшись в яндексе 10 минут, нашел вот такую ссылку (проверил - рабочая): ftp://ftpd.borland.com/download/bcppbuilder/BorlandCBuilder6Evaluation.exe . Действительно, по этой ссылке я за час скачал редактор и установил Trial вариант. Вернее сказать при запуске скаченного значка программа лишь распаковывается в указанную папку. Из этой папки по файлу Install.exe запускается установка собственно приложения, после чего появляется запрос на регистрацию, показанный в скрепке.
Но мне не удалось обнаружить нигде запрашиваемых атрибутов. Вот мне и непонятно: если вам уже довелось установить по этой ссылке редактор, значит вам известно, где взять эти атрибуты. Почему же вы, в таком случае, недоговариваете? Что -это сильно затруднило бы вас? Я не владею английским языком. В свое время я учил немецкий. Мне трудно искать эти атрибуты в Интернете. Вы знаете? Я очень высоко ценю во многих великих людях простоту, не кичливость, уважительность и снисходительность к людям. И наоборот, в моих глазах сильно снижаются те великие люди, которые в жизни вели себя как подарок. Очень надеюсь, что последнее к вам не относится.
С искренним уважением за ваш труд.
Алексей Григорьевич.

Боровский - действительно есть такой замечательный компьютерный автор, но я не Боровский, а Бобровский :)

К сожалению, ту ссылку я не проверял - я ее нашел за 10 минут, и проверил, скачивается ли по ней что-то. Значит, как показала практика, эта ссылка все же не-рабочая :) Поэтому наверное лучше воспользоваться путем Александра, который также не смог эту ссылку оживить.

Мне прислали еще одну ссылку:

Для тех кто не знает где скачать Turbo C++ рабочая ссылка:
ftp://ftpd.borland.com/download/turbo/English/C++_Explorer/TCPP_EXPL_EN_DL.exe

Но во избежание кривотолков отмечу, что я ее даже не проверял :)

Что касается людей, которых вы цените. Я человек, к счастью, не великий, поэтому ваши ценности ко мне ну никак не применимы :) Я - человек крайне СВИРЕПЫЙ :) , сложный, и снисхождения не люблю ни к себе, ни к другим! Так что, если кто-то хочет общаться с великим преподавателем, который будет прост как голубь и мудр как змий, придется такого поискать в любой другой из десятков тысяч рассылок.
А в моей рассылке придется терпеть меня маленького таким, какой уж я есть - со всеми моими огромными минусами :)

Я только недавно начал изучать С++. Учу по книге У.Савич "Программирование на С++". Книга очень хорошая. Всё очень понятно разъясняется, хотя язык и довольно сложный. Но я с радостью подписался на Вашу рассылку, потому, что в таком сложном деле любая информация просто необходима. Поэтому прошу Вас не обращать внимание на "случайных" людей. Они отсеятся в процессе обучения.И огромное Вам спасибо, за то, что Вы бесплатно помогаете людям! В наше время это огромная редкость.
Виталий

Вот Виталий например сам изучил С++ по книге Савича, которая, скажем так, переведена не идеально, да и разжеванности в ней маловато, если не сказать больше. Но ведь смог же - САМ! А это сложнее, нежели найти дистрибутив C++Builder.

А подойдет ли Microsoft Visual C++ 5.0?
Я купил DVD-диск с Borland Developer Studio 2006, Borland C++ BuilderX Enterprise и еще кучей всего. Но после установки новой версии .NET и еще кучи чего в итоге все свелось к сообщению "Unable to find Java Runtime. Please download from http://www.borland.com/jbuilder/resources/javaruntime.htm". А по этому адерссу в интернете можно скачать все что угодно, только не это=( А ваше задание повторяется=( Я уже успел почти убить замечательную книжку - Брайн Оверлэнд, "С++ Без страха", как первая книга по С++ и С она показалась мне просто замечательно изложенной. Но в ней полностью отсутствует информация по WinApi и также работе с сокетами, DirectX и прочими полезными вещами... Не подскажите ли какую-нибудь книжку по С++, хорошо описывающюю смежные с С++ вещи. А то учиться по справочникам не самое увлекательное занятие.

Visual C++ (спрашивали еще про Визуал Си, то же) - не подойдет. Режим визуального создания программ на C++ реализован в Visual C++ , по-моему, только в версии VS 2005, но она уж очень громоздка. А вот чтобы перейти с C++Builder на Visual C++, никаких специальных познаний не потребуется. Приемы везде одни и те же.
Unable to find Java Runtime - не хватает установленной Java Runtime, но наверняка можно найти, где скачать.
Изучать WinApi вам придется именно по справочникам :) Это основной путь.
Просто в WinApi тысячи функций, поэтому сначала надо определиться, какую задачу надо решить (игры - это одно, взлом паролей - это совсем другое :), и уже изучать конкретную группу функций. Смежных вещей ведь огромное число, одного универсального учебника нету.

Спрашивали также про BC 3.1 (Borland C) и Bloodshed Dev-C++ - первый не подойдет (в нем нет режима визуального проектирования), насчет второго ничего не могу сказать.

Еще одно письмо.

Здравствуйте, Сергей!
С первого пришедшего мне письма рассылки очень понравился Ваш стиль, доступный язык. Не знаю, нужна ли Вам обратная связь, но мне кажется, с таким разжевыванием понятий любой вполне способен освоить программирование на Си, если, конечно это ему ДЕЙСТВИТЕЛЬНО нужно.
Я, конечно, не претендую на физика-теоретика и не могу сказать, что я "не дурак":) ибо не мне об этом судить, но проблем с нахождением и установкой программ вообще не возникло.
Дорогие сокурсники!
А не пришло в голову решение поднять пятую точку с места и прогуляться по магазинам?
Мне лично модемное соединение не дает возможности накачать такой объем информации, да и хлопотно это. А на работе трафик строго ограничен.
Посему, единственным вариантом для меня было - купить! Есть в нашем небольшом городишке (Питере:)) масса прекрасных мест, в частности "Юнона" на ул. М. Казакова, где Вам с удовольствием предложат все перечисленные среды и массу других интересных утилиток на ДиВиДишных мультизагрузочных дисках. И прокомментируют, что да как.:) И по стоимости в диапазоне 60-100 руб!:) А если "Ридми" файл внимательно прочитать - то все сказочно устанавливается. И (О ЧУДО!) BorlandC++ Builder 6 загружен, мы у! же готовы к следующим урокам, и ждем их с нетерпением!:)
Еще раз Спасибо Вам, Сергей, за терпение. Не сочтите за лесть или за графоманию.:) Постараюсь впредь не засорять Вашу почту:).
Светлана.

Еще по прошлогоднему курсу обучения Delphi выявилась такая забавная закономерность - женщины занимаются наиболее успешно! Из Питера была лучшая ученица, Лена - невероятно талантливая.
Более того, в отличии от мужиков, женщины никогда не НОЮТ, что не могут справиться с пустяковой, по большому счету, проблемой. Они просто берут и делают, и добиваются успеха. А мужчины слишком много рассуждают :) , и беспомощно ждут, когда им добрый дядя все разжует, вместо того, чтобы действовать самостоятельно.

В заключение - еще один добрый человек, который готов помочь.

Если не возрожаете, я бы хотел помочь тем, у кого проблемы с поиском и установкой копилятора для С++. Вставте мой email в следующую рассылку и пусть морочат мне голову :). Жаль, если Вы будете тратить время на объяснение вещей очевидных. А у меня есть и время и терпение. Хотя, конечно, Вы правы, что те кто не могут найдти :) и установить копилятор, наврядли осилят курс.
Влад
memcis @ mail.ru

Все, на этом тему установки C++Builder считаем закрытой. В рассылке дано достаточно информации, где и как искать систему и даже куда обращаться :)


Итак, инсталляция системы успешно завершена :) Доступ к программам группы Borland C++Builder осуществляется через Главное меню с помощью команды Пуск - Программы - Borland ... (в зависимости от версии, например C++Builder). В этой группе помимо ссылки на C++Builder содержатся различные вспомогательные программы.

Запустите Borland C++Builder, выбрав пункт меню "C++Builder".

На экране возникнет заставка, и когда она закроется, вы увидите вот такое изображение - начальное состояние C++Builder:

ссылка на картинку - Начальное окно C++Builder

Если у вас последняя версия C++Builder 2006 или TurboC++ - см.ниже правильную картинку.

Вы находитесь в интегрированной оболочке разработчика (integrated development environment, IDE - этот термин постоянно встречается в программистской практике). Она состоит из нескольких частей - главного окна C++Builder (цифра 1 на рисунке), Инспектора объектов (Object Inspector) - 2, визуального проектировщика рабочих окон программы - 3, и окна редактора программы - 4.

Последнее в свою очередь состоит из Просмотрщика классов (ClassExplorer; он не нужен, и его можно закрыть кнопочкой в его верхнем правом углу) - 1, и редактора текста программы - 2.

ссылка на картинку - Окно редактора

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

Выше был описан вид C++Builder первых версий. Немного иным может быть внешний вид самых последних вариантов - C++Builder 2006 или Turbo C++. В них сначала открывается пригласительная страничка со всевозможными справочными ссылками. Чтобы перейти к рабочему режиму создания программы, надо дать команду File - New - VCL Forms Application - C++Builder. Эту же команду надо дать, если вы сразу не видите проектировщик в старой версии. Окно будет выглядеть примерно так:

ссылка на картинку - Начальное окно C++Builder 2006 при создании новой программы

Основное отличие от вышеприведенной картинки в том, что часть главного окна (панели с кнопочками и другими элементами, они называются Палитра инструментов, Tool palette) расположены не вверху, а справа. Кроме того, окно визуального проектировщика может быть скрыто окном редактора (или наоборот). Для перехода от редактора к проектировщику щелкаем в нижней части центрального окна - там есть закладки Design (Проектировщик) и Unit1.cpp (редактор содержимого файла unit1.cpp).

Текущую заготовку программы надо сохранить. Для этого выполняется команда File - Save Project As (или Save All), выбирается пустой каталог (лучше не брать тот, который C++Builder предложит по умолчанию), и в него записываются все файлы, которые будут предложены на сохранение.

В текущем состоянии C++Builder уже создал заготовку программы, и даже самостоятельно сгенерировал исходный текст на языке С++ (трогать который не рекомендуется :). Теперь эту заготовку надо превратить с помощью компилятора в работоспособный исполнимый EXE-файл.

Итак, самый важный в сегодняшнем задании шаг - технологическое волшебство, превращение заготовки в работоспособную программу! Чтобы вызвать компилятор, надо дать команду Run - Run или нажать клавишу F9. Компилятор запустится автоматически, выведет сообщение об анализе сотен тысяч строк кода на С++ (и откуда они взялись, правда? :) скоро мы это узнаем), создаст за минуту (а может, чуть быстрее или медленнее) работоспособное приложение, после чего сам запустит его на выполнение. У вас на экране появится новая программа, поверх других. Ее окно в точности совпадает с окном, показанным в проектировщике C++Builder (только сеточки поверх не будет :). Только это уже не шаблон, а полноценная программа, которая появилась в каталоге, где были сохранены все текущие файлы. По умолчанию она называется Project1.exe. Вы можете ее скопировать на флешку и показывать всем знакомым как свою первую программу :)
После закрытия программы среда C++Builder автоматически получит активность.

Эту программу можно немного украсить. На палитре инструментов (вверху или справа) имеется множество элементов управления, которые помещаются на проектируему форму с целью создания интерфейса взаимодействия с пользователем. Вы можете разместить на форме кнопку (элемент TButton) -

ссылка на картинку - Старая версия C++Builder

ссылка на картинку - Новая версия C++Builder

щелкнуть на ней в палитре инструментов, затем щелкнуть на форме - и на ней появится кнопка. Ее можно подвигать мышкой, поменять ее размеры.

ссылка на картинку - Кнопка на проектируемой форме

после чего снова скомпилировать и запустить программу. Теперь в ней появится кнопка, на которую можно нажимать! Правда, это нажатие ни к чему пока не приведет - программировать действие кнопки требуется вручную :) Поэкспериментируйте с другими элементами - поставьте на форму список, флажки, панельки и так далее.

Задание. Добейтесь, чтобы C++Builder качественно работала, и после нажатия F9 не выдавала непонятные сообщения об ошибках :) , а создала бы вашу первую программу. Попробуйте перетащить эту программу в другой каталог и запустить оттуда (может не получиться в зависимости от настроек версии C++Builder, но это легко поправимо).

Теперь все готово к изучению самого процесса программирования.


(c) 2004-2006 Сергей Бобровский bobrovsky as russianenterprisesolutions.com

Школа программирования с нуля
Все предыдущие выпуски базового курса всегда тут:
http://www.infiltration.ru/p/

Дизайн рассылки: Алексей Голубев - Web-дизайн и web-программирование


В избранное