1 интегрированная среда разработки delphi 7. Интегрированная среда разработки Delphi. Проекты в Delphi


Отчёт к практической работе содержит 23 страницы, 2 рисунка, 7 таблиц, 9 приложений и 3 источника.

Объект исследования - Среда разработки и язык программирования Delphi, его графические средства.

Целью данной работы является изучение языка программирования Delphi, использование синтаксических и графических средств Delphi, сравнение сред разработки и синтаксиса языков программирования C++ и Delphi. Для сравнения используются среды программирования Microsoft Visual C++ и Delphi 7. Сравнение осуществляется посредством реализации решения девяти определенных задач на Delphi.

DELPHI 7, ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, MICROSOFT VISUAL C++, СРЕДА РАЗРАБОТКИ, СРАВНЕНИЕ С++ И DELPHI

Введение

1. Сравнение языков с/с++ и pascal/Delphi

1.1 Простые типы данных

1.2 Структурные типы данных

1.2.1 Строковые переменные

1.2.2 Массивы

1.2.3 Множества

1.2.4 Файлы

1.2.5 Классы

1.3 Указатели

2. Сравнение сред разработки

2.1 Borland Delphi 7

2.2 Microsoft Visual C++

Заключение

Перечень ссылок

Приложение А

Приложение Б

Приложение В

Приложение Г

Приложение Д

Приложение Е

Приложение Ж

Приложение З

Приложение И

ВВЕДЕНИЕ

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

Для изучения данного стиля программирования был выбран язык Delphi 7, с помощью которого изучена методика объектно-ориентированного проектирования программ по формализации и решению задачи, технологическими приемами разработки объектно-ориентированных программ.

Причина выбора данного языка программирования также заключается в его графических средствах.

Delphi -- это средства разработки в программировании, которые имеют место быть в рамках приложений Microsoft Windows. Delphi представляет собой актуальную и легкую в использовании программу, которая необходима для генерации автономных программ графического интерфейса или 32-битовых консольных приложений -- программ, которые существуют вне рамок GUI, вместо этого, в соответствии с так называемым «DOS box».
Delphi является первым языком программирования, который обеспечивает уничтожение барьера между приложениями комплексного и упрощенного характера в использовании и низкоуровневыми битовыми программными средствами.

1. СРАВНЕНИЕ ЯЗЫКОВ С/С++ И PASCAL/DELPHI

1.1 Простые типы данных

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

Типы данных можно разделить на следующие группы:

Структурные;

Указатели;

Процедурные(только в Delphi);

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

Целочисленные;

Литерные (Символьные);

Логические (Булевы);

Вещественные.

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

Таблица 1.1 - Сравнение простых типов данных в С++ и Delphi

Для каждого типа данных существуют отдельные функции, упрощающие работу с ними. В таблице 1.2 приведены некоторые функции для переменных с простыми типами данных в синтаксисе С++ и Delphi.

Таблица 1.2 - Функции для простых типов данных в С++ и Delphi

Различия можно заметить не только в самих типах данных, но и в работе с переменными. Для создания переменной в C++ нужно написать тип имя переменной. В Delphi же, создание переменной выглядит так: имя переменной, двоеточие, имя типа. Более того, в С++ переменную можно объявить в любом месте программы, а в Delphi Только в разделе var. Для присваивания в C++ используется знак =, в Delphi - :=. Операция присваивания в обоих языках программирования берёт то, что находится справа от знака и помещает это в переменную, находящуюся слева от знака присваивания.

Рассмотрим же основные операции для работы с переменными простых типов данных. В таблице 1.3 приведено сравнение их в языках C++ и Delphi.

Таблица 1.3 - Основные операции

Операция

Сложение

Вычитание

Умножение

Деление(целочисленное, простое)

/ (зависит от типа данных)

Остаток от деления

Присваивание

Проверка равенства

Составное сложение

Отсутствует

Составное вычитание

Отсутствует

Составное умножение

Отсутствует

Составное деление

Отсутствует

Составное определение остатка от деления

Отсутствует

Инкремент

Декремент

Логическое НЕ

Больше либо равно

Меньше либо равно

Логическое ИЛИ

Логическое И

Логическое исключающее ИЛИ

Указатель

Указатель структуры

Определение размера в байтах

Поразрядное НЕ

Поразрядное И

Поразрядное ИЛИ

Поразрядное исключающее ИЛИ

Поразрядный сдвиг влево

Поразрядный сдвиг вправо

При сравнении операторов можно заметить явный недостаток Delphi, который проявляется в отсутствии составных операций (>=, <=, +=, -=, *=, /=, %=).

1.2 Структурные типы данных

Теперь перейдем к сравнению структурных типов данных. Структурные типы имеют в своей основе один или более других типов, в том числе и структурных. К структурным типам относятся:

Множества;

1.2.1 Строковые переменные

В Delphi строки обеспечивает тип string, который представляет строку с максимальной длиной около 2х символов. Символы строки кодируются в коде ANSI. Так как строки фактически являются массивами символов, то для обращения к отдельному символу строки можно указать название строковой переменной и номер (позицию) этого символа в квадратных скобках, например, strName [i].

В С++ существует 2 типа строк: массив переменных типа char и специальный класс string. В отличии от типа char, string является классом. Это объясняет необходимость подключения заголовочного файла и наличие множества функций для работы с переменной типа String. Доступ к элементу строки так же можно получить через его номер в строке, указанном в квадратных скобках. Например, strName [i].

1.2.2 Массивы

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

1.2.3 Множества

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

<Переменная>: Set Of <Тип>;

set<Тип> <Переменная>;

В C++ Set (множество) - это ассоциативный контейнер STL, хранящий отсортированный набор уникальных объектов. Контейнер set содержит множество элементов. Строго говоря, set обеспечивает следующую функциональность:

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

2. Удалить элемент из множества;

3. Узнать количество (различных) элементов в контейнере;

4. Проверить, присутствует ли в контейнере некоторый элемент.

1.2.4 Файлы

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

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

Операция открытия файла возвращает некий идентификатор (как правило, целое число), которое идентифицирует в программе в дальнейшем нужный открытый файл. Этот идентификатор запоминается в переменной; обычно такая переменная называется файловой переменной.

Ведется работа с файлом. Из него данные либо считываются, либо в него записываются.

Файл закрывается. После этой операции он снова доступен другим программам для обработки.

В таблице 1.4 показано сравнение работы с файлами в C++ и в Delphi.

Таблица 1.4 - сравнение работы с файлами в C++ и в Delphi

Действие

Объявление файла

FILE *идентификатор;

var идентификатор: File ;

Открытие файла для записи

fopen(имя физического файла, “w”)

fopen(f, “w”);

AssignFile(имя логического файла, название файла);
ReWrite(имя логического файла);

AssignFile(myFile, "Test.txt");
ReWrite(myFile);

Запись в файл

fwrite(адрес записываемой величины, размер одного экземпляра, количество записываемых величин, имя логического файла);

fwrite(&dat, sizeof(int), 1, f);

WriteLn(имя логического файла, текст);

WriteLn(myFile, "Hello World");

Закрытие файла

fclose(имя логического файла);

CloseFile(имя логического файла);

CloseFile(myFile);

Открытие файла для чтения

fopen(имя физического файла, “r”)

Чтение из файла

fread(адрес величины, размер одного экземпляра, количество считываемых величин, имя логического файла);

fread(&dat, sizeof(int), 1, f);

ReadLn(имя логического файла, переменная для считывания);

ReadLn(myFile, text);

Проверка на конец файла

Открытие текстового файла, для добавления записей в файл (добавляет в конец файла)

fopen(имя физического файла, “a”)

Append(имя логического файла);

1.2.5 Классы

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

Определение класса в C++ состоит из двух частей: заголовка, включающего ключевое слово class, за которым следует имя класса, и тела, заключенного в фигурные скобки. После такого определения должны стоять точка с запятой:

class ClassA { /* ... */ };

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

1. написать ключевое слово class, а после него - имя класса;

2. указать только имя класса.

Оба способа сослаться на тип класса эквивалентны. Первый заимствован из языка C и остается корректным методом задания типа класса, а второй введен в C++ для упрощения объявлений.

Функции-члены класса объявляются в его теле. Это объявление выглядит точно так же, как объявление функции в области видимости пространства имен.

Функции-члены отличаются от обычных функций следующим:

1. Функция-член объявлена в области видимости своего класса, следовательно, ее имя не видно за пределами этой области. К функции-члену можно обратиться с помощью одного из операторов доступа к членам - точки (.) или стрелки (->):

ptrScreen->home();

myScreen.home();

2. Функции-члены имеют право доступа как к открытым, так и к закрытым членам класса, тогда как обычным функциям доступны лишь открытые. Конечно, функции-члены одного класса, как правило, не имеют доступа к данным-членам другого класса.

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

<Имя класса> = class {Заголовок описания}

<Имя свойства 1>: <Тип свойства 1>; {Описание свойства 1}

<Имя свойства М>: <Тип свойства N>; {Описание свойства N}

<Заголовок метода 1>; {Описание метода 1}

<Заголовок метода М>; {Описание метода М}

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

Procedure <Имя класса>.<Имя метода>(<Список параметров>);

или для методов-функций:

Function <Имя класса>.<Имя метода>(<Список параметров>):

<Тип значения>;

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

В таблице 1.5 показано сравнение парадигм объектно-ориентированного программирования на языках программирования C++ и Delphi на примерах.

Таблица 1.5 - Сравнение парадигм ООП в C++ и Delphi

Наименование парадигмы

Инкапсуляция

int a, b; //данные открытого интерфейса

int ReturnSomething(); //метод открытого интерфейса

int Aa, Ab; //скрытые данные

void DoSomething(); //скрытый метод

TMyClass = class

FMyField: Integer;

procedure SetMyField(const Value: Integer);

function GetMyField: Integer;

property MyField: Integer read GetMyField write SetMyField;

Наследование

