1154

Изучение основных принципов языка Delphi и C++

Курсовая

Информатика, кибернетика и программирование

Разработка приложений с графическим интерфейсом пользователя. Изучение принципов процедурного программирования. Сравнение языков С++ и Delphi. Объявление класса и инкапсуляция, наследование. Графическая среда Delphi. Сравнение графических оболочек и текстовых редакторов Visual Studio и Delphi 7.

Русский

2013-01-06

436.5 KB

162 чел.

Реферат

Отчет состоит из    страниц,     рисунков,     таблиц и 8 приложений.

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

Инкапсуляция, Полиморфизм, Наследование, Класс, Delphi, Borland, C++ Builder, Рекурсия, Файлы прямого доступа.


Содержание

ВВЕДЕНИЕ           4

1 Сравнение языков С++ и Delphi      5

1.1 Синтаксис           5

1.2 Объявление переменных         6

1.3 Различия в работе со строками        7

1.4 Различия в работе с типами данных       7

1.4.1 Стандартные типы данных        7

1.4.2 Структуры           8

1.4.3 Указатели           8

1.4.4 Работа с фалами          9

1.4.5 Объявление класса и инкапсуляция, наследование      10

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

2.1 Borland Delphi 7          11

2.1.1 Графическая среда Delphi 7        11

2.1.2 Текстовый редактор Delphi 7        13

2.2 Microsoft Visual Studio         14

2.2.1 Графическая среда Visual Studio       14

2.2.2 Текстовый редактор Visual Studio       15

2.3 Сравнение графических оболочек и текстовых редакторов Visual Studio и Delphi 7            16

3 ПРОЦЕСС КОМПИЛЯЦИИ        17

4 СПОСОБЫ НАСТРОЙКИ СРЕДЫ       18

ВЫВОДЫ            19

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


Введение

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

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

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

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

1 Сравнение языков С++ и Delphi

1.1 Синтаксис

Таблица 1.1 – Различия в синтаксисе

Семантика

C++

Delphi

Комментарии

/* … */

{ … } или (*…*)

Включение внешних исходных файлов

#include <iostream>

uses system

Описание функции

int Abs(int a);

function Abs(a: integer) : integer;

Блоки кода

{ … }

begin … end;

Отрицание тождественного равенства

a!=b или !(a=b)

not(a=b) или a<>b

Приоритет логических операций

Операции сравнения, затем конъюнкция, затем дизъюнкция

Конъюнкция, дизъюнкция, затем операции сравнения

Условный оператор

if(temp==0)

if temp=0 then

Оператор присваивания

=

:=

Оператор сравнения

==

=

Инкремент и декремент

j--;

i++;

Dec(j);

Inc(i);

Возврат значения из функции

return a;

Result := a;

Нулевой терминатор

\0

#0

Константные строки

“Результат поиска”

'Результат поиска'


Продолжение таблицы 1.1

Оператор проверки принадлежности элемента заданной последовательности

нет

a in [‘2’,’3’,’4’]

Цикл с известным числом итераций

for(i=0; i< Memo1.Lines.Count-1; i++)

for i:=0 to Memo1.Lines.Count-1 do

Цикл с неизвестным числом итераций

while(Str[i]!=’\0’)

