Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

DiVM / OOP / 12_116608_1_51491

.pdf
Скачиваний:
18
Добавлен:
11.05.2015
Размер:
6.45 Mб
Скачать

Несмотря на трудности и уроки Java-технологии, программисты не желали отказываться от идеи создания полностью переносимых программ. Вместе с тем их совершенно не устраивала необходимость платить производительностью и удобством программ за переносимость. Работы по разрешению этого противоречия привели к появлению на свет технологии под названием .NET (произносится «дот-нет»).

Технология .NET по сути явилась новой платформой, надстроенной над другими операционными системами, и этим походила на технологию Java. Однако у технологии .NET имелся ряд существенных концептуальных отличий. В частности, платформа .NET хотя и имела свой собственный новый язык программирования C# (произносится «си-шарп»), но не была привязана только к нему, позволяя писать программы на других языках. Кроме того, программы для платформы .NET компилировались не в байт-код, а в универсальный промежуточный язык, который сохранял семантику программы и был близок к ее исходному тексту (байт-код, напротив, близок к командам процессора). Программы на промежуточном языке вообще не интерпретировались, а всегда компилировались в команды процессора при запуске программы или при ее первоначальной установке на компьютер пользователя. Выполняемый код получался очень эффективным и оказывался сравнимым по быстродействию с выполняемым кодом, полученным прямой компиляцией с языка высокого уровня в команды процессора. Немаловажно и то, что на платформе .NET стало возможным использование любых (а не только стандартных) библиотек подпрограмм и компонентов, а также всех функций операционной системы. Все это обеспечило создание быстрых и удобных программ.

Поначалу технология .NET была доступна только для семейства операционных систем Windows, но со временем этот недостаток был устранен, и на свет появилась платформа Mono — клон технологии .NET для операционных систем Linux и Unix.

... и опять среда Delphi

Платформы .NET и Mono имеют большое будущее, поэтому фирма Borland адаптировала для них язык и среду программирования Delphi. В итоге, разработчики получили уникальную возможность — применять один и тот же язык Delphi для создания профессиональных программ для любых операционных систем и платформ: Windows, Linux, .NET, Mono. Этим, кстати, язык Delphi выгодно отличается от модного ныне языка C#, который применяется лишь для программирования на платформах .NET и Mono.

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

Что вы найдете в этой книге

Уважаемый читатель, мы смеем утверждать, что в этой книге есть именно то, что нужно человеку, чтобы научиться писать программы на языке Delphi и стать профессионалом в этой области. Почерпнутые из книги знания понадобятся вам независимо от того, для какой платформы (Windows, Linux, .NET или Mono) вы будете программировать.

Вэтой книге вы найдете:

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

11

не имеющее аналогов по полноте и простоте описание языка Delphi и объектноориентированного программирования. Это фундамент среды Delphi, без знания которого заниматься программированием не имеет смысла;

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

При написании этой книги авторы использовали материалы своих предыдущих книг по системам программирования Delphi и C++Builder. По сравнению с предыдущими книгами существенной переработке подверглась терминология. Описание языка Delphi расширено и теперь охватывает такие аспекты, как динамические массивы и их физическое представление в памяти, перегрузку процедур и функций, новые форматы кодирования символов строк и многое другое. Новый набор стандартных подпрограмм рассмотрен самым подробным образом. Объектно-ориентированное программирование объясняется на более понятном сквозном примере. Отдельная глава посвящена расширению возможностей объектноориентированного программирования с использованием технологии интерфейсов. Глава, посвященная созданию динамически подключаемых библиотек, охватывает дополнительно вопросы создания динамически подключаемых пакетов компонентов. Если вы посмотрите оглавление, то получите более полное представление об обширной тематике этой книги.

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

Возможные трудности освоения

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

Глава 1. Основы визуального программирования

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

1.1. Краеугольные камни визуального программирования

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

Начиная работу со средой Delphi, вы должны:

1. Уяснить задачу, которую собираетесь решать на компьютере;

12

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