class A{ //базовый класс

class B: public A{ //public наследование

class C: protected A{ //protected наследование

class Z: private A{ //private наследование

TAncestor = class

// Виртуальная процедура

procedure VirtualProcedure; virtual; abstract;

procedure StaticProcedure;

Наследник:

TDescendant = class(TAncestor)

// Перекрытие виртуальной процедуры

procedure VirtualProcedure; override;

procedure StaticProcedure;

Полиморфизм

//Перегруженная функция

virtual void f()

std::cout << "A::f";

class B: public A

//Перегруженная функция

std::cout << "B::f";

// базовый класс

constructor Create(name:string);

function f: string; virtual;

// производный от базового

constructor Create(name:string;gr:integer);

// Перегруженная функция

function f: string; override;

// производный от базового

constructor Create(name:string;dep:string);

// Перегруженная функция

function f: string; override;

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

В таблице 1.6 приведены атрибуты видимости в Delphi и в C++.

Таблица 1.6 - Атрибуты видимости

Атрибут видимости

Private- доступ открыт самому классу (т.е. функциям-членам данного класса)

Protected - доступ открыт классам, производным от данного

Public- доступ открыт всем, кто видит определение данного класса

Published - Поля, свойства и методы, описанные в данном разделе, называются опубликованными. Их область видимости эквивалентна области видимости общедоступных описаний. Отличие состоит в том, что информация о них, за исключением ряда типов, например real, на этапе проектирования программы помещается в инспектор объектов. Описания, расположенные сразу после заголовка класса, при включенной директиве компилятора {$M+}, по умолчанию принимаются опубликованными.

1.3 Указатели

Указатель (пойнтер, англ. pointer) -- переменная, диапазон значений которой состоит из адресов ячеек памяти и специального значения -- нулевого адреса. Значение нулевого адреса не является реальным адресом и используется только для обозначения того, что указатель в данный момент не может использоваться для обращения ни к какой ячейке памяти.

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

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

И C++ и Delphi содержат, две основные операции над указателями: присваивание и разыменование. Первая из этих операций присваивает указателю некоторый адрес. Вторая служит для обращения к значению в памяти, на которое указывает указатель.

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

спецификатор-типа [ модификатор ] * описатель.

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

В качестве модификаторов при объявлении указателя могут выступать ключевые слова const, near, far, huge. Ключевое слово const указывает, что указатель не может быть изменен в программе. Размер переменной объявленной как указатель, зависит от архитектуры компьютера и от используемой модели памяти, для которой будет компилироваться программа. Указатели на различные типы данных не обязательно должны иметь одинаковую длину.

Для модификации размера указателя можно использовать ключевые слова near, far, huge.

Ниже, приведены некоторые примеры объявления указателей на C++.

unsigned int * a;

addres = & nomer;

(double *)addres ++;

Переменная addres объявлена как указатель на объект любого типа. Поэтому ей можно присвоить адрес любого объекта (& - операция вычисления адреса). Однако, ни одна арифметическая операция не может быть выполнена над указателем, пока не будет явно определен тип данных, на которые он указывает. Это можно сделать, используя операцию приведения типа (double *) для преобразования addres к указателю на тип double, а затем увеличение адреса.

В Delphi существует 2 вида указателей: типизированные и нетипизированные. Нетипизированный указатель представляет собой переменную, в которой хранится адрес некоторой области памяти некоторого размера, и предназначен для хранения произвольных данных. Типизированные ссылки указывают на место в памяти, где хранятся данные определенного типа.

Переменные - нетипизированные указатели описываются с указанием типа Pointer, а выделение и освобождение памяти под них осуществляется, соответсвенно, командами GetMem и FreeMem . Использование нетипизированных указателей ограничено стандартными функциями, принимающими такие переменные в качестве параметров, а также низкоуровневым программированием.

Для описания типизированной ссылки не предусмотрен какой-либо специальный тип данных, в отличие от нетипизированных указателей, имеющих тип Pointer. Поскольку ссылочная переменная такого рода всегда указывает на данные конкретного типа, то ее описание и строится на основе этого типа. Для указания на ссылочную природу переменных используется оператор «^», и описание выглядит следующим образом:

Var <Переменная>:^<Название типа>;

Или в разделе описания типов данных:

Туре <Новый тип данных> =^<Тип данных>;

После описания переменной-указателя под нее выделяется память только для хранения адреса, а под сами данные, на которые переменная указывает, память не выделяется. Для инициализации переменной используется процедура New, отличием которой от аналогичной процедуры GetMem, используемой для работы с нетипизированными указателями, является отсутствие второго параметра, определяющего размер выделяемой памяти. Это связано с тем, что типизированная ссылка указывает на данные известного типа, соответственно, размер этих данных также известен компилятору.

В таблице 1.7 приведены некоторые отличия синтаксисов C++ и Delphi в области указателей.

Таблица 1.6 - Отличие указателей в C++ и Delphi

Как мы видим, есть некоторые отличия в работе с указателями и адресами в C++ и в Delphi, однако общая структура работы с ними свойственна обоим языкам.

2. СРАВНЕНИЕ СРЕД РАЗРАБОТКИ

2.1 Borland Delphi 7

После загрузки среды программирования Delphi 7, на экране появится главное окно.

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

Object TreeView - служит для отображения всех объектов расположенных на текущей форме разрабатываемого проекта.

Object Inspector - служит для отображения и редактирование свойств компонентов расположенных на форме разрабатываемого приложения.

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

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

File - содержит набор команд для работы с файлами, позволяет создавать новые проекты, добавлять новые файлы в проект на основе различных шаблонов, переименовывать файлы проекта, а также распечатывать их. Сюда же включена команда закрытия среды разработки;

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

View - под этим названием объединены команды вызова инструмента управления проектом, такие как инспектор объектов, конструктор форм, менеджер проектов и т.д.;

Project - предназначен для того чтобы добавлять и удалять модули проекта, сохранять проект, добавлять проекты в группу и убирать их из неё, компилировать как отдельные проекты, так и все проекты в группе, загружать файл самого проекта в редактор кода, а также вызывать диалог настройки свойств проекта;

Run - позволяет запускать проект на выполнение как под отладчиком, так и без него, конфигурировать строку параметров проекта при запуске, производить отладку, задать точки останова, осуществлять пошаговое выполнение кода, просматривать значения переменных и изменять их;

Component - здесь сосредоточены команды, предназначенные для установки новых компонентов и пакетов компонентов и создания новых компонентов и шаблонов компонентов;

Database - здесь сосредоточены команды управления базами дынных;

Tools - позволяет настраивать свойства рабочей среды Delphi и отладчика, произвести настройки репозитория, добавлять и удалять дополнительные утилиты, а так же команды запуска этих самых утилит;

Window - позволяет переключаться между окнами, если вы отроете какой - либо модуль для редактирования в новом окне;

Help - объединяет команды вызова справочной системы Delphi и её настройки, а так же позволяет обратиться к Web-ресурсам компании Borland для получения дополнительной информации.

Можно вручную настроить панель инструментов. Это было сделано для удобства работы. Для этого нужно вызвать диалоговое окно по ссылке View-Toolbars-Customize.

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

После ввода текста функции обработки события и сохранения проекта можно из меню Project выбрать команду Compile и выполнить компиляцию. Процесс и результат компиляции отражаются в диалоговом окне Compiling (РИС. В38). В это окно компилятор выводит ошибки (Errors), предупреждений (warnings) и подсказок (Hints). Сами сообщения об ошибках, предупреждения и подсказки отображаются в нижней части окна редактора кода

На рисунке 2.1 изображено главное окно среды разработки Delphi 7.

Рисунок 2.1 - Главное окно Delpi 7

2.2 Microsoft Visual C++

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

Рисунок 1. Начальная страница MV C++

Расположение окон инструментов и других элементов интегрированной среды разработки может изменяться в зависимости от примененных параметров и настроек, выполняемых пользователем в процессе работы. Параметры можно изменить с помощью средства Import and Export Settings Wizard. Выбрав параметр Сбросить все параметры, можно изменить язык программирования по умолчанию.

Можно легко перемещать и закреплять окна с помощью визуального направляющего ромба или временно скрывать окна с помощью функции автоскрытия. Дополнительные сведения см. в разделе Практическое руководство. Размещение и закрепление окон.

Интегрированную среду разработки можно автоматизировать и расширить с помощью модели автоматизации Visual Studio.

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

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

В среде Visual Studio предусмотрен мощный набор средств построения и отладки. Благодаря конфигурациям построения можно выбирать компоненты для построения, исключать компоненты, которые не требуется включать в построение, а также определять, как будут построены выбранные проекты и для какой платформы. Конфигурации построений доступны как для решений, так и для проектов.

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

ЗАКЛЮЧЕНИЕ

программирование delphi класс массив

При выполнении данной практической работы были изучены и освоены средства языка программирования Delphi. Так же результатом данной работы является сравнение языков C++ и Delphi. Были освоены графические средства языка. В ходе работы использовались методы объектно-ориентированного программирования и проектирования, метод перебора, метод накопления.

Была организована работа с текстовыми и бинарными файлами прямого доступа, работа с динамическими структурами данных, работа с символьными и такстовыми данными, рекурсия, наследование, инкапсуляция, полиморфизм, работа с компонентами Delphi, такими как StringGrid, Memo, Edit, RichEdit, Label, Button, GroupBox, Timer и т.п.

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

ПЕРЕЧЕНЬ ССЫЛОК

Сухарев М. Основы Delphi профессиональный подход.- НиТ - Санкт Петербург, 2004г.-596.

Стиввенс Р. Delphi Готовые алгоритмы. - ДМК - Москва, 2004г - 380.

Банкел Д., Фундаментальные алгоритмы и структуры данных в Delphi.-DS - Москва, 2003г. - 555с.

Подобные документы

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

    курсовая работа , добавлен 17.05.2010

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

    курсовая работа , добавлен 25.11.2014

    Проектирование программного модуля в среде программирования Borland Delphi 7.0. Схемы алгоритмов решения задач по темам "Символьные переменные и строки", "Массивы", "Работа с файлами", "Создание анимации". Реализация программного модуля, код программы.

    отчет по практике , добавлен 21.04.2012

    Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.

    дипломная работа , добавлен 21.05.2012

    Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

    дипломная работа , добавлен 13.07.2011

    Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.

    курсовая работа , добавлен 15.07.2009

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

    методичка , добавлен 17.11.2011

    Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа , добавлен 04.08.2014

    Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

    контрольная работа , добавлен 18.10.2012

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

Энциклопедичный YouTube

  • 1 / 5

    Среда предназначена для быстрой (RAD) разработки прикладного ПО для операционных систем Windows, Mac OS X, а также iOS и Android. Благодаря уникальной совокупности простоты языка и генерации машинного кода, позволяет непосредственно, и, при желании, достаточно низкоуровнево взаимодействовать с операционной системой, а также с библиотеками, написанными на C/C++. Созданные программы независимы от стороннего ПО, как то Microsoft .NET Framework или Java Virtual Machine. Выделение и освобождение памяти контролируется в основном пользовательским кодом, что, с одной стороны, ужесточает требования к качеству кода, а с другой - делает возможным создание сложных приложений с высокими требованиями к отзывчивости (работа в реальном времени). В кросс-компиляторах для мобильных платформ предусмотрен автоматический подсчёт ссылок на объекты, облегчающий задачу управления их временем жизни.

    Произношение

    По поводу «правильного» произношения названия среды разработки было сломано немало копий не только в России . Интересно, что нет единства даже среди англоязычных стран. В частности, согласно данному источнику, в Великобритании доминирует произношение «дел-фи́» , а в США - «дел-фа́й» .

    CodeGear

    История версий Delphi

    Borland Delphi

    Первая версия Borland Delphi (позже известная как Delphi 1) была выпущена в 1995 году и была предназначена для разработки 16-разрядных приложений для Windows 3.1. Это была одна из первых систем RAD .

    Delphi 2

    Delphi 2 появилась в 1996 году и позволяла разрабатывать 32-битные приложения. Для программирования под Windows 3.1 в комплект поставки включалась Delphi 1.

    Delphi 3

    Delphi 3 выпущена в 1997 году. В этой версии появилась технология Code Insight, пакеты компонентов, поддержка ActiveForms, MIDAS и интерфейсов COM.

    Inprise Delphi 4

    Inprise Delphi 4 была выпущена в 1998 году. IDE была полностью переработана с применением интерфейсов Drag-and-Dock. В VCL добавлена поддержка ActionLists. Была введена перегрузка процедур и функций, динамические массивы, поддержка Windows 98, CORBA и Microsoft BackOffice. Это была последняя версия поставляемая с Delphi 1 для 16-битных программ.

    Borland Delphi 5

    Borland Delphi 5 появилась в 1999 году. Добавлены фрэймворки, параллельное программирование, расширенный интегрированный отладчик, поддержка XML, поддержка баз данных ADO.

    Kylix