while(not(Str[i]=#0)) do

Начало программы

Не регламентировано. Зачастую директивы препроцессора.

unit Unit1;

Завершение программы

Обычное закрытие блоков

end.

Инкапсуляция частей файла исходного кода

нет

interface

implementation

1.2 Объявление переменных

Таблица 1.2 – Различия в объявлении переменных

Семантика

C++

Delphi

Объявление переменной

int a;

a: integer;

Место объявления

любая строка кода

В начале программы (как глобальная переменная) или внутри объявления функции или процедуры, но перед её телом (раздел var).

1.3 Различия в работе со строками

Важное различие в том, что в С++ строки нумеруются с 0, а в Delphi с 1.

Это связанно с тем, что в нулевом элементе строки в Delphi хранится длина этой строки.

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

Таблица 1.3 – Различия в работе со строками.

Семантика

C++

Delphi

Нахождение длины строки

std::str.length();

или strlen(str) – для char*

Length(str);

Преобразование целого числа в строку

sprintf(str, “%d”, temp.sq60);

str = IntToStr(temp.sq60);

Преобразования строки в целое число

sscanf(str, “%d”, temp.sq67);

temp.sq67 =StrToFloat(str);

1.4 Различия в работе с типами данных

1.4.1 Стандартные типы данных

D С++ и в Delphi существуют массивы как одномерные, так и многомерные. Первое, и пожалуй самое важное отличие состоит в том, что в С++ нумерация начинается строго с нуля, а Delphi начинается с номера указанного при объявлении.  Различия в работе с массивами представлены на таблице 1.4.

Таблица 1.4 – Различия в работе с массивами

Семантика

C++

Delphi

Объявление одномерного массива

int a[4];

a: array[0..3] of Integer;

Объявление матрицы

int vertex[2][3];

vertex : array [0..1,0..2] of integer;

Инициализация массива

Поэлементно и целиком в любо месте программы.

Поэлементно –любые, а целиком только глобальные.

1.4.2 Структуры

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

Таблица 1.5 – Различия в работе со структурами данных

Семантика

C++

Delphi

Объявление структуры

struct tabl

{ … };

type tabl = record

end;

Обращение к элементу структуры

temp.sq60

temp.sq60

1.4.3 Указатели

Оба языка позволяют создавать указатели на какой-то тип данных. Ссылки есть в С++, но их нет в Delphi.

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

Существует два назначения указателей.

– удобное редактирование значений переменных не занимая при этом лишнюю память;

– возможность создания больших объектов во время выполнения программы, то есть использование динамической памяти.

Второе назначение больше применимо при создании динамических структур данных или при работе с объектами собственных классов (реализация полиморфизма).

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

Таблица 1.6 – Различия в работе с указателями.

Семантика

C++

Delphi

Создание синонима типа данных

typedef  Pque *que;

type Pque = ^que;

Объявление указателя

que *list1;

list1: ^que

Разыменование указателя

*temp

^temp

Нулевой адрес

Null или 0

nil

1.4.4 Работа с фалами

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

Таблица 1.7 – Различия в работе с файлами прямого доступа

Семантика

C++

Delphi

Обращение к элементу структуры

temp.sq60

temp.sq60

Ассоциация с файловой переменной с файлом

f=fopen(‘file_name’,…)

Assign(f,’file_name’)

Открытие на чтение

f=fopen(‘file_name’,r)

Assign(f,’file_name’)

Reset(f)

Открытие на запись

f=fopen(‘file_name’,w)

Assign(f,’file_name’)

Rewrite(f)


1.4.5 Объявление класса и инкапсуляция, наследование

Таблица 1.8 – Различия в объявлении класса

Семантика

C++

Delphi

Вызов конструктора

при определении объекта

вызывается явно

Части класса

private, protected,

public

private, protected,

public, published

Указание наследника класса

class Point: private TObject {…}

Point=class(TObject)

Указание области видимости

ClassName::Some_function

ClassName.Some_function


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

Для написания индивидуальных работ в течении практики были использованы:Embarcadero Borland C++ Builder 2010 и Borland Delphi 7.0 с плагином cnPack 0.9.6. В течении учебного года для написания лабораторных работ по дисциплине Объектно-ориентированное программирование был использован Microsoft Visual Studio 2010. Среды разработки Borland C++ Builder 2010 и Borland Delphi 7.0 почти неразличимы по оболочке, поэтому целесообразно сравнивать Borland Delphi и Microsoft Visual Studio.

2.1 Borland Delphi 7

Embarcadero Delphi, ранее Borland Delphi и CodeGear Delphi, — интегрированная среда разработки ПО для Microsoft Windows на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Embarcadero Delphi является частью пакета Embarcadero RAD Studio [1].

Во время выполнения индувидульных работ использовалась среда Borland Delphi 7.0 (далее Delphi 7) с плагином CnPack версии  0.9.6.

2.1.1 Графическая среда Delphi 7

Среда Delphi 7 представлена на рисунке 2.1

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

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

Рисунок 2.1 – Среда разработки Delphi 7

Графическая среда расширяется дополнительными панелями. Любую из панелей можно объединить в новую вкладку или убрать при необходимости. Это позволяет гибко настраивать рабочую среду под собственные нужды. Список панелей представлен на рисунке 2.2.

Рисунок 2.2 – Панели в среде Delphi 7

2.1.2 Текстовый редактор Delphi 7

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

Плагин CnPack значительно расширяет возможности текстового редактора:

- новый IntelliSense, который позволяет быстро вставлять конструкции языка, такие как блок кода.

- подсветка блоков разными цветами по глубине вложенности

- подсветка закрывающей для выбранной открывающей скобки и наоборот;

- вывод прототипов функций стандартных библиотек;

- проверка кода во время написания программы.


2.2 Microsoft Visual Studio

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight. [2]

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов цикла разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server). Для данного продукта также существует немало плагинов подобных  cnPack.[2]

За пример в сравнении берётся Microsoft Visual Studio 2010 Ultimate (далее Visual Studio).

2.2.1 Графическая среда Visual Studio

Среда Visual Studio представлена на рисунке 2.3

Рисунок 2.3 – Среда разработки Visual Studio

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

2.2.2 Текстовый редактор Visual Studio

В стандартную комплектацию редактора кода Visual Studio входят такие основные инструменты и надстройки:

- IntelliSense;

- подсветка закрывающей для выбранной открывающей скобки и наоборот;

- подсветка комментариев, зарезервированных слов, строковых констант;

- вывод всплывающих подсказок с прототипами функций.

2.3 Сравнение графических оболочек и

текстовых редакторов Visual Studio и Delphi 7

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

Однако стоит также отметить, что скорость запуска Delphi 7 значительно выше, чем у Visual Studio.


3 Процесс компиляции

Разница в процессе компиляции и отладки Visual Studio и Delphi 7 приведена в таблице 3.1.

Таблица 3.1 – Сравнение VS и Delphi 7 в компиляции и отладке

Свойство

Visual Studio

Delphi 7

Удаление неиспользуемых переменных Linker’ом

нет

да

Создание Release и Debug версий

да

нет

Наличие break-point’ов

да

да

Пошаговый проход

да

да

Возврат вверх по коду во время отладки

да

да

Изменение кода во время отладки

да

да

Завершение работы приложение при исключительном событии

да

нет

Оптимизация приложения

да

да

Раздельная компиляция

да

нет

Скорость выполнения приложения

высокая

средняя

Автоматическое сохранение проекта

да

нет


4 Способы настройки среды

Обе среды позволяют пользователю вносить изменения в расположение, состав и размеры окон и панелей.

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


ВыводЫ

В ходе практики была изучены среды разработки Borland Delphi и C++ Builder. Были выявлены основные отличия и сходства в синтаксисе и графическим проектированием приложений относительно Visual Studio C++.

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

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


Список литературы

1. Культин Н. Основы программирования в Delphi XE. — C.: «БХВ-Петербург», 2011. — С. 416. — ISBN 978-5-9775-0683-0

2. Майо Д. Самоучитель Microsoft Visual Studio 2010 = Microsoft Visual Studio 2010: A Beginner's Guide (A Beginners Guide). — C.: «БХВ-Петербург», 2010. — С. 464. — ISBN 978-5-9775-0609-0


 

А также другие работы, которые могут Вас заинтересовать

40318. Трудовая экспертиза 31.5 KB
  Так I группа инвалидности устанавливается при наличии социальной недостаточности требующей социальной защиты и помощи вследствие нарушения здоровья со стойким значительно выраженным расстройством функций организма обусловленным заболеванием последствием травм и дефектами приводящими к резко выраженному ограничению одной из следующих категорий жизнедеятельности или их сочетанию: способности к самообслуживанию III степени; способности к передвижению III степени; способности к ориентации III степени; способности к общению III...
40319. Основные группы олигофрении 50.5 KB
  Большинство исследователей дают цифры распространенности олигофрении в популяции от 02 до 3. Основные группы олигофрении 1. Недифференцированные формы с невыясненной этиологией составляют 65 всех случаев олигофрении. Большая часть олигофрении обусловлена поражением мозга во внутриутробном периоде.
40320. Цикотимия, дистимия 28.5 KB
  Возможны особенно на начальных этапах заболевания ипохондрические и соматизированные циклотимические фазы по типу маскированных депрессий. Дебют заболевания обычно приходится на зрелый возраст но аффективные расстройства могут впервые появляться как в юности так и в позднем возрасте. Аффективные фазы как правило разделены ремиссиями сопровождающимися на первых этапах заболевания полной редукцией психопатологических расстройств интермиссии. В некоторых случаях прослеживается сезонность чаще весенние и осенние обострения заболевания.
40321. Чмт в остром периоде 36 KB
  Сразу вслед за получением травмы у детей развивается угнетение сознания вплоть до комы которая может длиться 30 сут и более а последующий вегетативный статус до 180 дней. Не всегда соблюдается описанная для взрослых последовательность стадий восстановления сознания: понимание речи может проявиться до открывания глаз и фиксации взора. Синдромы помрачения сознания более элементарны и в их структуре часто отмечаются различные виды возбуждения: двигательное у детей до 3 лет громкий плач повторение отдельных слов в 4 7летнем возрасте...
40322. ШИЗОФРЕНИЯ 35.5 KB
  Больные становятся неряшливыми нечистоплотными. Прежде всего страдает логическая связь между мыслями больные склонны к символизму неологизмам резонерству бесплодным рассуждениям. Начинается с того что больные забрасывают все свои дела ни за что не могут приняться никак не могут собраться чтонибудь делать. в тяжелых случаях больные не моются испражняются где попало мочатся под себя целые дни валяются или сидят в одной позе.
40323. Экзогенные психиатрические заболевания 33.5 KB
  Сифилитическая этиология прогрессивного паралича доказана обнаружением бледных трепонем в мозге больных. Патогенез прогрессивного паралича как и других форм нейросифилиса во многом еще не выяснен. но решающее значение указанных факторов для развития прогрессивного паралича не подтвердилось. Разнообразные клинические в частности психопатологические проявления прогрессивного паралича группируются обычно по стадиям заболевания в которых они наблюдаются и отдельным клиническим формам.
40324. ЭМОЦИОНАЛЬНЫЕ РАССТРОЙСТВА 28 KB
  астенический аффект быстро истощающееся угнетенное настроение снижение психической активности и тонуса 3. Настроение более или менее продолжительное эмоциональное состояние. Гипертимия повышенное веселое радостное настроение сопровождающееся приливом бодрости хорошим физическим самочувствием переоценкой собсвенных возможностей. Эйфория пассивное благодушное беспечное беззаботное настроение переживание полного удовлетворения своим состоянием.
40325. ЭПИЛЕПСИЯ 40.5 KB
  Следует регулярно контролировать состояние кожи лимфатических узлов печени селезенки исследовать неврологический статус речь состояние сознания темп психических процессов каждые 3 6 мес следует делать анализы крови мочи выполнять ЭЭГ не реже одного раза в полгода Вальпроаты ламотриджин карбомазепин. Среди них значительное место занимают пароксизмально возникающие сумеречные расстройства сознания способные сопровождаться как сравнительно простыми действиями больных так и сложными состояниями с внешне целесообразными действиями...
40326. Эпилептический статус 25.5 KB
  Постоянно повторяющиеся припадки вызывают нарушение ликвородинамики вторичную гипертермию нарастающий отек мозга с нарушением дыхания и сердечной деятельности. Гипотермия мозга и гемосорбция.