Как научиться программировать на Delphi? С нуля делфи


Программирование в Delphi. Учебник-самоучитель и практический курс Delphi для школьников

практический курс

Что это такое?

Среда Delphi фирмы Borland — это одна из самых популярных сред быстрой разработки приложений (RAD = Rapid Applications Development). Язык, реализованный в Delphi — это современный вариант языка Паскаль (сначала его называли Object Pascal — объектный Паскаль, а сейчас — просто язык Delphi).

В условиях современной российской школы, где большинство учащихся изучает язык Паскаль, среда Delphi — это лучший вариант для знакомства с основными понятиями и приемами объектно-ориентированного программирования, построенного на обработке событий.

Поиски готовых разработок по Delphi, подходящих для использования на уроках, не привели к какому-то ощутимому результату, поэтому автор был вынужден написать свой учебник-самоучитель, который позволяет интересующемуся ученику осваивать материал самостоятельно (в идеальном варианте — с консультациями учителя). Уже после завершения работы были обнаружены очень хорошие материалы К.М. Домнина.

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

Примеры, рассмотренные в курсе, отлаживались на базе среды Borland Delphi 2006 (или Turbo Delphi Explorer), однако они могут быть с минимальными изменениями перенесены в большинство современных версий Delphi.

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

Содержание

Уроки по Delphi оформлены в виде электронного учебника в формате CHM (сжатый гипертекст). Учебник содержит 6 тем, которые охватывают наиболее интересные возможности среды Delphi. Кроме того, в тексте учебника размещены практические задания с пошаговыми инструкциями и подробным объяснением необходимых действий.

  1. Введение
  2. Консольные программы
  3. Форма и компоненты
  4. Графика и управление
  5. Графический редактор
  6. Текстовый редактор

Предлагаемый подход можно сформулировать как «от задачи — к теории». Инструменты и возможности Delphi изучаются не изолированно, сами по себе, а в контексте практических задач, возникающих при разработке программ.

Особенности этого курса можно сформулировать, на взгляд автора, так:

  • это специально подобранный набор примеров; хотя они могут показаться слишком «разношерстными», автор надеется, что в результате у читателя сформируется целостное представление об основных возможностях среды Delphi;
  • каждый из примеров — осмысленная задача, мы не будет писать программы типа «давайте погоняем кнопку по экрану»;
  • мы не рассматриваем основы программирования: понятия цикла, процедуры, функции, массива и т.п., алгоритмы работы с данными; внимание сосредоточено на принципах создании программ, обрабатывающих события, и на особенностях среды Delphi;
  • при исследовании каждого примера правильное решение не приводится сразу, а вместо этого рассматривается естественный процесс разработки программы, включающий не только верные, но и ошибочные ходы;
  • работа с базами данных не рассматривается вообще (умышленно), потому что это отдельная область, требующая тщательного и неспешного изучения.

Лицензионное соглашение

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

Без письменного согласия автора ЗАПРЕЩАЕТСЯ:
  1. 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
  2. 2) распространение неполных или измененных материалов;
  3. 3) включение материалов в сборники на любых носителях информации;
  4. 4) получение коммерческой выгоды от продажи или другого использования материалов.

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

Скачать

Учебный курс в виде файла в формате CHM можно бесплатно скачать с этого сайта:

Если у вас возникли проблемы с просмотром этого файла (видно только оглавление), нажмите на кнопку Разблокировать в свойствах файла. Это Windows блокирует «опасные» файлы, полученные из Интернета. Подробности см. на сайте Microsoft.

Для выполнения практических работ необходимы дополнительные файлы (архив ZIP, 126 Кб).

Для проверки вы можете скачать готовые программы, используемые в курсе. Они размещены в виде RAR-архива (пароль 12345):

kpolyakov.spb.ru

Как научиться программировать на Delphi? — Toster.ru