    В 2001 году Borland реализовал версию Delphi под Linux , названную Kylix. Вместо библиотеки VCL использовалась кроссплатформенная CLX (оболочка для ). IDE Kylix базировался на библиотеках Wine. Так как kylix раньше был по другому назван GRODT потом Н.Никос изменил название на kyluix. [ ]

    Borland Delphi 6

    Поддерживала кросс-платформенную библиотеку CLX.

    Borland Delphi 7

    Delphi 7, выпущенная в августе 2002 года, стала стандартом для многих разработчиков Delphi.

    Это один из самых успешных продуктов Borland из-за стабильности, скорости и низких требований к аппаратному обеспечению. В Delphi 7 добавлены новые компоненты для Windows XP и увеличено число компонентов для создания Web-приложений .

    Borland Delphi 8

    Delphi 8 выпущена в декабре 2003 года. Имела новый закрепленный интерфейс Galileo, подобный Visual Studio.NET Microsoft. Поддерживала разработку приложений только под .NET . Позиционировалась как первая система программирования под.NET, выпущенная не Microsoft, а сторонним разработчиком.

    Borland Delphi 2005

    Также Delphi 9 и Borland Developer Studio 3.0. В этой версии была возвращена возможность разработки приложений под Win32, убранная из предыдущей Delphi 8. Но если библиотека VCL была возвращена, то CLX больше уже не поддерживалась.

    Borland Delphi 2006

    Delphi 2006 (Delphi 10, Borland Developer Studio 4.0) Была выпущена в декабре 2005 года. В одной IDE поддерживалась разработка проектов C#, Delphi.NET, Delphi Win32 и C++.

    CodeGear Delphi 2007

    Delphi 2007 (Delphi 11, в составе IDE CodeGear RAD Studio 5.0) вышла в сентябре 2007 года. Является последней неюникодной версией Delphi.

    Новое в Delphi 2007

    • Стандартные компоненты в новой Delphi, теперь автоматически поддерживают темы Windows. В предыдущих версиях нужно было кидать на форму компонент XPManifest. XPManifest некорректно работал (исчезал цвет на некоторых компонентах) в ОС Windows Vista и выше;
    • Некоторые изменения претерпел VCL . Наряду с обычной, стандартной вкладкой «Dialogs», появилась новая - «Vista Dialogs». Она содержит всего три компонента: TFileOpenDialog, TFileSaveDialog и TTaskDialog;
    • В VCL добавлены Vista-ориентированные классы диалогов (TCustomFileDialog, TCustomFileOpenDialog, TCustomFileSaveDialog, TCustomTaskDialog, TFavoriteLinkItem, TFavoriteLinkItems, TFavoriteLinkItemsEnumerator, TFileTypeItem, TFileTypeItems, TTaskDialogBaseButtonItem, TTaskDialogButtonItem, TTaskDialogButtons, TTaskDialogButtonsEnumerator, TTaskDialogProgressBar, TTaskDialogRadioButtonItem) и переработаны некоторые существовавшие классы под Windows Vista;
    • Справочная система Delphi сделана в формате Microsoft Document Explorer. Многие его пункты переработаны и расширены. Визуально выглядеть он стал лучше;
    • Некоторым изменениям подверглась DBExpress . Появилась поддержка Interbase 2007, MySQL 4.1 и 5. Также появилась поддержка Unicode в драйверах Oracle , Interbase и MySQL .

    Delphi 2009

    Новое в Delphi 2009
    • полная поддержка Unicode . Приложения могут выполняться на любой языковой версии Windows. Применение Unicode гарантирует, что приложения будут одинаково выглядеть и функционировать во всех языковых версиях Windows и поддерживать как Unicode-строки, так и ANSI-строки. Новые усовершенствованные средства локализации помогают переводить приложения на различные языки. Все функции Windows API заменены на их unicode-аналоги (например, ранее MessageBox определялась как MessageBoxA, теперь - MessageBoxW); тип String теперь на самом деле является UnicodeString, а Char - WideChar, PChar теперь объявлен как PWideChar. Старые типы и описания ANSI-вариантов системных функций сохранились, однако теперь потребуется прямое их указание (например, Set of Char в Delphi 2009 будет Set of AnsiChar, а MessageBox - MessageBoxA). Delphi 2009 - первая из версий Delphi для Win32 , требующая серьёзной переработки проектов при переходе на новую версию, что особенно критично для системных программистов, широко использовавших прямую обработку типов данных;
    • новые элементы языков программирования, в том числе Generics и анонимные методы для Delphi, позволяют создавать более гибкий и качественный код и предоставляют новые возможности для рефакторинга ;
    • новая библиотека VCL включает в себя множество усовершенствований и новых компонентов для создания развитого графического интерфейса;
    • веб-библиотека VCL позволяет создавать веб-приложения с развитым интерфейсом с поддержкой AJAX ;
    • уменьшено время передачи приложением сообщений операционной системе;
    • визуальное проектирование и разработка баз данных благодаря входящему в состав редакции Delphi Architect профессионального средства моделирования Embarcadero ER/Studio.

    Delphi 2010

    25 августа 2009 года компания Embarcadero Technologies объявила о продаже интегрированной среды разработки Embarcadero Rad Studio 2010, в которую вошла новая версия Delphi 2010.

    Новое в Delphi 2010

    • Поддержка Windows 7 API, Direct2D и мультисенсорного ввода.
    • Поддержка касаний и жестов для Windows 2000 , , Vista и 7.
    • IDE Insight в Delphi 2010 - мгновенный доступ к любой функции или параметру.
    • Delphi 2010 включает свыше 120 усовершенствований для повышения производительности.
    • Визуализаторы отладчика.
    • В Delphi 2010 включена поддержка Firebird с помощью dbExpress .
    • Классический интерфейс Delphi 7 и панель инструментов со вкладками как опция.
    • Расширение RTTI - поддержка атрибутов, которые могут быть применены к типам(в том числе классам и интерфейсам), полям, свойствам, методам и к элементам перечислений.
    Редакция Delphi 2010 Professional
    • Локальное подключение к базам данных InterBase , Blackfish SQL и MySQL
    • Развертывание Blackfish SQL в системах с одним пользователем и размером базы данных 512 МБ.
    • Веб-библиотека VCL с ограничением числа подключений (не более 5).
    Редакция Delphi 2010 Enterprise
    • Delphi 2010 Enterprise включает все возможности редакции Delphi 2010 Professional и ряд дополнительных возможностей.
    • Подключение к серверам баз данных InterBase , Firebird , Blackfish SQL, MySQL , Microsoft SQL Server , Oracle , DB2 , Informix и Sybase при подключении через dbExpress.
    • Разработка многоуровневых приложений баз данных DataSnap.
    • Развертывание Blackfish SQL в системах с пятью пользователями и размером базы данных 2 ГБ.
    • Веб-библиотека VCL без ограничения числа подключений.
    • Дополнительные возможности UML -моделирования.
    Редакция Delphi 2010 Architect
    • Delphi 2010 Architect включает все возможности редакции Delphi 2010 Enterprise и ряд дополнительных возможностей.
    • Обратное проектирование, анализ и оптимизация баз данных.
    • Создание логических и физических моделей на основе сведений, извлеченных из баз данных и файлов сценариев.
    • Удобные для восприятия и навигации диаграммы.
    • Delphi 2010 Architect дает возможность прямого проектирования путём автоматического создания кода базы данных из моделей.
    • В Delphi 2010 Architect усовершенствовано двунаправленное сравнение и объединение моделей и структур баз данных.

    Delphi XE

    Новые возможности Delphi XE

    • Интеграция Subversion.
    • Новые возможности VCL и RTL.
    • Доработки в редакторе кода.
    • Обновление DataSnap, в частности по части поддержки новых версий СУБД.
    • Обновление средств моделирования, поддержка диаграмм последовательностей.
    • Новые возможности для расширения IDE, обновленный Open Tools API.

    Delphi XE2

    1 сентября 2011 года Embarcadero выпустила RAD Studio XE2, которая включает в себя Delphi XE2, а также C++ Builder XE2, Prism XE2 и RadPHP XE2.

    Новое в Delphi XE2;

    Delphi XE3

    Delphi XE3 поддерживает 32 битную и 64 битную редакции Windows (включая Windows 8) и улучшенную поддержку Apple Mac OS X с фреймворком Firemonkey 2/FM². Поддержка iOS была прекращена (с намерением вернуть её обратно в отдельном продукте - Mobile Studio), но приложения под эту платформу по-прежнему можно разрабатывать в Delphi XE2.

    Delphi XE4

    Нововведения
    • Вернулась поддержка iOS , которая отсутствовала в RAD Studio XE3.
    • Взамен RAD Studio XE3 Mobile, выход которой ожидался в начале 2013 года , RAD Studio XE4 была дополнена функционалом для разработки мобильных приложений.
    • Программирование непосредственно под iPhone и iPad с учётом всех программных и технических особенностей.
    • Генерация кода для эмулятора Apple iOS.
    • Улучшено взаимодействие с такими базами данных, как InterBase , SQLite , MySQL , SQL Server, Oracle , PostgreSQL , DB2 , Advantage DB, Firebird , Access , Informix , DataSnap и тд.

    Delphi XE5

    RAD Studio XE5 появилась в продаже 11 сентября 2013 года . В новой версии добавлена поддержка разработки ПО для устройств с архитектурой ARM , работающих под управлением Android .

    Delphi XE6

    15 апреля 2014 года Embarcadero выпустила RAD Studio XE6. Разработчики назвали его «качественным релизом», так как были исправлены сотни дизайн-ошибок и ошибки производительности.

    Новое в IDE XE6