3.Написать сценарий работы будущей программы. Местом развертывания действия является экран, а зритель не просто смотрит, но и участвует в “спектакле”. В сценарии должно быть учтено все: что выводится на экран вначале, что делается потом, как программа завершается, т.д. Декорациями “спектакля” служат сделанные в пункте 2 рисунки.

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

Оптимальный вес (кг) = Рост (см) – 100 – 10 (не слишком жестоко?)

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

Теперь выполним пункт 2 — нарисуем то, что мы хотим видеть на экране в процессе решения задачи (рисунок 1.1): два редактируемых поля — для ввода роста (Specify your height) и вывода веса (Your ideal weight); две кнопки — для запуска вычислений (Compute) и выхода из программы (Close); текстовые надписи.

Рисунок 1.1. Форма и компоненты

Пора дать название тому, что мы тут нарисовали. Рисунок в целом называется формой, а поля ввода, вывода, кнопки и все прочее, что располагается на форме — компонентами. Нетрудно заметить, что компоненты на нашем рисунке — разные: редактируемые поля, кнопки, надписи. Они могут иметь разные размеры, их текст может отличаться высотой, шрифтом, цветом. Короче говоря, каждый компонент характеризуется рядом признаков, которые называются свойствами.

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

Вооруженные теорией и рисунками, выполним пункт 3 — напишем сценарий работы нашей будущей программы. Сразу после старта программы на экране появляется форма. Пользователь начинает вычисления: активизирует редактируемое поле с надписью Specify your height и вводит значение роста, затем нажимает кнопку Compute. Программа реагирует на это событие: вычисляет идеальный вес и выводит результат в поле с надписью Your ideal weight. Когда пользователь определит идеальный вес всех своих знакомых (и сообщит им об

13

этом по телефону), он нажмет кнопку Close. В ответ на это событие программа уберет с экрана свою форму и закончит работу.

Кстати, так ярко описанный нами процесс событие-отклик-событие-отклик называется событийным управлением, он лежит в основе работы всех современных графических программ. Простейшая аналогия для тех, кто не понял: любимый компьютер упал на любимый мозоль — событие, ваш тихий вопль в ночи — отклик.

Теперь решим крайне важный вопрос: что в этом сценарии будет делать среда Delphi, а что вы. Дело, в общем, обстоит так:

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

Программист дописывает на языке Delphi детали программы — процедуры обработки событий. Он делает это во встроенном в среду редакторе кода. Главное событие нашей программы — нажатие кнопки Compute. Обработка этого события — кодирование формулы Weight = Height – 100 – 10;

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

Такое распределение работы программистам нравится, всегда бы так! Кстати, оно отражено уже в структуре самой программы, которая состоит из нескольких частей. Важнейшие из них: файл исходного кода на языке Delphi (подготовленная средой основа + ваши детали) и файл формы (его тоже создает среда). Эти файлы и ряд других файлов, которые также нужны для решения задачи, составляют проект. Для каждой отдельной задачи создается свой проект. Сейчас важно просто о нем знать, все подробности вы узнаете в главе 7.

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

1.2. Подготовка к работе

Система программирования Delphi продается в нескольких редакциях:

Delphi Personal — минимальный набор для любителей, изучающих программирование;

Delphi Professional — набор для профессиональных разработчиков-индивидуалов;

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

Delphi Architect — самый «упакованный» вариант, добавляющий к набору Delphi Enterprise средства коллективной разработки и средства моделирования данных.

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

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

14

диски со всем необходимым программным обеспечением и многотомное руководство пользователя. Отложим книги в сторону и приступим к приятному ритуалу: переносу системы Delphi с компакт-диска на жесткий диск вашего компьютера.

Вставьте первый компакт-диск в устройство CD-ROM — заставка установочной программы запустится автоматически. Если этого не произошло, запустите Windows Explorer, откройте компакт-диск и запустите программу Install. Следуйте указаниям, которые установочная программа будет время от времени выводить для вас на экран. (Новичкам советуем внимательно прочитать файл Readme.txt, который содержит подробные инструкции по установке и находится на компакт-диске в корневом каталоге.) Установочная программа сама пообщается с операционной системой, организует в стартовом меню Start | Programs папку Borland Delphi 7 и поместит в нее ярлыки соответствующих программ (рисунок 1.2):

