1154

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

Курсовая

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

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

Русский

2013-01-06

436.5 KB

150 чел.

Реферат

Отчет состоит из    страниц,     рисунков,     таблиц и 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


 

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

29778. Назначение, ТТХ и состав (по общей схеме) телефонного коммутатора П-194М 149 KB
  Основные ТТХ П194М Число абонентских линий: П194М рассчитан на включение 40 абонентских линий в том числе: 3 соединительных линий линий № 3840 к станциям ЦБ или АТС; 10 соединительных линий линий № 1120 к радиостанциям УКВ с дистанционным управлением; 20 соединительных линий линий к КОА ДС с возможностью включения и выключения удлинителей. На вертикальной лицевой панели коммутатора размещены: пять вертикальных плат с 40 абонентскими комплектами; платы с гнездами для циркулярных соединений; ключи комплектов...
29779. Цепи вызова абонентом и опроса вызывающего абонента П-194М по принципиальной схеме 49 KB
  Вопрос 1. Цепи вызова абонентом и опроса вызывающего абонента П-194М по принципиальной схеме. Назначение и основные ТТХ радиорелейной станции Р-409МА. Состав ВЧ оборудования Р-409МА, назначение блоков. Опрос абонента коммутатора П-194М.
29780. Цепь прохождения разговора между двумя абонентами П-194М по принципиальной схеме 474 KB
  2: При работе станции в поддиапазоне А частоты возбудителя лежат в пределах 60120 мГц а в поддиапазонах Б и В – в пределах 6011199 мГц. В сменных блоках передатчиков обеспечивается или только усиление А или усиление и умножение частоты колебаний возбудителя Б В. Отличие заключается лишь в том что в приемниках поддиапазонов Б и В дополнительно применено соответственно удвоение и учетверение частоты первого гетеродина блока Б2 общего для трех поддиапазонов станции. Как видно из рисунков в приемниках применено двойное...
29781. Цепь посылки вызова абонента АТС по СЛ с коммутатора П-194М по принципиальной схеме 354 KB
  Для обеспечения диапазонной кварцевой стабилизации частоты в возбудителе применена частотная автоматическая подстройка частоты генератора плавного диапазона по эталонному кварцевому калибратору источнику сетки опорных частот. Структурная схема возбудителя по назначению и принципу работы может быть разделена на три части: Тракт высокой частоты состоящий из генератора плавного диапазона частотного модулятора с компенсирующим усилителем и усилителя высокой частоты т. устройств обеспечивающих генерирование усиление и частотную...
29782. Цепь дистанционного управления радиостанцией П-194М по принципиальной схеме 77.5 KB
  После ответа требуемого абонента телефонист переводит ключ ОВ в среднее положение. При этом абоненты остаются соединенными шнуровой парой коммутатора, а приборы рабочего места от цепи разговора отключаются. Разговорные токи между абонентскими телефонными аппаратами пройдут по цепи
29783. Назначение и принцип работы источников вызова П-194М по принципиальной схеме 82 KB
  Назначение и принцип работы источников вызова П194М по принципиальной схеме. Источники вызова их назначение и принцип работы. Вызывные приборы рабочего места телефониста предназначены для посылки вызова абоненту. Вызывной трансформатор служит для понижения напряжения сети переменного тока 127 220 В до напряжения 80В используемого для посылки вызова абоненту.
29784. Назначение и ТТХ линейного телеграфного коммутатора П-190(192) 63.5 KB
  Назначение и ТТХ линейного телеграфного коммутатора П190192. Назначение состав и основные тактикотехнические характеристики коммутатора П190. НАЗНАЧЕНИЕ Комплект линейнотелеграфного коммутатора П190 предназначен для оборудования линейнотелеграфных кроссов и аппаратных а также для каблирования вводов узлов связи. Комплект коммутатора предназначен для работы в диапазоне температур окружающего воздуха от 0 до f50C также при относительной влажности воздуха не выше 95 о и температуре 25С.
29785. Классификация полевых кабелей связи. Конструкция и маркировка кабелей 63.5 KB
  Полевые кабели связи. Современные кабели связи классифицируются по ряду признаков в зависимости от назначения и области применения условий прокладки и эксплуатации спектра передаваемых частот конструкции материала и формы изоляции системы скрутки рода защитных покровов. В первую очередь кабели связи подразделяются на две основные группы: полевые и стационарные. Стационарные кабели предназначены для продолжительной службы; они обладают высокими и стабильными электрическими характеристиками и большой дальностью связи.
29786. Назначение, конструкция и ТТХ легкого полевого кабеля П-274М (внутриузлового кабеля ПТРК-5х2, кабеля дальней связи П-296М) 647 KB
  Назначение конструкция и ТТХ легкого полевого кабеля П274М внутриузлового кабеля ПТРК5х2 кабеля дальней связи П296М. Стальные проволоки выполняют роль грузонесущего элемента и обеспечивают необходимую прочность кабеля на разрыве. № п п Характеристика Кабель П274М П2 П268 П4 1 Емкость кабеля число пар 1 1 1 2 2 Наружный диаметр изолированной ТПЖ не более мм 23 17 34 22 3 Наружный диаметр оболочки кабеля мм 40 1 73 4 Прочность на разрыв кг 80 80 130 150 5 Строительная длина м на ТК2 П280М1 барабане типа Б...