    • Дизайн устройства Google Glass добавлен в конструкторе форм.
    • Новые иконки в IDE. Иконки были обновлены по всему продукту.
    • Новые возможности в диспетчере развёртывания. Новая опция Перезапись позволяет выбрать файлы, которые не нужно разворачивать, специально, чтобы можно было избежать перезаписи файлов на целевом устройстве. Опция Перезапись установлена в Всегда по умолчанию.
    • Изменения в SDK-менеджере для Android-платформ. Свойства для Android SDK теперь организованы в трёх различных вкладках: SDK, NDK и Java.
    • Изменены и добавлены некоторые параметры в окне Опции проекта (новая ориентация страницы для мобильных приложений, новая функция Use MSBuild externally to compile для Delphi-компилятора, новый ключ hardwareAccelerated на Info Version Page для Android, новые возможности для C++ Linker для всех мобильных платформ).
    • Команды выполнения предоставляют новый параметр -cleaninstall для мобильных платформ.
    Новые ключевые возможности Delphi XE6
    • Компоненты для взаимодействия приложений (Application Tethering Components)
    • Компоненты для панели задач (Taskbar component): Компоненты для реализации предварительного просмотра нескольких окон, которые можно выбрать в приложениях при помощи управляющих кнопок. Автоматический или пользовательский предварительный просмотры. Отображение прогресса в кнопках панели задач для приложений. Перекрывающиеся иконки на кнопках панели задач.
    • Взаимодействие с сервисами в облаках (BaaS), компоненты для Kinvey и Parse: Взаимодействие с ведущими поставщиками «бэкендов-как-сервисов» для добавления данной функциональности к мобильным приложениям. Лёгкий доступ к сервисам в облаках, что избавляет от необходимости создавать и поддерживать собственные «бэкенд-сервисы». Использование push-уведомлений для вовлечения любых пользователей устройств и платформ. Доступ к данным и хранилищам объектов в облаках. Аутентификация пользователей. Поддержка REST -клиентов, создание которых доступно начиная с XE5. Поддержка трёх наиболее популярных поставщиков BaaS - Kinvey и Parse на основе набора компонент доступа через API.
    • Новые стили VCL : Придание приложением обновленный вид под актуальные версии Windows или создание для них уникального дизайна. Включает стиль планшетной Windows. Поддерживает Windows 7 и Windows 8. Полная стилизация приложений, включая меню и границы окон.
    • Компоненты VCL для работы с датчиками: Delphi-приложения могут использовать возможности датчиков положения, перемещения и других. Доступ к датчиками устройств из VCL-приложений для планшетов под управлением Windows. Возможности акселерометра , GPS и гироскопа .
    • Покупки из приложения и реклама в приложениях: Мобильные приложения дают возможность зарабатывать деньги для их разработчиков. Можно монетизировать мобильные приложения за счёт встраивания возможностей покупки из приложений и рекламы. Продажа контента, функциональности, сервисов и подписки в iOS и Android. Поддержка главных рекламных сетей (Google AdMob и Apple iAd).
    • Приложения для Google Glass : С помощью Delphi разработка для различных устройств теперь простирается за рамки ПК, планшетов и смартфонов до носимых гаджетов. Возможность создания Andorid-приложений для Google Glass . Новые пользовательские стили для оптимизации дизайна приложений и разрешения под Google Glass . Шаблоны дизайнера для устройства Google Glass .
    • Специальные возможности: Можно делать приложения более удобными для использования большим количеством пользователей, включая тех, кто использует устройства чтения экрана. Новые специальные возможности для настольных приложений на основе FM. Поддержка JAWS на Windows и VoiceOver на Mac OS X.
    • Качество, производительность и стабильность: Наилучшие возможности по разработке и поставке приложений с высочайшим уровнем пользовательского взаимодействия. Исправлено более 2000 зарегистрированных ошибок. Повышена общая производительность приложений на этапе исполнения для всех платформ.
    • Ключевые возможности и работа с базами данных: Расширение ключевых возможностей продукта. Улучшение в библиотеке FireDAC по работе с базами данных, FDMemTable. «Обозреватель данных» (Database Explorer) для FireDAC. Поддержка Apache (WebBroker). Поддержка DirectX 11 , OpenGL 4.3 и более ранние. Производительность DataSnap и обновлённые мастера (wizards). Рефакторинг и улучшения в RTL. Обновление драйвера FireDAC для Informix. Поддержка Apache C++.

    Delphi XE7

    Основные изменения

    Delphi XE8

    • Появилась возможность разработки 64-битных приложений под iOS;
    • Предварительный просмотр дизайна приложения на разных устройствах одновременно;
    • Возможность запускать iOS-приложения на любом зарегистрированном в RAD Studio iOS-симуляторе (iPad, iPad Air, iPhone от 4 и выше);
    • Возможность отключения встроенных в RAD Studio Android-библиотек;
    • RAD Studio теперь поддерживает новую систему контроля версий, интегрированную в IDE, для управления и отслеживания изменений в проектах: Mercurial Version Control System Integrated;
    • Позволяет создавать универсальные приложения для iOS с разной разрядностью - в одном исполняемом файле два кода: 32 бит и 64 бит (ARMv7 + arm64);
    • Интегрирована Castalia (добавляет функциональность, позволяющую выполнять некоторые задачи более простым способом);
    • Добавлены два новых независящих от платформы типа данных: FixedInt и FixedUInt . (FixedInt - 32-битное целое число со знаком, FixedUInt - 32-битное целое число без знака).

    Delphi 10 Seattle

    Основные нововведения среды разработки

    Delphi 10.1 Berlin

    Добавлена поддержка Android 6.0.

    Delphi 10.2 Tokyo

    Основные новые возможности Delphi 10.2 Tokyo:

    • в состав Delphi включён компилятор приложений под Linux (Ubuntu Server (LTS 16.04) and RedHat Enterprise (V7));
    • включена поддержка СУБД MariaDB .

    Delphi for PHP

    В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP , предназначенную для разработки веб-приложений на языке программирования PHP . Теперь среда Delphi ориентирована не только на язык Delphi . Были выпущены 1-я и 2-я версии, после чего Delphi for PHP была переименована в RadPHP XE (по сути 3-я версия), затем RadPHP XE2, и с выпуском Delphi XE3 этот продукт сильно переработан и назван HTML5 Builder.

    Delphi for .NET

    Первая версия полноценной среды Delphi для.NET - Delphi 8. Среда позволяет писать приложения только для.NET.

    В Delphi 2005 можно писать приложения для.NET, используя стандартную библиотеку классов.NET и VCL для.NET. Среда позволяет писать.NET-приложения на . Delphi 2005 также позволяет писать обычные приложения с использованием библиотек VCL и CLX .

    Delphi 8, 2005, 2006 используют.NET Framework версии 1.1. Delphi for .NET 2007, включённая в состав CodeGear RAD Studio 2007, разработана для.NET Framework 2.0.

    Начиная с версии 2009, поддержка Delphi.NET была прекращена . Для разработки под.NET предлагается Delphi Prism.

    Delphi Prism

    Delphi Prism - среда разработки под .NET и Mono на языке Oxygene , использующая Visual Studio Shell (с возможностью интеграции в Visual Studio).

    См. также

    Примечания

    1. “Сила независимых поставщиков средств разработки - в поддержке многоплатформенности” (неопр.) (18 сентября 2015). - «у нас только три таких центра вне США (один в Канаде, а недавно появился ещё в Испании вместо закрытого в Румынии)». Проверено 4 октября 2015.

    СРЕДА DELPHI 7

    Тема 1. Интерфейс интегрированной среды разработки

    Прикладные

    программы,

    приложения,

    создаются

    интегрированной

    разработки(IDE –

    Environment).

    Пользовательский

    интерфейс

    организации взаимодействия с программистом и включает в себя ряд,окон

    различные

    элементы

    управления. С

    интегрированной

    разработчику

    проектировать интерфейсную

    часть приложения, а также писать программный код и связывать

    элементами управления. В интегрированной среде разработки проходят все

    этапы создания приложения, включая отладку.

    Интегрированная

    разработкиDelphi 7

    представляет

    многооконную

    интегрированной

    разработки

    (пользовательский интерфейс) может различаться в зависимости от настроек. Интерфейс Delphi 7 первоначально включает шесть окон:

    Главное окно (Delphi 7 – Project1);

    - окно Обозревателя дерева объектов (Object TreeView );

    - окно Инспектора объектов (Object Inspector );

    - окно Формы, или Конструктора формы (Form1 );

    - окно Редактора кода (Unit1.pas )

    - окно Проводника кода (Exploring Unit1.pas ).

    Последние два окна находятся позади

    окна,Формыпричем окно

    Проводника кода пристыковано слева к окну Редактора кода, поэтому оба этих

    окна имеют общий заголовок Unit1.pas .

    На экране кроме указанных окон могут присутствовать и другие окна,

    отображаемые при вызове соответствующих средств, например, окно Редактора

    изображений (Image Editor ). Окна Delphi можно

    перемещать,

    изменять их

    размеры и убирать с экрана(кроме главного окна), а также

    состыковывать

    между собой.

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

    При сворачивании главного окна сворачивается весь интерфейсDelphi и, соответственно, все открытые окна; при закрытии главного окна работа с Delphi прекращается. Главное окно Delphi включает:

    Главное меню;

    - панели инструментов;

    - палитру компонентов.

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

    Вызвать многие команды главного меню можно также с помощью

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

    С помощью контекстного меню можно также управлять видимостью Палитры компонентов (Component Palette ).

    Более широкие возможности по настройке панелей инструментов и главного меню предоставляет диалоговое окноCustomize (Индивидуальная настройка), вызываемое одноименной командой контекстного меню панелей инструментов. С его помощью можно скрыть или отобразить требуемую панель

    инструментов, изменить состав

    кнопок на, нейа также выбрать

    отображения всплывающих подсказок для кнопок.

    Палитра компонентов находится под главным меню в правой части

    главного

    содержит

    множество

    компонентов, размещаемых

    создаваемых

    Компоненты

    являются

    своего рода строительными

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

    Первоначально Палитра компонентов имеет следующий набор страниц:

    Standard – стандартная;

    Additional – дополнительная;

    Win32 – 32-разрядного интерфейса Windows;

    System – доступа к системным функциям;

    Data Access – работы с информацией из баз данных;

    Data Controls – создания элементов управления данными;

    DbExpress – доступа к SQL-серверам;

    DataSnap – создания многоуровневых приложений баз данных;

    BDE – доступа к данным с помощью BDE;

    ADO – связи с базами данных с использованием объектов данных ActiveX;

    Interbase – обеспечения непосредственного доступа к одноименной базе данных;

    WebServices – создания клиентских приложений, использующих Web-сервис

    с помощью технологии SOAP;

    InternetExpress – создания приложений InternetExpress, которые являются одновременно Web-сервером и клиентом распределенной базы данных;

    Internet – создания приложений Web-сервера для сети Интернет;

    WebSnap – создания приложений Web-серверов;

    Decision Cube – многомерного анализа;

    Dialogs – создания стандартных диалоговых окон;

    Win 3.1 – интерфейса Windows 3.x;

    ActiveX – компонентов ActiveX;

    RAVE – генерации отчетов в приложении;

    Indy Clients – платформо-независимые компоненты Интернета для клиента;

    Indy Servers – платформо-независимые компоненты Интернета для сервера;

    Indy Intercepts – платформо-независимые компоненты Интернета для обработки прерываний при кодировании/ раскодировании и преобразовании передаваемой информации;

    Indy I/O Handlers – платформо-независимые компоненты Интернета для управления вводом / выводом;

    Интернета (обработки, кодирования и декодирования данных);

    СОМ+ – управления одноименными объектами;

    InterBase Admin – управления доступом к одноименной базе данных;

    IW Standard – стандартная для работы в Интернете;

    IW Data – создания элементов управления при работе с базами данных в Интернете;

    IW Client Side – для обеспечения работы в Интернете со стороны клиента;

    IW Control – управления работой в Интернете;

    Servers – оболочки VCL для общих серверовCOM (Microsoft Office 2000 или 97).

    Палитру компонентов можно настраивать с помощью диалогового окна Palette Properties (Свойства Палитры). Это окно вызывается командойProperties (Свойства) контекстного меню Палитры компонентов или командойComponent \ Configure Palette (Компонент \ Настройка Палитры) главного меню. Окно позволяет выполнять такие операции, как удаление, добавление отдельных компонентов и перемещение их на другое, а местотакже добавление, удаление или перемещение страниц компонентов.

    В списке Pages диалогового окнаPalette Properties содержатся названия страниц, в спискеComponents – названия компонентов выбранной страницы. С

    Добавить (Add ), удалить (Delete ) или переименовать (Rename ) страницу;

    - переставить страницу или компонент на позицию выше(Move Up ) или ниже

    (Move Down);

    - скрыть компонент (Hide ).

    Окно Формы (илиКонструктора формы ) первоначально находится в

    центре экрана и имеет заголовокForm1 . В нем выполняется проектирование

    формы, в процессе которого в форму из Палитры компонентов помещаются

    необходимые

    компоненты. При

    проектирование

    заключается