Рисунок 1.2. Папка Borland Delphi 7 в стартовом меню

Давайте беглым взглядом посмотрим, что же мы установили:

Delphi 7 — интегрированная среда разработки приложений;

15

Image Editor — средство создания и редактирования точечных рисунков, значков, указателей мыши;

BDE Administrator — программа-администратор ядра баз данных Borland Database Engine;

Database Desktop — средство создания и редактирования таблиц в базах данных;

SQL Explorer — интегрированное в среду Delphi средство для просмотра и редактирования таблиц в базах данных;

SQL Monitor — отладочное средство, которое позволяет программисту отслеживать SQL-запросы к базам данных;

WinSight32 — отладочное средство, которое позволяет программисту отслеживать сообщения Windows;

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

Register Now — программа, с помощью которой вы можете зарегистрировать свою копию системы Delphi у фирмы-разработчика.

Справочники по различным вопросам; их список впечатляет (рисунок 1.3).

Рисунок 1.3. Справочники среды Delphi

Вот теперь мы готовы начать работу.

1.3. Первый запуск среды Delphi

Запустите среду разработки, выбрав соответствующий ярлык из главного меню операционной системы. Мир Delphi — перед вами (рисунок 1.4):

16

Рисунок 1.4. Вид среды Delphi при первом запуске

Что же вы видите? Окна, кнопки, списки... В общем — хаос. Давайте попробуем навести порядок, и посмотрим на среду Delphi издалека. Ба! Да это же навсегда запечатленные в памяти читателя краеугольные камни: форма, компоненты и свойства (рисунок 1.5).

17

Рисунок 1.5. Главные части среды Delphi

Ура! Неизвестное оказалось хорошо известным! Хаос исчез, и сообразительный читатель уже все понял: из области “палитра компонентов” надо c помощью мыши выбрать компонент (кнопку, надпись, редактор текста и т.д.), поместить на "форму" и задать значения его свойств в области “свойства“. Среда Delphi проанализирует содержимое формы, создаст соответствующий программный код, а программисту останется только внести в него детали решения задачи — отклики на события. В общем, назначение интегрированной среды понятно, теперь можно спуститься с небес и заняться деталями.

1.4. Исследуем среду разработки программ

Снова посмотрим на интегрированную среду разработки (рисунок 1.6) и дадим название каждой ее части:

18

Рисунок 1.6. Среда Delphi в деталях

Обсудим кратко каждую из составных частей. Важнейшая часть — форма (рисунок 1.7). Она имеет заголовок Form1 и пока пуста (это аналог чистого листа, на котором вы собираетесь что-то рисовать):

19

Рисунок 1.7. Форма

Обратите внимание, что форма имеет все признаки “главного окна” традиционных графических приложений: значок, заголовок, кнопки "Свернуть", "Развернуть", "Закрыть", размерную рамку и, конечно, управляется мышью. Умудренный опытом читательпрограммист подумает: сколько надо попотеть, чтобы сделать все это самому, а здесь основа интерфейса практически готова...

Под формой спрятан редактор кода (рисунок 1.8):

Рисунок 1.8. Редактор кода

Именно там размещается программный код на языке Delphi, соответствующий содержанию формы. Активизация редактора кода осуществляется щелчком мыши на части окна, которая выглядывает из-под формы, либо с помощью клавиши F12 на клавиатуре. В редакторе кода вы выполняете свою часть работы — дописываете детали решения задачи. Для возврата к форме достаточно нажать на клавиатуре клавишу F12 еще раз.

С формой все ясно, займемся компонентами, которые будем на ней размещать. Они находятся в области главного окна интегрированной среды, которая называется палитрой компонентов (рисунок 1.9).

20