1 интегрированная среда разработки delphi 7. Прочие элементы интерфейса. Методология создания приложений учебного назначения


Отчёт к практической работе содержит 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. Основания для разработки, ее назначение, предъявляемые требования, стадии разработки. Описание схемы основного модуля, процедур, программы. Используемые технические и программные средства.

Для подтверждения факта преемственности используемой терминологии на рис 1.2 показан общий вид интегрированной среды разработки (IDE - Integrated Development Environment) Delphi. На этом рисунке отмечены все основные компоненты среды раз работки: главное окно (Main Window), палитра компонентов (Component Palette), пане ли инструментов (toolbars), окно конструктора форм (Form Designer), окно редактора кода (Code Editor), окно инспектора объектов (Object Inspector), дерево объектов (Object TreeView) и проводник структуры кода (Code Explorer).

Главное окно

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

Главное меню

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

Панели инструментов Delphi

Панели инструментов предоставляют доступ к различным функциям главного ме ню IDE с помощью единственного щелчка на соответствующей кнопке. Обратите внимание, что для каждой кнопки панели инструментов предусмотрен вывод под сказки, содержащей описание ее назначения. Не считая палитры компонентов, в IDE Delphi имеется пять отдельных панелей инструментов: Debug (Отладка), Desktop (Рабочий стол), Standard (Стандартная), View (Вид) и Custom (Пользовательская). На рис. 1.2 показана конфигурация кнопок этих панелей, принимаемая по умолчанию. Но любую из кнопок можно удалить или добавить, выбрав в меню View пунктыToolbars, Customize. На рис. 1.3 показано диалоговое окно Customize, предназначен ное для настройки панелей инструментов. Чтобы добавить новую кнопку на любую панель инструментов, достаточно просто перетащить ее из этого окна. Для удаления кнопки достаточно перетащить ее за пределы панели инструментов.

Панели инструментов Дерево объектов Главное окно Окно конструктора форм

Палитра компонентов Окно инспектора объектов Проводник структуры кода

Окно редактора кодаРис. 1.2. Общий вид интегрированной среды разработки (IDE) Delphi 6

Рис. 1.4. Плавающие панели инструментов

Палитра компонентов

Палитра компонентов представляет собой панель инструментов удвоенной высо ты, содержащей несколько вкладок, в которых находятся все установленные в среде IDE компоненты VCL и ActiveX. Порядок следования и вид вкладок и компонентов может быть настроен с помощью щелчка правой кнопкой мыши на интересующем объекте или в главном меню (пункты Component, Configure Palette).

Конструктор форм

При запуске конструктор форм (Form Designer) представляет собой пустую панель, готовую к превращению в окно приложения Windows. Его можно рассматривать как холст художника, предназначенный для создания графического интерфейса будущего приложения - здесь определяется, как оно будет выглядеть с точки зрения пользовате ля. Процесс создания заключается в выборе компонентов на палитре и перетаскивании их в форму. Точное размещение и установку размеров компонентов также можно вы полнить с помощью мыши. Кроме того, существует возможность управлять внешним видом и поведением компонентов из окон Object Inspector и Code Editor.

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

В окне Object Inspector можно изменять свойства компонентов формы или опреде лять события, на которые будет реагировать сама форма или ее компоненты. Свойства (properties) представляют собой данные, определяющие, как объект выглядит на экра не, - размер, цвет, шрифт и т.д. События (events) - это участки кода, выполняемые в от вет на некоторые действия, происходящие в приложении. Примером события может служить поступление сообщения от мыши или передача сообщения окну с требованием его перерисовки. В окне Object Inspector для переключения между работой с событиями и работой со свойствами используется стандартная технология вкладок (notebook tab) - для перехода в ту или иную вкладку достаточно щелкнуть на ее корешке. Инспектор по казывает события и свойства, относящиеся к той форме или компоненту, который ак тивен в конструкторе форм в настоящее время.

Одной из возможностей Delphi является способность упорядочивать содержимое окна Object Inspector либо по категории, либо по именам (в алфавитном порядке). Дляэтого достаточно щелкнуть правой кнопкой мыши в любом месте окна Object Inspector и выбрать в раскрывшемся контекстном меню пункт Arrange (Выстроить). На рис. 1.5 показаны два расположенных рядом окна Object Inspector. В левом окне объекты упорядочены по категории, а в правом - по именам. Кроме того, с помощью пункта View этого же контекстного меню можно определить, какие именно категории объектов необходимо представить в данный момент.

Одним из наиболее ценных источников знаний, которым должен уметь пользо

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

Редактор кода

Рис. 1.5. Представление содержимого

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

Можно работать сразу с несколькими окнами Code Editor. Чтобы открыть новое окно ре-

дактора кода, необходимо выбрать в главном меню View пункт New Edit Window.

Визуальная среда программирования Delphi . Среда программирования Delphi состоит из множества визуальных и невизуальных стандартных компонент, которые позволяют существенно ускорит процесс разработки программ. Будем рассматривать одну из самых популярных версий Delphi 7. Рабочее окно программы состоит из пяти вспомогательных окон (рис.3.1.): главное окно (1), окно списка модулей (2), окно кода программы (3), окно формы проекта (4), инспектор объектов (5), окно списка объектов (6).

Рис. 3.1. Рабочее окно Delphi7.

Главное окно состоит из строки меню, панели инструментов и палитры компонентов. Палитра компонентов состоит из 14 страниц (Standard, Additional, Win32, System и др.). Для перемещения компонента на форму необходимо сначала щелкнуть по компоненту, а потом по форме.