    визуальном конструировании формы, а действия разработчика

    работу в среде простого графического редактора. Сам Конструктор формы во

    время ее проектирования остается как бы"за кадром", и разработчик имеет

    дело непосредственно с формой, поэтому часто окно Конструктора формы

    также называют окном Формы или просто "формой".

    Редактора

    кода (Unit1.pas)

    программирования

    находится

    перекрывается им. Редактор кода представляет собой обычный текстовый

    редактор, с помощью которого можно редактировать текст модуля и другие

    текстовые

    приложения, например,

    редактируемый файл находится в окне Редактора кода на отдельной странице, доступ к которой осуществляется щелчком на соответствующем. значке Первоначально в окне Редактора кода на страницеCode содержится одна вкладкаUnit1 исходного кода модуля формыForm1 разрабатываемого приложения.

    В Delphi 7 Редактор кода поддерживает также просмотр и редактирование других элементов приложения. Для этого используются страницы:

    Diagram – отображение и настройка взаимосвязей между визуальными и невизуальными компонентами;

    HTML Script – просмотр документа HTML и текста JavaScript, сгенерированных с помощью компонента типа TAdapterPageProducer;

    HTML Result – просмотр документа HTML, сгенерированного на основе HTML-шаблона;

    Preview – просмотр документа HTML в окне обозревателя;

    XML Tree – отображение документа XML или модуля Web-страницы в окне обозревателя;

    XSL Tree – отображение документа XSL или модуля Web-страницы.

    В окне Редактора кода всегда присутствует страница Code , а остальные страницы требуют соответствующей настройки.

    Окно Проводника кода (Exploring Unit1.pas ) пристыковано слева к окну Редактора кода. В нем в виде дерева отображаются все объекты модуля формы,

    например переменные и процедуры. В окне Проводника

    кода удобно

    просматривать объекты приложения и быстро переходить к нужным объектам,

    что особенно важно для больших модулей. Окно Проводника кода открывается

    командой Code Explorer (Проводник кода) менюView (Просмотр).

    настройки

    Проводника

    кода служит Explorer окно

    (Параметры

    проводника), открываемое

    командой Properties (Свойства)

    контекстного меню Проводника кода. С помощью этого окна можно, например,

    управлять отображением объектов категорий, содержащихся в списке Explorer

    categories (Категории просмотра). Чтобы окно Проводника кода по умолчанию

    отсутствовало, нужно

    сбросить

    флажок Automatically show

    (Автоматически отображать Проводник).

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

    Окно Инспектора объектов находится под окном Обозревателя дерева объектов в левой части экрана и отображает свойства и события объектов для текущей формыForm1 . Его можно открыть командойView \ Object Inspector (Просмотр \ Инспектор объектов).

    Окно Инспектора объектов имеет две страницы: Properties (Свойства) иEvents (События).

    Страница Properties отображает информацию о текущем(выбранном) компоненте в окне Формы и при проектировании формы позволяет удобно изменять многие свойства компонентов.

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

    В конкретный момент времени Инспектор объектов отображает свойства

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

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

    командой Arrange \ by Category (Расположить \ По категориям) контекстного меню Инспектора объектов. КомандойArrange \ by Name (Расположить \ По имени) восстанавливается расположение по алфавиту.

    По умолчанию Инспектор объектов отображает все свойства и события объектов. Можно отключить / включить отображение некоторой категории, убрав / установив отметку в соответствующем пункте подменю командыView контекстного меню.

    Для настройки вида Инспектора объектов служит окноObject Inspector Properties (Свойства Инспектора объектов), открываемое командойProperties контекстного меню Инспектора объектов. С его помощью можно выбрать, например, цвет для отображения имен (Name ) и значений (Value ) свойств.

    Delphi поддерживает технологию Dock-окон , которые могут стыковаться (соединяться) друг с другом с помощью мыши. Такими окнами являются инструментальные (недиалоговые) окна интегрированной среды разработки, в

    том числе окна Инспектора объектов и Проводника кода. Состыкованные окна

    удобно, например, перемещать по экрану или изменять их размеры.

    Для соединения двух окон следует с помощью мыши поместить одно из

    них на другое и после изменения вида рамки перемещаемого окна отпустить

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

    Разделение окон

    выполняется

    перемещением

    пристыкованного

    двойную линию, размещенную под общим заголовком. После соединения окна

    представляют собой одно общее окно, разделенное на несколько частей. При

    стыковке / отстыковке окно изменяет свое название. Так, окно Проводника

    кода, состыкованное с окном Редактора кода, имеет общее с ним название,

    например, Unit1.pas , в то время как при отстыковке название изменяется на

    Unit1.pas.

    Окна Инспектора объектов

    и Обозревателя

    объектов при стыковке объединяют свои назва(н азвания всех окон

    указываются через запятую).

    Можно запретить стыковку окна, убрав отметку Dockable (Стыкуемое) в

    контекстном меню окна. По умолчанию эта отметка включена и окно является

    стыкуемым.

    Для окон Инспектора объектов и Обозревателя дерева объектов можно

    установить режим Stay on Тор (Расположить наверху), расположив их поверх

    окон. Это

    выполняется

    включением

    одноименной

    контекстном меню. Скрытое окно вызывается на экран командой менюView . Например, окно Проводника кода выводится на экран командойView \ Code Explorer .

    Тема 2. Характеристика проекта

    – код проекта (dpr );

    – описания форм (dfm – для Windows,xfm – кроссплатформенный вариант);

    модули и модули форм (pas );

    параметры проекта (dof – для Windows,kof – для Linux);

    параметры среды (cfg );

    описание ресурсов (res ).

    Взаимосвязи между отдельными частями (файлами) проекта показаны на рис. 1.1.

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

    файлы, например, резервные копии файлов: ~ dp – для файлов с расширением dpr;~ pa – для файлов с расширением pas.

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

    2.2. Файл проекта

    Файл проекта является центральным файлом проекта

    и представляет

    собой собственно программу. Для приложения, имеющего в

    составе одну

    форму, файл проекта имеет следующий вид:

    program Project1;

    uses Forms, Unit1 in "Unitl.pas" {Form1};

    Application.Initialize;

    Application.CreateForm(TForm1, Form1);

    Application.Run;

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

    переименовании

    переименовываю

    автоматически.

    Сборка всего проекта выполняется при компиляции файла проекта. При этом имя создаваемого приложения(ехе -файл) или динамически загружаемой библиотеки (dll -файл) совпадает с названием файла проекта.

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

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

    Программа проекта содержит всего три инструкции, выполняющих инициализацию приложения, создание формы Form1 и запуск приложения.

    При выполнении разработчиком каких-либо операций с проектомDelphi формирует код файла проекта автоматически. Например, при добавлении новой формы в файл проекта добавляются две строки кода, относящиеся к этой фор-

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

    Отображение кода файла проекта в окне Редактора кода задается командой Project \ View Source (Проект \ Просмотр источника).

    2.3. Файлы формы

    Для каждой формы в составе проекта автоматически создаются файл описания формы (расширение dfm ) и файл модуля формы (расширениеpas ).

    описания

    формы является

    ресурсомDelphi

    содержит

    характеристики формы и ее компонентов. Разработчик обычно управляет этим

    файлом через

    Формы и Инспектора объектов. При конструировании

    формы в файл описания автоматически вносятся соответствующие изменения.

    Содержимое

    описания

    определяет

    ЕеПри вид

    необходимости можно отобразить этот файл на экране в текстовом виде, что