В общем расскажу все по порядку. После НГ 2016 начал интересоваться программированием. Первым делом прочитал, что да как, и решил, нужно научиться, выбрал язык для начала - Pascal. Скачал Turbo Pascal 7.0 и самоучитель от С.Н.Лукина. Начал учиться, появилось желание, стало интересно, как это так заставить компьютер делать действия за тебя на автомате, короче загорелся. Прочитал всю книгу, выполнил все задания и забросил, из-за нехватки времени. В мае решил продолжить. Близкий язык к Pascal, это Delphi. Скачал Delphi XE2 и книгу "Д.Осипов - Delphi XE2". Начал читать. Прочитал около 120 страниц, ничего не понял из этого. Решил записаться на курсы по Delphi. Прошел и окончил их. Познакомился с разными подходами типа (структурный, процедурный, объектный, компонентный). Вроде как ООП прошел, с классами работал. Но в чем проблема, кроме красивого калькулятора написать ничего не могу. К примеру, хотел написать парсер текста и приплыл. Что где брать, как использовать? Вроде и понимаю, что нужны сторонние unit-ы, а как их использовать - нет. Во время обучения самостоятельно изучал HTML, частично CSS. По совету одного человека начал читать книгу "Введение в язык Паскаль Абрамов В.Г., Трифонов Н.П.", ибо он сказал, если хочешь научиться программировать нормально, начни с консоли и Pascal, прочитал 82 страницы, очень скучно и нудно. Нового узнал, только два оператора succ и pred. Она 1988 года, по мне дак слишком старенькая уже. С английским не очень. Сейчас обучаюсь на первом курсе, по специальности "Компьютерные системы и комплексы". Изучение начнется только после 1-ой сессии, не хочу терять время зря и валять дурака, подскажите что можно почитать в моем случае, а то какую книгу не возьми все не то, или уже знаю, или слишком сложно. Вроде все сказал.

  • Вопрос задан более двух лет назад
  • 1325 просмотров

toster.ru