Окно списка модулей содержит список всех подключенных к программе модулей.

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

Окно формы – это Windows-окно создаваемой программы: меню, размеры окна, заголовки, рамки и любые стандартные компоненты. При работе созданной программы пользователь видит только форму.

Инспектор объектов содержит две страницы: Properties (свойства) и Events (события). На странице свойств отражаются все характеристики выбранного объекта. На странице событий отображаются все возможные действия с объектом.

Окно списка объектов содержит список всех размещенных на форме компонентов.

Структура программы в среде Delphi . Программа на любом языке программирования имеет стандартную структуру: <заголовок программы> <тело программы>. Заголовок программы в среде Delphi содержит имя модуля основной программы и область определения всех стандартных и нестандартных программ-модулей, которые используется средой для организации исполнения программы. Рассмотрим разделы шаблона программы в среде.

Заголовок всегда начинается со слова unit . Стандартное имя программы Unit1. Для изменения имени программы достаточно сохранить программу под новым именем.

Раздел interface начинается с перечисления в предложении uses стандартных модулей. Например, модуль SysUtils разработан для использования в языке всех стандартных функций. Среда Delphi автоматически вставляет в шаблон разрабатываемой программы список необходимых модулей. Но есть модули, которые необходимо пользователю вписать вручную. Далее в разделе interface под заголовком type объявляются все создаваемые в программе типе данных. Здесь под заголовком private объявляются переменные, доступные только в этом модуле, а под заголовком public – доступные во всех модулях программы. Шаблон пустой программы в среде Delphi представлен на рисунке 3.2.

Рис. 3.2. Шаблон пустой программы в Delphi7

Объявление типов заканчивается тогда, когда появляется в программе заголовок следующего раздела. В приведенном примере это ключевое слово var. В этом разделе будут объявлены все переменные по определенным в программе типам данных. В приведенном шаблоне есть только одна переменная Form1, которая является объектом объявленного класса TForm1. Со строки unit до слова implementation находится заголовок программы. После этого слова располагаются описания всех действий в программе. Первое обязательное действие – это директива $R, обеспечивающая объединение модуля формы и модуля программы в один проект – программу. Конец текста программы-модуля определяется словом end с точкой.

Среда Delphi создает программу из нескольких файлов, которые обеспечивают настройку проекта на среду, установку параметров компилятора и другие файлы. Самый большой по размеру файл – это файл с расширением exe, который и является готовой программой. Рабочими файлами являются файлы с расширениями dpr и pas. В файле с расширением cfg обеспечивается настройка опций проекта. Файл с расширением dof обеспечивает установку параметров компилятора. Файл с расширением res определяется как файл ресурсов. Он содержит и стандартную иконку проекта, которую разработчик может заменить. Файл с расширением dcu – это оттранслированный файл модуля. Если модулей несколько, то они будут объединены в единый проект. Файл с расширением dfm содержит характеристики всех стандартных компонент формы.

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

Для записи целых чисел используются те же (плюс добавляются некоторые свои) типы данных, что и на языке Turbo Pascal 7.0., но только с другими диапазонами значений (табл. 3.29.).

Целый тип данных

Диапазон значений

Размер в байтах

2147483648…2147483647

Соответствует типу integer

2 63 …2 63 – 1

Соответсвует типу cardinal

Таблица 3.29. Целые типы данных в Delphi7.

Часто при создании программ необходимо перевести число в строку или наоборот. Для этого существуют функции: StrToInt(s) и IntToStr(x), первая из которых переводит строку s в число, вторая – число х в строку.

Вещественные (действительные) числа характеризуются наличием десятичной запятой в записи числа. Запись таких чисел обеспечивается с некоторой точностью, определяющей количество разрядов в экспоненциальной записи числа. В Delphi 7 используются 6 вещественных типов (таблица 3.30.).

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

тип данных

Максимальное значение

Количество цифр

Размер в байтах

9223337203685477.5807

Таблица 3.30. Вещественные типы данных в Delphi7.

Наибольшая производительность обеспеченна для типа real. Для переводов вещественного числа в строку и наоборот существуют функции StrToFloat(s) и FloatToStr(x).

Логический тип данных так же как и в Turbo Pascal 7.0. содержит две переменные: true (истина) и false (ложь). Использование логических переменных позволяет существенно улучшит алгоритм решения задач за счет контроля некоторых особых вариантов решения задачи.

Строковый (string) и символьный (char) типы данных в Delphi 7 аналогичны этим же типам в Turbo Pascal 7.0. Существуют еще 3 строковых типа данных (Shortstring,Ansistring,Widestring), которые отличаются длинной и используются, как правило, для совместимости с другими версиями.

Тип дата-время (TDateTime) введен для удобства пользователя. При этом дата и время могут быть записаны в нескольких формах.

Константы и массивы записываются аналогично записи в Turbo Pascal 7.0.

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

Вопросы для размышления:

1. На каком языке пишутся программы в среде Delphi 7?

2. Из каких частей состоит рабочее окно программы Delphi 7?

3. Из скольких файлов создается программа в Delphi 7?

4. Какие существуют типы данных в Delphi 7?

5. Чем могут отличаться одноименные типы данных в Turbo Pascal 7.0. и Delphi 7?

СРЕДА 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), который содержит откомпилированный код модуля. Этот файл можно удалить из каталога, в котором находятся все файлы проекта.

Интегрированная среда разработки 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 перечислены ниже с некоторыми комментариями по их применению. При изучении данных компонент было бы полезно иметь под рукой компьютер с тем, чтобы посмотреть, как они работают и как ими манипулировать.