    выполняется командой View as Text (Просмотреть как

    контекстного

    меню формы. При этом окно Формы пропадает с экрана, а содержимое файла описания формы открывается в окне Редактора кода и доступно для просмотра и редактирования.

    Повторное открытие окна формы выполняется командойView \ Forms (Просмотр \ Формы), после чего открывается диалоговое окноView Form (Просмотр форм), в списке которого и выбирается нужная форма.

    Файл модуля формы содержит описание класса формы. Для пустой формы, добавляемой к проекту по умолчанию, файл модуля формы содержит следующий код:

    unit Unit1;interface

    uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

    type TForml = class (TForm) private

    { Private declarations } public

    { Public declarations } end;

    var Form1: TForm1;implementation

    {$R *.dfm} end.

    Delphi автоматически создает файл модуля формы при добавлении новой формы. По умолчанию к проекту добавляется новая форма типаTForm , не содержащая компонентов.

    В разделе interface модуля формы содержится описание класса формы, а в разделеimplementation – подключение к модулю директивой$R визуального описания соответствующей формы. При размещении в форме компонентов, а

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

    Тексты файлов модулей форм отображаются и редактируются с помощью Редактора кода. Открыть файл модуля формы можно в стандартном окне открытия файла (команда File \ Open (Файл \ Открыть)) или в диалоговом окнеView Unit , открываемом командойView \ Units (Просмотр \ Модули). В окне открытия файла модуля формы можно выбрать также файл проекта. После

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

    Оба файла каждой формы (описания и модуля) имеют одинаковые имена, отличные от имени файла проекта.

    При компиляции модуля автоматически создается файл с расширением dcu (dpu – для Linux), который содержит откомпилированный код модуля. Этот файл можно удалить из каталога, в котором находятся все файлы проекта.

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

    Состав Delphi и требования к системе

    Прежде, чем приступать к работе с какой-либо программой, было бы полезно ознакомиться с ее требованиями к компьютеру. Разумеется, требования у разных версий Delphi разнятся, постепенно повышаясь от версии к версии. В частности, в рассматриваемой нами Delphi 7 рекомендуется процессор не ниже Pentium II и не менее 256 Мбайт оперативной памяти. Более ранние версии требовали меньший объем памяти, однако для комфортной работы я в любом случае рекомендовал бы не менее 256 Мбайт, а для Delphi 7 и выше, да еще и под управлением ОС Windows XP, не помешало бы иметь 512 Мбайт ОЗУ.

    Что касается требований к операционной системе, то хотя формально Delphi может работать на любой 32-разрядной версии Windows, я бы настоятельно рекомендовал использовать Windows из линии NT, т.е. Windows 2000 или XP. Дело в том, что Windows 9x, из-за своего 16-разрядного наследия, имеет серьезные ограничения на количество доступных системных ресурсов, вне зависимости от того, насколько мощный ПК вы используете. Кроме того, Windows 9x не может эффективно задействовать даже относительно большие - свыше 128 Мбайт - объемы оперативной памяти. Я уже не говорю о том, что в Windows 9x не поддерживаются ни многопоточность, ни набирающие в последнее время популярность двуядерные процессоры, а производители аппаратных компонентов ПК давно уже забросили оптимизацию драйверов для данного семейства ОС. Результатом всего этого является низкая производительность на современных компьютерах и вполне ощутимый риск "повесить" систему в процессе работы над сложным и ресурсоемким приложением.

    Еще один важный вопрос - это монитор. Опять-таки, формально достаточно любого SVGA-монитора. Но работать в среде Delphi при разрешении экрана ниже, чем 1024 на 768 точек, крайне затруднительно: учтите, что вам постоянно надо видеть как элементы управления самой Delphi, так и собственное (разрабатываемое) приложение. Для комфортной работы я бы рекомендовал качественный 19" монитор с рабочим разрешением 1280 на 1024 точки. Причем, если это будет обычный монитор на ЭЛТ (или даже ЖК, но с аналоговым подключением), то вам понадобится еще и качественная видеокарта, способная обеспечить кристально четкую, без "замыливания" картинку. Для ЭЛТ-мониторов также важно обеспечивать поддержку указанного разрешения при частоте регенерации изображения не ниже 85 Гц.

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

    Определившись с компьютером, перейдем к установке. В процессе установки про-грамма спросит вас, для каких версий тех или иных третьесторонних приложений следует устанавливать компоненты. Прежде всего, это версии MS Office, для одной из них вы сможете установить набор компонент, обеспечивающих взаимодействие между приложениями office и Delphi. Если вы устанавливаете старшую версию Del-phi (Client/Server, Enterprise, Architect), то вас спросят еще и о том, для каких версий баз данных следует установить компоненты. Наконец, в процессе установки, помимо самой Delphi будут установлено множество дополнительных программ, в основном, связанных с базами данных. Причем некоторые из них (например, сервер InterBase или виртуальная Java-машина) вообще устанавливаются отдельно, хотя и в процессе общего хода инсталляции.

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

    • Image editor - простой графический редактор для рисования иконок и курсоров. За время, прошедшее с момента последнего обновления (в 1996 году), морально устарел, но может пригодиться, если нет ничего другого;
    • WinSight - позволяет просматривать отладочную информацию в любых работающих приложениях;
    • BDE Administrator - позволяет настраивать базы данных;
    • Data Pump - позволяет переносить данных между БД;
    • Database Explorer или SQL Explorer - средство просмотра БД;
    • SQL Monitor (только старшие версии) - позволяет отслеживать обращения приложений к SQL-серверу.

    Кроме того, в этой группе будет находиться подгруппа Help, а в ней, среди множества справочных файлов, - еще одна, с еще большим их количеством - MS SDK Help Files. Так вот, все эти файлы вам придется регулярно использовать, причем положение усугубляется не только их количеством и объемами, но и тем, что в русском варианте их не существует. Таким образом, знание английского языка будет вам хорошим подспорьем при изучении как Delphi, так и программирования вообще.

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

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

    Интегрированная среда разработки

    Интегрированная среда разработки Delphi (Delphi IDE) является многооконной системой. Она включает в себя все необходимое для быстрой разработки Windows-приложений, и может гибко настраиваться.

    Тем не менее, как и всякая другая программа, Delphi имеет некоторый стандартный, предусмотренный разработчиками вид, в котором она предстает вам при первом запуске. В таком "стандартном" варианте среда Delphi имеет 6 окон (рис. 2.1). Это: главное окно (Delphi 7 - Project1), окно дерева объектов (Object TreeView), окно инспектора объектов (Object Inspector), окно конструктора форм (Form1), а так же совмещенное окно редактора кода и проводника кода (на заднем плане, под Form1). При этом окно проводника пристыковано к левому краю окна редактора. Впрочем, ничего не мешает отсоединить проводник от редактора, или, наоборот, состыковать все окна, кроме главного и конструктора форм, в одном окне, или объединить их по какому-либо иному принципу.

    Рис. 2.1. Вид Delphi 7 IDE по умолчанию

    К вопросу об удобстве следует отметить, что предлагаемая разработчиками компоновка годится, в принципе, для любого экранного разрешения. Но если у вас имеется возможность установить разрешение экрана в значение 1280 на 1024 точки, то вы можете скомпоновать все кнопки главного окна в одной строке, а все освободившееся внизу место выделить для палитры компонентов (рис. 2.2).

    Рис. 2.2. "Оптимизированный" вид главного окна Delphi

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

    • Debug - отладка. Позволяет запустить программу (Run), приостановить ее выполнение (Pause), а так же выполнять построчное выполнение программы;
    • Standard - стандартные. Служит для таких операций, как сохранение, созда-ние, добавление и удаление файлов;
    • View - вид. Используется для быстрого нахождения форм и файлов проекта;
    • Desktops - рабочая среда. С помощью этих инструментов можно переклю-чаться между различными настройками рабочей среды Delphi;
    • Custom - произвольная. Изначально содержит одну-единственную кнопку - для вызова справки;
    • Component palette - палитра компонентов. Содержит все доступные для разработки приложений компоненты.

    Отметим, что все инструментальные панели настраиваются: кнопки можно перемещать между панелями, добавлять на них новые, или же удалять. Для обычных панелей (Standard, View, Debug) это делается точно таким же образом, как во многих других современных Windows-приложениях (например, как в Word, т.е. при помощи окна настройки - Customize).

    Что касается самой большой панели - палитры компонентов, то для ее настройки следует использовать специальное окном свойств палитры (рис. 2.3). Это окно доступно через пункт Configure Palette из меню Component. Однако учтите, что при настройке важно знать как предназначение компонент, так и понимать принципы их организации, поэтому максимум, что можно себе позволить для начала - это поменять местами группы, перетаскивая их в списке страниц (Pages).


    Рис. 2.3. Настройка палитры компонентов требует знания VCL

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

    Все компоненты сгруппированы по вкладкам, число и состав которых несколько разнятся в зависимости от версии и варианта поставки. Так, в Delphi 7 Enterprise имеется 33 вкладки, содержащие компоненты, принадлежащие к той или иной группе VCL (табл. 2.1).

    Таблица 2.1. Страницы палитры компонент Delphi 7 Enterprise

    Страница

    Название

    Описание

    Стандартные

    Основные элементы интерфейса приложений Windows (меню, кнопки, подписи и т.п.)

    Дополнительные

    Набор улучшенных элементов управления, имеющихся в VCL

    32- разрядные Windows

    Элементы интерфейса приложений, характерные для Windows 95 и последующих версий этой ОС

    Системные

    Элементы управления и доступа к системным 16 ункцииям Windows (таймер, OLE , DDE )

    Доступ к данным

    Стандартный набор компонент для доступа к БД

    Элементы данных

    Элементы пользовательского интерфейса для доступа к БД

    Компоненты для доступа к БД при помощи SQL -драйвера dbExpres

    Компоненты для взаимодействия с удаленный web -сервером через SOAP

    Компоненты для взаимодействия с сервером через DCOM

    Borland Database Engine

    Компоненты для доступа к БД посредством BDE (классический вариант для простых БД)

    Компоненты для взаимодействия с БД через ADO

    Компоненты для прямого взаимодействия с БД InterBase

    Администрирование InterBase

    Компоненты для взаимодействия и управления сервером БД InterBase

    Компоненты для взаимодействия с данными через XML

    Компоненты для работы с данными через различные протоколы Интернета

    Набор ActiveX -компонент для работы через Интернет

    Набор компонент для обработки информации в БД

    Стандартные и расширенные диалоговые окна

    Компоненты пользовательского интерфейса, характерные для Windows 3.1

    Несколько визуальных компонент, не являющихся официально поддерживаемыми

    Несколько встраиваемых ActiveX- приложений

    Rave Repo rts

    Набор компонент для построения отчетов

    Клиенты Indy

    Набор компонент-клиентов для различных протоколов и служб Интернета

    Серверы Indy

    Набор компонент-серверов для различных протоколов и служб Интернета

    Обработчики Indy

    Набор компонент, позволяющих отлавливать сообщения от клиентов и серверов Indy

    Indy i/o ha ndlers

    Ввод-вывод Indy

    Компоненты для отслеживания активности соединений других компонент Indy

    Утилиты Indy

    Набор вспомогательных компонент, полезных при разработке различных TCP -приложений

    Содержит компонент, позволяющий создать управляющий сервер COM +

    IW Standard , Data, Client Side, Control

    Набор специальных кросс платформенных компонент для создания Web -приложений для любых Web -клиентов, включая КПК и смартфоны

    MS Office Servers

    Набор ActiveX -компонент для взаимодействия с приложениями Microsoft Office

    Суммарно Delphi включает в себя сотни компонент, однако не стоит переживать по поводу огромного их количества: Delphi применяется во многих областях, и вряд ли хоть один разработчик в действительности использовал все доступные компоненты. Так что мы выделим наиболее полезные для нас группы, а именно: стандартные, дополнительные, 32-разрядные Windows, системные и диалоги. Этого набора будет более чем достаточно для начала изучения Delphi. Со временем мы ознакомимся так же с классическими компонентами для доступа к БД (Data Access и Data Controls), а так же с несколькими компонентами из богатой коллекции Indy. На этом введение в палитру компонент можно считать завершенным и перейти к дальнейшему ознакомления со средой, для чего перейдем к детальному исследованию главного окна, начав с его меню, которое состоит из 11 пунктов:

    • File - файл. Операции с файлами, вроде создать, открыть, сохранить;
    • Edit - правка. Операции редактирования, как стандартные для текстового процессора (отмена, копирование-вставка), так и специфические для редактирования разрабатываемых окон приложений (выравнивание, порядок со-здания и т.п.);
    • Search - поиск. Различные варианты поиска и замены;
    • View - вид. Переключение между различными окнами - как относящимися к IDE, так и к разрабатываемому приложению;
    • Project - проект. Все операции по работе с проектом, как то добавление и удаление файлов, настройки, сборка и компиляция;
    • Run - выполнить. Средства для отладки программ;
    • Component - компоненты. Средства для работы с компонентами, включая настройку палитры компонент;
    • Database - Данные. Некоторые средства для работы с БД;
    • Tools - сервис. Настройка параметров IDE, а так же вызов вспомогательных программ (Image editor и др.);
    • Windows - окно. Содержит список всех открытых в текущий момент окон и позволяет переключаться между ними (актуально, когда окон много и одни загораживают другие);
    • Help - справка.

    Таким образом, мы уже исследовали все главное окно IDE Delphi. Что касается остальных окон, то их предназначение мы узнаем по ходу дальнейшего ознакомления со средой, а относительно их расположения, да и вообще необходимости в некоторых из них, то это - вопрос личных вкусов и специфики разрабатываемого приложения - общие рекомендации тут были бы неуместны.

    Проекты в Delphi

    Разработка приложений в Delphi означает работу с проектами. Иначе говоря, когда вы приступаете к разработке собственной программы в Delphi, первым делом создается проект - группа файлов, представляющих исходные данные (прежде всего, код) для приложения. Одни из этих файлов создаются во время разработки приложения (собственно программный код, включая файл проекта, и представленные в виде кода формы), другие же создаются автоматически при запуске программы. Таким образом, все файлы проекта подразделяются на следующие типы:

    • dpr - собственно файл проекта;
    • pas - модули приложения, содержащие код на Object Pascal;
    • dfm - модули приложения, содержащие информацию об окнах приложения;
    • res - файлы со встраиваемыми ресурсами приложения (например, иконками);
    • obj - файлы, содержащие готовый к компиляции объектный код;
    • cfg, dof, dsk - служебные файлы Delphi.

    Основными составными частями проекта, помимо самого файла проекта (dpr), являются модули pas и dfm. При этом для каждого модуля окна (dfm) имеется собственный программный модуль (pas).

    Чтобы лучше во всем этом разобраться, попробуем создать собственный проект в Delphi. Для этого достаточно запустить Delphi - в том случае, если вы не изменяли настроек, новый проект создастся автоматически. Но на всякий случай, мы все-таки создадим новый проект самостоятельно, для чего следует из меню File зайти в группу New и выбрать в ней пункт Application.

    ВНИМАНИЕ
    Чтобы постоянно не повторяться, в дальнейшем подобные последовательности действий мы будем обозначать следующим образом: File > New > Application.

    В результате мы получим новый проект, полностью готовый к дальнейшему использованию (см. рис. 2.1). Более того, его уже на этом этапе можно выполнить! Для этого достаточно нажать на кнопку Run, находящуюся на панели инструментов отладки, или же выбрать пункт Run из одноименного меню (Run > Run), но лучше всего нажать на клавишу F9: для быстрой разработки приложений в среде Delphi знание хотя бы основных сочетаний "горячих клавиш" просто необходимо.

    Итак, мы запустили приложение, правда, выглядеть оно будет довольно скучно: пустое окно с заголовком Form1 и стандартными кнопками управления окном (рис. 2.4). Но, по крайней мере, даже такое приложение обладает всей базовой функциональностью: его можно развернуть на весь экран, или наоборот, свернуть в панель задач, перемещать по экрану, изменять размеры, и, что самое главное - закрыть.


    Рис. 2.4. Самое первое приложение в Дельфи

    Теперь немного модернизируем свое приложение, заодно изучив еще одно важное окно среды Delphi - Object Inspector. Для этого вернитесь в рабочую среду Delphi, закрыв запущенное приложение, и щелкните по окну Form1, чтобы оно стало актив-ным. Это окно, как и любые другие окна, относящиеся непосредственно к разрабаты-ваемому приложению, называют формой. Теперь обратите внимание на окно инспек-тора объекта (рис. 2.5), по умолчанию оно расположено по левому краю экрана.


    Рис. 2.5. Окно инспектора объектов

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

    ПРИМЕЧАНИЕ
    Все свойства объектов в Delphi, доступные для изменения, делятся на run-time (времени выполнения) и на design-time (времени разработки). При этом первые можно изменять только во время работы программы, а вторые доступны уже во время визуального редактирования.

    Попробуем заменить значение одного из свойств. Наиболее безопасным будет изменение такого свойства, как Caption - оно отвечает за текст, находящийся в заголовке окна. Для изменения значения этого свойства, щелкните по строке с ним и вместо "Form1" введите какой-либо собственный текст, например, "Мое первое приложение в Delphi". В данном случае вы сразу же увидите результат своей работы: заголовок окна формы изменится на новый.

    Некоторые свойства меняются не путем непосредственного ввода значений, а путем выбора одного из заранее предусмотренных. В простейшем случае это может быть выбор ложь-истина (False или True), включающим или отключающим ту или иную опцию. Иногда списки бывают гораздо более объемными. Например, для выбора цвета предлагается множество цветов, включая системные. Например, свойство Color имеет в нашем случае значение clBtnFace, что означает цвет кнопки, установленный в настройках Windows. Мы можем изменить его на любой другой цвет, как системный (например, clCaptionText - цвет текста заголовка окна), так и на явный, например, clWhite (белый).

    Можно заметить, что некоторые из свойств отмечены значком "+". Это означает, что такое свойство является составным, и если щелкнуть по значку, то раскроются строки, содержащие отдельные параметры. Например, можно раскрыть таким образом свойство BorderIcons и поменять значение параметра biMinimize с True на False. Тем самым мы изменим значение свойства, отвечающего за системные элементы управления окна таким образом, что функция разворачивания окна на весь экран будет недоступной.

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

    Ну а пока что сведем воедино все измененные нами свойства формы Form1:

    Caption: Мое первое приложение в Delphi Color: clWhite BorderIcons:

    Последнее свойство - составное и такое его значение получается в результате установки таких его составляющих, как biSystemMenu и biMinimize в True, а biMaximize и biHelp - в False.

    Часть из сделанных изменений - цвет окна и его заголовок - видна сразу же, в рабочей среде Delphi, т.е. на этапе разработки. А вот изменения в системных кнопках, хотя и могут быть сделаны на данном этапе, визуально себя не проявляют. Поэтому, чтобы увидеть сразу все произошедшие изменения, запустим приложение на выполнение, нажав клавишу F9, и вы увидите, что не только цвет и заголовок окна изменились, но и кнопка "развернуть" стала неактивной (рис. 2.6).


    Рис. 2.6. Первое приложение после небольшой доработки

    Таким образом, мы ознакомились с Object Inspector - одним из наиболее важных окон рабочей среды Delphi. Ну а чтобы завершить тему введения в проекты, попробуем сохранить наш проект на диске. Пусть это будет папка Project1, а сам проект мы назовем first. Для этого откройте диалог сохранения проекта (File Save project as) и выберите в нем нужную папку.

    СОВЕТ
    По умолчанию Delphi предлагает складывать все проекты в недра своей собственно директории в Program Files. Но было бы гораздо лучше, если бы вы создали папку в другом, легко доступном месте, и назвали ее понятным для себя названием. Например, это может быть папка Work на диске C:.

    А теперь внимание! Если вы сохраняете проект в первый раз, то Delphi предложит вам сначала сохранить не файл проекта, а все несохраненные рабочие файлы. В данном случае это будет программный файл формы. По умолчанию Delphi предложит назвать его unit1.pas, но лучше сразу взять за правило давать осмысленные имена все рабочим файлам. В частности, раз это окно - главное (и единственное) в нашем приложении, то назовем его файл main.pas. Таким образом будут сохранено сразу 2 файла - программный pas и файл формы dfm.

    ВНИМАНИЕ
    Имена любых файлов проекта должны состоять только из латинских букв и цифр, при этом начинаться должны с буквы. Также в них недопустимы пробелы и любые специсмволы, кроме знака подчеркивания.

    Только после сохранения всех составных частей, будет предложено сохранить собственно файл проекта. Назовем его "first". После сохранения можно, наконец-то скомпилировать исполняемый файл, нажав Ctrl+F9 (или Project Make), закрыть Delphi и посмотреть, что мы имеем в папке Project1. А в ней, как и было обещано, будет файл main.pas - программный код для формы, main.dfm - описание формы, first.dpr - сам проект, first.res - файл ресурсов проекта, main.dcu - подготовленный к компиляции модуль, и, разумеется, first.exe - исполняемый файл готового приложения. Так же вы обнаружите в нем все служебные файлы Delphi, в которых хранится дополнительная информация о проекте и настройках рабочей среды для него - файлы first.cfg, first.dof и first.dsk.

    Чтобы теперь вернуться к работе над этим проектом, достаточно дважды щелкнуть по файлу first.dpr, в результате будет загружена и Delphi IDE, и этот проект в нее.

    Типы проектов и депозитарий

    Только что мы рассмотрели создание наиболее распространенного типа проекта - приложения Windows со стандартным графическим интерфейсом. Но на самом деле, возможности Delphi этим не ограничены, вы можете создавать приложения самого разнообразного характера, включая консольные (для текстового режима Windows), динамически подключаемые библиотеки (DLL), сервисы для Windows NT/2000/XP, межплатформенные приложения CLX (Delphi 6,7) или приложения для платформы Microsoft .NET (Delphi 8, 2005). Чтобы создать приложение определенного типа, следует из подменю File New выбрать пункт Other. Таким образом, откроется окно, позволяющее выбрать тип нового приложения или добавить какой-либо специфический модуль к существующему проекту (рис. 2.7).


    Рис. 2.7. Выбор нового приложения или модуля в Delphi 7

    Выбор вариантов тут весьма обширен, причем, помимо типовых модулей и классов приложений, присутствуют различные мастера, позволяющие упростить процесс создания того или иного модуля (Wizards), а так же специализированные стандартные формы вроде диалоговых окон или окна "О программе". Рассмотрим некоторые из них подробнее, для чего пройдемся по отдельным закладкам окна New Items.

    Начнем с закладки New. На ней представлены наиболее часто востребованные, по мнению разработчиков, варианты. И действительно, тут можно найти стандартное графическое Windows-приложение (Application), форму (Form), программный модуль (Unit), текстовое приложение командной строки (Console Application), и другие варианты, как-то Data Module (полезен для разработки баз данных), DLL Wizard, Component и т.д.

    На закладках Forms и Dialogs моно найти ряд стандартных диалоговых окон и даже мастер по разработке диалогового окна.

    Закладка Projects дает возможность начать проект того или иного типа, или даже воспользоваться мастером для создания многооконного приложения.

    Чтобы создать элемент управления ActiveX или приложение для COM+, следует обратиться к шаблонам на закладке ActiveX. Ну а прочие закладки, в том числе IntraWeb, WebSnap и т.д., позволяют создавать специализированные приложения соответствующего типа или модули к ним. Их количество и названия зависят от версии Delphi и варианта поставки.

    Но на самом деле, данное окно, по большому счету, подобно палитре компонент, с тем лишь исключением, что если палитра компонент являет собой представление VCL, то окно New Items - во многом является отображением депозитария (Object Repository). В депозитарии хранятся заготовки форм и иных модулей, которые вы можете многократно использовать в своих проектах. При этом для того, чтобы поместить форму в депозитарий, достаточно воспользоваться ее контекстным меню и выбрать в нем пункт Add to Repository.

    Прочие средства IDE

    На текущий момент мы уже рассмотрели такие составные части, предоставляемые интегрированной средой разработки Delphi, как главное окно вместе с его меню, окном выбора модулей и палитрой компонентов, и инспектора объектов. Теперь обратимся к такой важной части, как окно редактора кода. Следует отметить, что до появления графических средств разработки, подобных Delphi, еще во времена MS-DOS и ранних версий Windows, IDE для программирования как раз и состояли из редактора кода да самого компилятора. Таким образом, редактор кода - это наиболее характерный и устоявшийся элемент в любой среде разработки приложений.

    Применительно ко всем современным версиям Delphi, редактор кода имеет все стандартные возможности редактирования текста (вроде работы с буфером обмена), а так же ряд особенностей, характерных для редакторов кода, а именно:

    1. Редактор всегда работает с моноширинным шрифтом (т.е. все буквы имеют одинаковую ширину). Это необходимо, поскольку в противном случае было бы тяжело ориентироваться в коде программы;
    2. Моноширинный режим позволяет использовать такой метод, как колоночную разбивку. Иначе говоря, копировать и перемещать можно не только отдельные слова или строки, но и вырезать, копировать и вставлять прямоугольные фрагменты текста;
    3. Редактор постоянно отображает позицию курсора, т.е. в какой строке и колонке находится точка ввода;
    4. Отсутствие автоматического переноса строк. Поскольку в программировании каждый символ, включая обрыв строки, что-то значит, то чтобы программисты не гадали, где в коде конец строки, а где автоматический перенос, такого режима правки нет в принципе. К тому же это мешало бы ориентироваться в номерах строк;
    5. Подсветка синтаксиса выделяет ключевые слова и прочие специфические языковые конструкции;
    6. При перемещении по тексту стрелкой вправо по окончании текста в строке, курсор не переносится на сроку вниз, а продолжает перемещаться дальше;
    7. Вы можете устанавливать закладки, т.е. помечать место в тексте при помощи сочетания горячих клавиш и быстро перемещаться между ними;
    8. Также предусмотрены такие функции, как автоподстановка кода по ключевым фразам, автозавершение кода и т.д.

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

    Что касается внешнего вида окна редактора, то в нем, при стандартных параметрах IDE, помимо области редактора кода имеется еще и проводник кода, упрощающего процесс навигации по файлу (рис. 2.8).


    Рис. 2.8. Окно редактора кода с проводником и загруженным файлом новой формы

    Обратите внимание на то, что весь программный код файла main.pas, показанный в этом окне, был создан автоматически, равно как и код для файла проекта - first.dpr. Иначе говоря, всю работу по созданию базовых блоков приложения интегрированная среда Delphi делает за вас.

    Завершая тему окна редактора, отметим, что для того, чтобы загрузить в него какой-либо произвольный файл, следует воспользоваться главным меню (File Open). При открытии проекта файлы открытых форм загружаются в него автоматически, а чтобы загрузить в него иные файл проекта, используйте кнопку View Unit (сочетание горячих клавиш - Ctrl+F12) на инструментальной панели View. Если же требуется загрузить как исходный код, так и саму форму, то воспользуйтесь находящейся по соседству кнопкой View Form (Shift+F12).

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

    Создание приложения командной строки

    Итак, мы уже ознакомились со всеми основными функциями IDE Delphi, и даже создали простейшее приложение для Windows. Однако целью данной части книги является все-таки изучения основы основ - языка Object Pascal. Поэтому для того, чтобы не отвлекаться по ходу его изучения на второстепенные (по отношению к самим языковым конструкциям) детали, рассмотрим вариант создания консольного приложения, т.е. фактически, программы для DOS. Не стоит думать, что это будет шагом назад, или что это давно морально устарело. На самом деле, абсолютно все правила языка действуют совершенно одинаково для любых программ, будь они под DOS, Windows, .NET, или Linux. Вместе с тем, отсутствие необходимости в параллельном изучении специфических для конкретной платформы особенностей (а уж тем более - в параллельном изучении такой обширной библиотеки, как VCL!) существенно упростит нашу задачу. Более того, консольные приложения в типичном случае могут состоять всего лишь из одного единственного файла, что так же упрощает понимание предмета изучения, коим на настоящий момент является сам язык программирования. Ну а после того, как будет выучен язык, применить его для создания полноценных Windows-приложений не составит труда, да и изучение VCL станет легче ввиду того, что будет ясно, что, как и почему в ней устроено.

    После такого небольшого отступления, приступим к созданию первого консольного приложения в среде Delphi. Для этого откройте окно New Items (File New Other) и на закладке New дважды щелкните по значку Console Application. В результате откроется окно редактора с загруженным в него проектом (листинг 2.1).

    Листинг 2.1. Заготовка приложения командной строки

    Program Project1; {$APPTYPE CONSOLE} uses SysUtils; begin { TODO -oUser -cConsole Main: Insert code here } end.

    Первой строкой идет название программы, в данном случае это Project1, затем Delphi вставило для себя указание, что это - приложение для командной строки, после чего следует ключевое слово "uses" и перечисление необходимых дополнительных файлов (sysutils), ну и после этого, со слова begin начинается собственно тело программы. Завершается любая программа в Pascal ключевым словом end с точкой. Между ключевыми словами begin и end, в фигурных скобках, вставлен автоматический комментарий, не влияющий на выполнение программы, так что при желании можно его удалить.

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

    Write(Hello, World!);

    Все! Теперь можно сохранить и скомпилировать нашу программу. Для этого щелкните по кнопке Save или Save All на стандартной панели инструментов, в качестве пути к файлу укажите какой-либо каталог на вашем жестком диске (например, создайте папку HelloWorld на диске C:), а саму программу можно назвать hello. Таким образом, все наше приложение будет сохранено, а исходный код примет вид, показанный в листинге 2.2.

    Листинг 2.2. Программа hello

    Program hello; {$APPTYPE CONSOLE} uses SysUtils; begin write(Hello, World!); end.

    Обратите внимание, что название изменилось автоматически. Теперь остается получить исполняемый (exe) файл, для чего скомпилируем программу, нажав Ctrl+F9. Теперь запустим программу. Поскольку она у нас рассчитана на режим командной строки, то для начала откроем командную строку (Пуск > Все программы > Стандартные > Командная строка в Windows XP, или Пуск > Программы > Стандартные > Сеанс MS-DOS в Windows 98). В командной строке вызовем нашу программу, не забыв указать полный путь к ней. Например, если вы сохранили проект в C:\HelloWorld, а саму программу назвали Hello, то и путь укажите соответствующий, т.е.:

    C:\HelloWorld\hello.exe

    Запустив программу (т.е. введя в командной строке путь и нажав Enter), вы сразу же увидите результат ее выполнения - она выведет фразу "Hello, World!", и завершится. Собственно говоря, именно по этой причине мы сначала открыли командную строку, а лишь затем запустили программу, поскольку непосредственный ее запуск (через Проводник Windows, или прямо из Delphi - по F9), привел бы к тому, что на экране просто мелькнул бы автоматически запущенный сеанс MS-DOS и сразу закрылся бы. Это объясняется тем, что программа завершает свою работу сразу после того, как будет достигнут ее конец, обозначенный как "end.", а это в нашем случае произойдет моментально после вывода текста. Но мы можем изменить такое ее поведение, добавив еще одну сроку кода непосредственно после "write(Hello, World!);", которая будет дожидаться момента, пока пользователь не нажмет клавишу Enter. Выглядеть она будет так:

    Теперь можно запустить наше приложение прямо из среды Delphi, нажав F9. В результате можно будет наблюдать надпись "Hello, World!" на фоне черного окна автоматически запущенного сеанса консоли командной строки до тех пор, пока вы не нажмете Enter.

    Исходный код программы вы найдете в папке Demo\Part1\HelloWorld на прилагаемом компакт-диске (или в архиве

    Интегрированная среда разработки Turbо Dеlphi была разработана компанией CоdeGеar, которая ориентирована на студентов, частных пользователей и начинающих программистов. Данная среда основана на языке программирования Dеlphi. Основным отличием данного программного продукта является бесплатная версия Turbо Dеlphi Explоrer. Интерфейс среды разработки Delphi представлен на рисунок 31.

    Среда Dеlphi - одна из первых систем, использующих технологию быстрой разработки приложений (Rаpid Applicаtion Dеvelopment - RАD) и технологию визуального конструирования (Visuаl Dеsign). Технология визуального конструирования содержит готовые компоненты, из которых строится интерфейс будущей программы .

    Рисунок 31 Интерфейс среды разработки Delphi

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

    Среда разработки Delphi является средой программирования, в которой сочетаются простота и удобство с мощью и гибкостью объектно-ориентированного программирования. Она обеспечивает визуальное проектирование пользовательского интерфейса и уникальные по своей простоте и мощи средства доступа к базам данных, например, с легкостью можно организовать доступ к базе данных Paradox, Access.

    Pаrаdох - одна из редких программ, которые в одинаковой степени обращены к начинающим, и к квалифицированным пользователям. Своим успехом Paradox отчасти обязан способу представления задач работы с БД. Вместо традиционного изображения отдельных полей и записей (как dBаsе и FоxBаsе) на экране видно таблицу - в виде строк и столбцов.

    Несмотря на относительно невысокую общую оценку пользовательских свойств Pаrаdох 7.0, средства помощи в этом пакете реализованы на достаточно хорошем уровне. Новые Эксперты существенно облегчают создание баз данных.

    Эксперт по базам данных (Dаtаbаsе Ехреrt) генерирует все приложение, включая таблицы, формы и отчеты. Если не нужно создавать законченное реляционное приложение или необходимо установить собственные связи между таблицами, можно воспользоваться Экспертом по таблицам (Таblе Ехреrt), предлагающим большой набор шаблонов для использования в деловых и личных целях. В числе других новых полезных средств - Эксперт диаграмм (Сhаrt Еxреrt), Эксперт почтовых отправлений (Маil Меrgе Ехреrt), работающий с редакторами Wоrd и WоrdPеrfесt, и Эксперт импортирования текстовых файлов(Теxt Imроrt Ехреrt) .

    СУБД Miсrоsоft Ассеss является системой управления реляционной базой данных, включающей все необходимые инструментальные средства для создания локальной базы данных, общей базы данных в локальной сети с файловым сервером или создания приложения пользователя, работающего с базой данных на SQL- сервере. Microsoft Access входит в состав MS Оffiсе, что делает его интерфейс знакомым и привычным, а следовательно облегчает работу .

    WinSight и WinSpector интересны преимущественно для опытных программистов в Windows. Это не значит, что начинающий не должен их запускать и экспериментировать с ними по своему усмотрению. Но эти инструменты вторичны и используются для узких технических целей.

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

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

    Инспектор Объектов Dеlрhi состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница - это список свойств, вторая - список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то необходимо делать это в Инспекторе Объектов. К примеру, можно изменить имя и размер компонента TLabel изменяя свойства Caption, Left, Top, Height, и Width.

    К основным особенностям сред разработки Тurbо Dеlрhi относятся: визуальное конструирование программ, использование готовых компонентов-каготовок для будущих программ, поддержка нескольких языков программирования, возможность создания программ под разные платформы, введение множества технологий, ускоряющих и облегчающих написание программ.

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

    Компоненты Delphi являются, по существу, просто специализированными объектами, и их функционирование определяется объектно - ориентированной архитектурой библиотеки визуальных компонентов (Visual Component Library - VCL).

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

    • - средства быстрого и удобного построения программ, в том числе визуального;
    • - встроенные компиляторы и отладчики;
    • - системы коллективной разработки проектов и т.д. .

    Одной из таких RAD-систем является Delphi. Delphi 7 - это объектно-ориентированная среда для визуального проектирования Windows-приложений с развитыми механизмами повторного использования программного кода. Основным конкурентом Delphi является среда разработки Microsoft Visual C++, имеющая свои преимущества и недостатки, однако являющаяся более популярной, в основном, в силу того, что разработана именно фирмой Microsoft.

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

    Таким образом, для создания в Delphi несложных программных продуктов совершенно не обязательно понимать внутреннюю структуру Windows-приложения, получаемого после разработки в Delphi. Достаточно просто уметь работать с некоторыми компонентами, поставляемыми вместе со средой разработчика. При этом начать работу со средой можно практически без предварительного ознакомления, а написание первого приложения не потребует углубления в особенности системы. Этому отчасти способствует удобный интерфейс среды разработчика, не перегруженный излишними вопросами к разработчику.

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

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

    Также Delphi предлагает довольно мощный набор компонентов для работы с базами данных. Причем иерархия компонентов для работы с БД организована таким образом, что практически неважно, какой именно базой данных пользуется приложение - это может быть и локальная БД и промышленный сервер, типа Oracle или MS SQL Server .

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

    Среда разработки Dеlрhi проста и логична. Основные конструкции языка четко выделяются в программе, что способствует хорошему восприятию написанного кода, в отличие от языка Visuаl Bаsiс, где код

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

    Графический интерфейс Dеlрhi отлично продуман, а среда разработки предоставляет доступ только к тем участкам кода, с которыми необходимо работать, скрывая основную часть программы, которая создается автоматически самой средой разработки.

    Среда Dеlрhi легко расширяется установкой дополнительных модулей. Пользовательский интерфейс также хорошо настраиваемый - каждый организует рабочее пространство так, как ему будет удобно.

    Dеlрhi расчитан на работу с операционной системой Windоws. Его все шире используют в коммерческих разработках, благодаря большому набору полностью готовых для работы специальных компонентов.

    В связи с этим для разработки системы массового обслуживания «Перекресток» была выбрана среда программирования Dеlрhi.

    Для полного представления возможностей среды программирования Dеlрhi рассмотрим элементы и функциональные возможности первой страницы Палитры Компонент, рисунок 32.

    Рисунок 32 Палитра Компонент Additional

    На первой странице Палитры Компонент размещены 14 объектов определенно важных для использования. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т.д. Все эти объекты такая же часть Windows, как мышь или окно.

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