Cybern.ru » Уроки для начинающих

  • 30th Октябрь, 2013, admin

  • 26th Октябрь, 2013, admin

  • 25th Октябрь, 2013, admin

  • 24th Октябрь, 2013, admin

  • 23rd Октябрь, 2013, admin

  • 22nd Октябрь, 2013, admin

  • 3rd Март, 2013, admin

  • 15th Февраль, 2013, admin

  • 20th Декабрь, 2012, admin

  • 6th Май, 2012, admin

  • 5th Май, 2012, admin

  • 4th Май, 2012, admin

  • 4th Май, 2012, admin

  • 4th Май, 2012, admin

  • 28th Июль, 2011, admin

  • 11th Июль, 2011, admin

  • 3rd Май, 2011, admin

  • 20th Март, 2011, admin

  • 15th Март, 2011, admin

  • 6th Март, 2011, admin

  • 6th Март, 2011, admin

  • 5th Март, 2011, admin

  • 3rd Март, 2011, admin

  • 21st Февраль, 2011, admin

  • 17th Февраль, 2011, admin

  • cybern.ru

    Как перестать программировать на Delphi и начать жить / Хабрахабр

    Если ты, %username%, едва прочитав заголовок этой статьи, чувствуешь butthurt стойкое неприятие к автору, если слова «TForm1», «circular reference» и «Access violation» для тебя не пустой звук, если после очередного холивара в уголке сознания снова зашевелился червячок — эта статья для тебя.

    С завидной регулярностью появляются новые статьи как сторонников так и противников Delphi, и неизменно с новой силой разгорается холивар. И если лет 10-15 назад холивар назывался «Delphi vs C++», то теперь фронт переместился вплотную к окопам сторонников бывшего Borland и спор идет уже в рамках «Delphi vs не-Delphi». Даже самые упрямые последователи Н.Вирта иногда задумываются, почему вдруг стали изгоями и чудаками в сообществе программистов? Если ты, читатель, все же считаешь что ничего кроме Delphi тебе не нужно для работы, сравни хотя бы вилки зарплат для вакансий Delphi и той же Java. Появилось желание изучить что-нибудь кроме Delphi? Я расскажу с чего начать на основе собственного опыта.

    Откуда берутся Delphi-программисты
    Будучи еще студентом, 7-8 лет назад я устроился в небольшую компанию тестировщиком. Шли годы, я освоил Delphi, на котором писались все десктопные приложения этой компании, стал ведущим программистом. Не считаю себя гуру, однако Delphi и VCL для меня — зачитанная до дырок книга. Все дырки пришлось научиться либо обходить, либо закрывать собственными заплатками. Справедливости ради стоит сказать, что VCL имеет совсем немного откровенных отказов. Многое из того что давным-давно есть в Delphi совсем недавно стало появляться в других платформах, однако на текущий момент у Delphi практически нет никаких преимуществ перед современными средствами разработки. Увы, но это факт.

    Некоторое время назад биг-боссы пригласили меня на совещание и уговорили заняться новым проектом. Пришлось отложить любимый Delphi7 в самый темный и пыльный угол жесткого диска и, вооружившись интернетами, срочно осваивать Qt. Из глубин памяти, затянутые паутиной, понемногу всплыли скромные институтские познания С. Помноженные на популярные книги по С++ и документацию по Qt они начали давать первые результаты.

    Разрабатывая desktop-приложения на любом языке программирования вы рано или поздно сталкиваетесь с синтаксисом С и элементами С++. Это и документации и примеры и мучительный «перевод» хедеров на любимый язык. С приходом опыта, программист Delphi все же может сносно понимать программы на С++, обилие «звездочек», «анперсандов», символы "==" уже не кажутся бессмысленной кашей и заговором коварного Страуструпа по уничтожению ваших мозговых клеток. В конце концов, начинаешь в некоторых конструкциях видеть определенную красоту. Далее будем предполагать, что читатель умеет сносно понимать С-синтаксис.

    Итак, читатель, согласен изучить что-нибудь новое, но что же выбрать?

    Путь первый. Самый простой. C#
    Из современных языков С#, как ни странно, проще всего воспринимается Delphi-ориентированными мозгами. Чтобы пересесть с Delphi на C# вовсе не обязательно начинать с толстой книжки от Microsoft. Большинство вещей будут интуитивно понятны, остальное есть в MSDN. Все объекты, как и положено, являются указателями, методы и свойства доступны всегда через «точечку», никаких вам "->". Автоматическая сборка мусора, конечно, вызовет укоризненное покачивание головой у настоящего Delphiста, однако к хорошему быстро привыкаешь. Стоит отметить, что программировать на C# можно не только в Visual studio, есть прекрасная IDE SharpDevelop. Она бесплатна, как и Delphi. Порог вхождения минимален — установили, запустили, поехали! И в той и в другой среде можно грабить корованы программировать мышкой, как мы привыкли это делать в Delphi: редактор форм принципиально ничем не отличается, а двойной клик по кнопочке создаст метод-обработчик нажатия. Уже через полчаса вы сможете сделать первый helloworld, через сутки накатать работающий прототип собственного GPS-навигатора для старого но любимого КПК на Windows CE, а через неделю-две начнете на нем новый коммерческий проект. Главное, не забывайте, оператор сравнения на равенство это двойное равно "==". Понять это невозможно, надо просто запомнить.
    Путь второй, тернистый. С++
    Сравнивая Delphi и С++ можно провести такую аналогию: Delphi это сильное тоталитарное государство. Исповедуй его идеологию — и будешь жить долго и счастливо и даже достигнешь определенных высот. Делать карьеру легко и приятно, путь предначертан. Но стоит сделать шаг в сторону — расстрел! С++ — это демократия. Хочешь — сделай так, хочешь — эдак. Или наплюй и сделай по-своему. Но за свои действия отвечай, пожалуйста, сам.

    Тут уже придется почитать специальную литературу. Лично я всегда предпочитаю книги для начинающих. Важно твердо разобраться именно в базовых вещах, тогда до высшего пилотажа быстрее дойдете сами. В данный момент дочитываю «C++ для начинающих» Герберта Шилдта. Если вы действительно опытный Delphi-программист, первые страниц сто можно полистать не очень внимательно. Особое внимание следует уделить работе с указателями и объектной модели.

    Теперь надо выбрать IDE. Можно взять проверенную Visual Studio, я же выбрал Qt. Он бесплатен, кроссплатформеннен, имеет богатый набор классов, прекрасную IDE, а также широкую поддержку в сообществе. Качаем Qt, ставим, всё! Надо отдать должное, Qt не беспокоит начинающего программиста лишними вопросами, имеет встроенную документацию, примеры. Все как у дорогостоящих коммерческих IDE. Мышкой программировать уже не получится, хотя может это и к лучшему. Первое, что не укладывается в Delphi-ориентированный мозг, это отсутствие примитивного типа string. К этому сложно привыкнуть, но это так. Во-вторых, чтобы использовать привычный нам подход к работе с объектами, придется явно объявлять их как указатели. В третьих, интерфейс модулей обычно хранится в отдельных заголовочных файлах. Это кажется избыточным на первый взгляд, однако в чужой монастырь со своим уставом, как известно, не ходят. Это только первые впечатления. Переварив и осмыслив их, вооружаемся книгами, мануалами, гуглами и начинаем переворачивать свое представление о программировании. Qt вам в помощь.

    Путь третий. Извилистый. Web
    Хотите открыть новые горизонты — добро пожаловать в web-программирование. Здесь царит анархия. Десятки технологий, сотни реализаций, тысячи взаимоисключающих рекомендаций. Здесь нет среды разработки, в которой можно было бы сделать весь проект. Впрочем, попробовать стоит, это интересно. Однако, не смотря на обилие и простоту большинства web-технологий сделать качественный продукт ничуть не проще, чем настольное приложение.
    Заключение

    Что вы выберете, решать конечно вам. Даже если вы останетесь верны Delphi — это ваш выбор, и не самый худший, надо сказать. В любом случае, читатель, помни: качество продукта определяется твоими способностями и навыками и только в самую последнюю очередь зависит от инструментов.

    PS: За что я все-таки действительно люблю делфи, так это за быструю компиляцию:

    habr.com

    Изучаем Delphi - Основы программирования в Дельфи

    Часть I.

    Содержание 1-й части:

    • О программировании и о Delphi
      • Что такое программирование
      • Что такое Delphi
      • Delphi и другие
      • Процедурное программирование и алгоритмы
      • Пару слов об объектно-ориентированном программировании
      • Визуальное программирование и Delphi
      • Версии Delphi и их отличия
    • Среда Delphi и простейшее приложение
      • Из чего состоит Delphi
      • Интегрированная среда разработки
      • Проекты в Delphi
      • Типы проектов
      • Прочие средства IDE
      • Создание приложения командной строки
    • Введение в Object Pascal
      • Алфавит языка
      • Зарезервированные слова
      • Структура программы
      • Данные и значения
      • Типы данных
      • Переменные и константы
      • Операции и их типы
      • Выражения
      • Приоритет операций
    • Операторы Object Pascal
      • Операторы и управляющие структуры
      • Оператор if
      • Оператор case
      • Оператор цикла while
      • Оператор цикла repeat
      • Оператор цикла for
      • Процедуры break и continue
    • Структурные типы данных
      • Пользовательские типы данных
      • Перечисления
      • Массивы
      • Строки
      • Множества
      • Записи
      • Вариантные данные
      • Совместимость и преобразование типов
      • Оператор as
    • Процедуры и функции
      • О подпрограммах в Object Pascal
      • Процедуры
      • Функции
      • Использование аргументов
      • Видимость переменных
      • Некоторые стандартные функции
      • Рекурсия
      • Директивы

    « Изучаем Delphi | Часть II. »

    www.snkey.net

    delphi с нуля видео Видео

    ...

    4 лет назад

    Стань программистом бесплатно: http://masterlite.delphicomponent.ru/ Пожалуйста поделитесь этим видео с друзьями! Вы очень...

    ...

    4 лет назад

    Подписаться на Канал - https://bit.ly/JoinTROFIM ▻ Я в Вконтакте - https://vk.com/trofim_yt ▻ Я в Twitter - https://twitter.com/TROFIM_YT ▻ Я в Instagram...

    ...

    4 лет назад

    Курсы программирования. Урок 1. Интерфейс Delphi Ключевые слова: обучение программированию, delphi, delphi 7, програм...

    ...

    4 лет назад

    Подписаться на Канал - https://bit.ly/JoinTROFIM ▻ Я в Вконтакте - https://vk.com/trofim_yt ▻ Я в Twitter - https://twitter.com/TROFIM_YT ▻ Я в Instagram...

    ...

    2 лет назад

    Обзор первого урока Напиши в коментах что бы ты хотел увидеть на уроке.

    ...

    2 лет назад

    Уроки delphi для начинающих. Изучаем с нуля. Создание программ всех типов.

    ...

    4 лет назад

    Мой сайт http://otodrakula50.wix.com/arduinoprog Группа во ВКонтакте https://vk.com/club90201555 В данном уроке рассматривается работа...

    ...

    6 лет назад

    В этом уроке я покажу, как создать примитивную программу на Delphi и покажу основы работы со средой программир...

    ...

    3 лет назад

    Delphi do zero para iniciantes aula 1 curso completo de Delphi para iniciantes começando do zero, Delphi e linguagem Pascal. http://www.adrianosites.com.br.

    ...

    3 лет назад

    Видео ответ эконом расход топлива ланос НАКОНЕЦ ТО Я СНЯЛ ПОЛНУЮ ИНСТРУКЦИЮ, держи ссылку - https://www.youtube.com/watch...

    ...

    7 лет назад

    Подробный урок по созданию таймера в Delphi 7.

    ...

    2 лет назад

    Демонстрируется чтение и запись матрицы в Delphi из текстового файла. Чтение из текстового файла в таблицу...

    ...

    5 лет назад

    Delphi XE5 - разработка приложений для Android. Как создать приложение для Android в Delphi? http://www.webdelphi.ru/2013/08/delphi-xe5-pervoe-priloz ...

    ...

    3 лет назад

    Экономь на покупках в интернете - http://ali.pub/1ilhcg Качественный Delphi DS150E - http://ali.pub/1ilhcg Качественные ELM 327 WI-FI - http://ali...

    ...

    2 лет назад

    Автор: Артём Кашеваров Подробное содержание на сайте АВТОРА, или у нас: ▻ Сайт автора: http://programmerinfo.ru ▻ Сайт...

    ...

    6 лет назад

    В этом уроке мы начнем изучать принципы объектно ориентированного программирования. Разберем, что же такое...

    ...

    2 лет назад

    Автор: Артём Кашеваров Подробное содержание на сайте АВТОРА, или у нас: ▻ Сайт автора: http://programmerinfo.ru ▻ Сайт...

    ...

    3 лет назад

    ESTE CURSO FOI DESCONTINUADO, ACESSE A NOVA LISTA Delphi Básico 2017: ...

    ...

    3 лет назад

    Video aula numero 5 do curso completo de delphi começando do zero, somente para iniciantes http://www.adrianosites.com.br.

    ...

    3 лет назад

    ESTE CURSO FOI DESCONTINUADO, ACESSE A NOVA LISTA Delphi Básico 2017: ...

    videozz.ru

    Изучаем Delphi - О программировании и о Дельфи

    О программировании и о Delphi

    Начнем наше ознакомление с программированием в среде Delphi с таких вопросов, как суть собственно программирования, его основы и подвиды. Также мы рассмотрим, что представляет собой среда Delphi, чем она отличается от других, и какой путь был ей пройден с момента появления 10 лет назад.

    Что такое программирование

    Итак, прежде всего, уясним для себя, что же понимают под термином программирования? Сейчас многие называют себя программистами, не зная даже о том, что это такое: на проверку оказывается, что человек, изменивший пару строк кода в HTML-документе уже готов считать себя программистом. Но на самом деле, работая с HTML (именно с самим HTML), стать программистом нельзя, поскольку HTML, что явствует из названия (Hypertext Markup Language - язык разметки гипертекста), языком программирования не является.

    В результате мы имеем первое условие: для изучения программирования нужен какой-либо язык программирования. В нашем случае это будет язык Object Pascal последних версий (14.0 или 15.0).

    Далее, допустим кто-то, называющий себя программистом, не только правил пару строк кода HTML, но и видел Delphi, и даже нарисовал в нем форму с 2-3 кнопками и текстовым полем. Это ли программист? Скорее всего, тоже нет. Дело в том, что под визуальной оболочкой, на самом деле, скрывается сложнейший механизм, обеспечивающий взаимодействия элементов управления (тех же кнопок) с пользователем и операционной системой - с одной стороны, и позволяющий выполнять практически любые вычислительные действия - с другой. При всем этом следует уметь делать главное - составлять алгоритмы поведения программы - будь то ее реакция на нажатие той или иной кнопки, или создание функции для решения сложного математического уравнения.

    Так вот, программирование в, своем современном понятии, включает в себя знание принципов работы операционной системы, взаимодействия ее компонентов и внутреннего устройства. Ну и при этом сохраняется классическое определение программирования, а именно - умение составлять алгоритмы, математические и поведения программы. Все это реализуется в контексте какого-либо языка программирования, например, того же Object Pascal из Delphi.

    Что такое Delphi

    Теперь мы знаем, что программирование - есть составление алгоритмов плюс использование языка программирования. Но если изучаемым нами языком является Object Pascal, то что такое Delphi? Ответ таков: Delphi - это RAD, или Rapid Application Development - среда быстрой разработки приложений. Иначе говоря, Delphi включает в себя не только все средства для работы с языком Object Pascal (тем более, что начиная с версии, 2005 в Delphi имеется поддержка других языков программирования, в частности, C#), но и ряд дополнительных средств, призванных максимально ускорить и упростить создание программ. К таковым средствам относятся, прежде всего, визуальный редактор форм, при помощи которого за считанные минуты и без лишних усилий можно создать полноценно выглядящую программу, а так же прочие составные части визуальной составляющей разработки программ.

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

    Вкупе с развитыми средствами для написания и отладки кода - специализированным текстовым редактором, оптимизирующим компилятором и отладчиком, Delphi являет собой средство быстрой разработки приложений. При этом основой Delphi для конечного пользователя является IDE - Integrated Development Environment (интегрированная среда разработки), которая объединяет в себе редактор кода и средства визуальной разработки, а также связывает это с компилятором, средствами разработки баз данных и прочими составными частями Delphi.

    Delphi и другие

    Разумеется, Delphi - не единственная среда быстрой разработки приложений. Существуют и другие RAD, столь же удобные для визуальной разработки программ, например, Visual Basic. Но BASIC известен как не самый мощный и удобный язык программирования, кроме того, программы на нем отличаются сравнительно невысоким быстродействием.

    Вместе с тем, имеются и не менее мощные, по сравнению с Object Pascal, языки программирования, имеющие свои RAD - прежде всего, это язык C++ вместе с таким наиболее известными средствами разработки, как Visual C++ и C++ Builder. Однако C++ не в лучшую сторону отличается от Object Pascal с точки зрения простоты изучения. Кроме того, сборка и отладка программ на C++ происходит сравнительно медленно, хотя готовые программы выполняются так же быстро, как и созданные при помощи Delphi.

    ПРИМЕЧАНИЕ Отметим, что в момент своего появления в 1995 году, Delphi была действительно уникальной средой, объединяющей в себе визуальное программирование с оптимизирующим компилятором и средствами для работы с базами данных.

    В результате мы получаем практически идеальный продукт для быстрой разработки программ: с одной стороны простота и удобство, сравнимые с Visual Basic, а с другой - мощь, скорость и гибкость, характерные для C++.

    Здесь следует отметить, что используемый в Delphi язык Object Pascal имеет мало общего со своим прародителем - языком программирования Pascal, который, возможно, вы изучали в школе или в ВУЗе. Прежде всего, в Delphi применяется чистая объектно-ориентированная модель программирования, в то время как Pascal был обычным процедурным языком. В чем же суть отличий процедурного программирования от объектно-ориентированного? Вот этот вопрос мы и обсудим в следующих двух параграфах.

    Процедурное программирование и алгоритмы

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

    Давайте рассмотрим простейший алгоритм - для игры "угадай число". Логика его работы состоит в том, что требуется проверить, является ли число большим или меньшим, чем загаданное, и если это так, ты вывести соответствующую подсказку, а если оно не больше и не меньше (т.е. совпадает) - то игра заканчивается. Блок-схема такого алгоритма будет состоять из 2 ветвлений (рис. 1.1).

    Рис. 1.1. Блок-схема простого алгоритма

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

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

    Рис. 1.2. Блок-схема управления программой

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

    Конкретная реализация того или иного алгоритма зависит от применяемого языка программирования, а так же от предпочтений создателя программы, поскольку, как правило, одну и ту же конструкцию можно решить, используя несколько различных методов. Например, для возврата к какой-либо точке, обозначенной на блок-схеме, можно использовать как циклы, так и операторы безусловного перехода. Ну а сами блоки могут выноситься в отдельные процедуры и вызываться в качестве подпрограмм. Единственной общей чертой является условный оператор, отвечающий за развилку - практически во всех языках, и Pascal тут не исключение, он называется IF. Впрочем, с операторами Object Pascal мы еще успеем ознакомиться.

    Об объектно-ориентированном программировании

    Если выбор, повтор и переход - краеугольные основы любого процедурного языка программирования, то для объектно-ориентированного программирования важны такие понятия, как инкапсуляция, наследование и полиморфизм. Рассмотрим эти понятия, без которых ни один поддерживающий объекты язык не может называться объектно-ориентированным, подробнее.

    ПРИМЕЧАНИЕ Под термином "объект" в программировании понимают некий сложный тип данных, к которому могут быть привязаны уникальные для данного типа свойства, а в случае ООП - также и методы.

    Инкапсуляция представляет собой объединение данных и обрабатывающих их подпрограмм - методов - внутри одного объекта, называемого в ООП "классом". Это означает, что в классе инкапсулируется все необходимое для работы с тем или иным объектом.

    Наследование - это еще одна важная составная часть ООП. Под наследованием понимают возможность создания типа (объекта), базирующегося на определении другого объекта. При этом все свойства и методы родительского объекта, могут быть унаследованы потомком. К примеру, если у нас есть объект "машина", то на его основе можно создать другой объект, скажем, "трамвай", который унаследует все его свойства, и получит вдобавок к ним какие-либо собственные. В свою очередь, этот объект так же сможет иметь своих потомков, и т.д. В результате образуется дерево объектов, называемое иерархией классов.

    В Object Pascal все классы происходят от единого предка - класса TObject, который реализует такие общие для всех классов действия над объектом, как создание и удаление.

    СОВЕТ В поставку коробочных версий Delphi включен плакат, на котором изображено дерево классов для всех основных компонент Delphi. Поэтому если вы - счастливый обладатель лицензионного продукта, то можете наглядно изучать устройство этой системы, разместив этот плакат на своем рабочем месте.

    Наконец, третий кит, на котором стоит ООП - это полиморфизм, или возможность создавать в рамках родственных объектов одноименные свойства и методы, которые будут отличаться по своей сути. Скажем, у нас уже есть классы "машина" и "трамвай", и для обоих определено свойство "мотор", но если для машины тип мотора будет объектом одного типа, то для трамвая - совсем другого.

    Еще одна важная составная деталь, характерная для ООП - это скрытие, которое позволяет делать невидимым ряд свойств объектов. Иными словами, если у нас может быть определен объект типа "машина", для которого, в свою очередь, определены такие свойства, как шасси, мотор и колеса. Так вот, если мотор и колеса, можно сделать видимыми (и доступными) повсеместно, где только доступен сам класс "машина", то шасси - нет. Соответственно доступ к такому свойству можно будет получить только в тех частях программы, в которых производится описание самого объекта "машина". Такие свойства называют защищенными.

    Подробнее об объектно-ориентированном программировании будет рассказано во второй части настоящего издания.

    Визуальное программирование и Delphi

    Итак, Delphi являет собой среду, работающую с объектно-ориентированным структурным языком программирования Object Pascal. В дополнение к этому, Delphi является еще и средой визуальной разработки. Иначе говоря, уже в процессе создания программы видно, как она будет выглядеть во время выполнения. Визуальное программирование в разы сокращает время, необходимое на создание пользовательского интерфейса для приложений Windows. До появления визуальных средств разработки, программирование под Windows было сопряжено с большими трудностями, поскольку требовалось практически вслепую вычислять расположение каждого элемента управления в окне приложения, что приводило к множеству ошибок (рис. 1.3).

    Рис. 1.3. Классический и визуальный подходы к созданию интерфейса

    То, что Delphi является визуальной средой разработки, наносит свой отпечаток и на язык программирования. В частности, в нем предусмотрены специальные средства для того, чтобы определенные свойства классов могли быть доступны уже на этапе разработки программы, а не только во время выполнения. Но самой важной частью всего этого великолепия является библиотека классов - VCL (Visual Component Library). Именно VCL скрывает все острые углы внутренностей Windows, и позволяет легко создавать приложения, не вступая в затяжную войну с обработкой системных сообщений, обратных вызовов, дескрипторов и указателей.

    При всем этом, разумеется, никто не запрещает вам при надобности использовать функции Windows напрямую, в обход VCL. Впрочем, такое может понадобиться весьма нечасто, поэтому для начинающего программиста на Delphi, для написания Windows-приложений ничего, кроме VCL, не требуется.

    Визуальные компоненты мы детально рассмотрим в 3-й части этой книги.

    Версии Delphi и их отличия

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

    Delphi 1. Вышедший незадолго до появления Windows 95, Delphi 1.0 был первым инструментом разработки приложений Windows (3.1), объединившим в себе оптимизирующий компилятор, визуальную среду разработки и мощные средства для работы с базами данных. Для языка Pascal это стало настоящим перевоплощением - он стал Object Pascal.

    Delphi 2. Вышедшая через год 2-я версия Delphi предлагала все то же, но уже для 32-разряных версий Windows (95/NT), опять-таки став первым средством, сочетающим 32-битный компилятор, средства для работы с БД и визуальную среду разработки, поддерживающую OLE (а после выхода обновленной Delphi 2.01 - и ActiveX). Язык так же изменился, став ориентированным на 32-разрядное применение.

    Delphi 3. Дальнейшее совершенствование Delphi по всем направлениям привело к выходу 3-й версии, имевшей расширенный набор инструментов для создания приложений благодаря поддержке COM и ActiveX. В этой версии также впервые был сделан акцент на возможности создания приложений для Интернета, а так же появился нетипизированный тип данных - variant.

    Delphi 4. Еще одна ключевая веха развития. В этой версии было введено много нового и полезного для упрощения разработки приложений, включая новую среду с динамическими подсказками и т.д. Была усовершенствована модель работы с компонентами (VCL), появилась возможность быстрого использования таких технологий, как MIDAS, DCOM и CORBA. В этой версии так же был усовершенствован язык Object Pascal: появились новые черты, свойственные современному ООП, были введены новые типы данных, включая 64-битные.

    Delphi 5. Изменений в Delphi 4 было так много, что, к сожалению, не обошлось без досадных накладок и ошибок. Результатом был выпуск 3-х пакетов обновлений (наши пираты продавали их под вывесками Delphi 4.1, 4.2 и 4.3). Но самым полным и правильным пакетом обновлений следует считать Delphi 5 - в этой версии было доведено до ума все то, что было начато в Delphi 4.

    Delphi 6. С выходом шестой версии Borland провозгласила новую, кросс-платформенную эпоху в Delphi, параллельно выпустив версию Delphi для ОС Linux (Kylix 1.0). Теперь при создании приложения можно было выбирать его тип - для Windows, или же универсальное. Соответственно, к библиотеке VCL добавилась библиотека CLX, совместимая как с Windows, так и с Linux. Кроме того, в 6-й версии наконец-то появились "родные", а не чужеродные ActiveX, компоненты для работы с Интернетом, причем сразу в обоих вариантах - и для VCL и для CLX. Начиная с этой версии, сам язык программирования Object Pascal официально называется Delphi.

    Delphi 7. Дальнейшее развитие Delphi 6, улучшенная библиотека CLX и новая корреспондирующая версия среды разработки под ОС Linux - Kylix 3. Вместе с тем, начиная с Delphi 7, Borland озаботилась вопросом совместимости с еще одной платформой - Microsoft .NET, для чего некоторые изменения были внесены как в VCL, так и в язык (и, соответственно, в компилятор).

    Delphi 8. Первая версия Delphi, ориентированная на работу с платформой Microsoft.NET. В этой версии разработчики рискнули изменить интерфейс среды, сделав его похожим на продукцию Microsoft - нового крупного акционера Borland. Поддержка, соответственно, была Kylix прекращена.

    Delphi 2005. Менее чем через год после выхода Delphi 8, появилась новая версия, в которой спешно вернули возможность работать в классическом стиле IDE при разработке приложений для Windows. Вместе с тем, Delphi 2005, в случае разработки приложений специально для платформы NET, позволяет работать не только с языком Delphi, но и с C#. При этом в сам язык Delphi были введены такие новшества, как оператор for…in и встраиваемые процедуры и функции.

    Delphi 2006. Последняя версия Дельфи, выпущенная фирмой Borland. Так же была выпущена облегченная версия - Turbo Delphi. Дальше началось странствие по другим разработчикам.

    Delphi 2007. Версия, выпущенная CodeGear. Добавлена поддержка интерфейса Aero для Windows Vista.

    Delphi 2009. Версия, выпущенная Embarcodero. Реализована поддержка Unicode в VCL и RTL, заменены обращения ко всем функциям Windows API на аналоги в Unicode, добавлены обобщенные типы и анонимные методы.

    Delphi 2010. Поддержка Windows 7, компоненты для работы с касаниями и жестами, компоненты dbExpress теперь официально поддерживает Firebird.

    Delphi XE (Delphi 2011). Добавлена поддержка для облачных вычислений.

    « Предисловие к электронной редакции | Среда Delphi и простейшее приложение »

    www.snkey.net