Выбор среды разработки Delphi. Описание среды Delphi

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

Для подтверждения факта преемственности используемой терминологии на рис 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. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые можно создать.

Рис. Среда разработки визуальных приложений

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

Delphi обеспечивает исчерпывающую библиотеку классов - Визуальную Компонентную Библиотеку (VCL), Библиотека Borland Component (CLX), и блок Быстрой разработки (RAD) инструментальные средства, включая приложение и шаблоны форм, и мастера. Delphi объектно-ориентированное программирование.

Из нестандартных улучшений Borland, внесенных в объектный Pascal надо отметить свойства (Properties) и перезагружаемость процедур и функций (Overloading).

Достоинством Delphi является простота, скорость и эффективность. Delphi имеет самый быстрый из всех компилятор. Другим достоинством является простота изучения Object-Pascal. Библиотека VCL позволяет программировать и в среде Windoows API. Модель программирования в Delphi компонентная, что позволяет использовать множество уже созданных компонент, создавать свои и использовать дополнительные чужие. К достоинствам можно отнести достаточно быстрый браузер классов и мгновенный вывод подсказки авто завершения кода.

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

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

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

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

Visual Componentes Librares (VCL) - это иерархия из 270 базовых классов. построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE

Borland Database Engine (BDE) - препроцессор операционной системы обеспечивает доступ к объектам БД в Delphi, основанным на SQL: Oracle, Sybase, Informix и InterBase, файлам формата. dbf, или. db (Paradox) или. mdb (Access).

Уникальные возможности Delphi состоят в том, что разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help"ы, доступные через меню Delphi.

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

Инспектор объектов представляет из себя отдельное окно, где можно в период проектирования программы устанавливать значения свойств и событий объектов (Properties & Events).

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

Основа Object Pascal это механизм Run-Time Туре Information (RTTI), т.е. информации о типах на этапе выполнения программы и свойств объектных типов - классов, с понятием свойства (property); а также обработки исключительных ситуаций (exception handling).

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

Основные файлы проекта Delphi это PROJECT1. DPR, UNIT1. PAS, UNIT1. DFM - сведения о форме,PROJECT1. RES содержит иконку для проекта, PROJECT1. OPT по умолчанию, является текстовым файлом для сохранения установок, связанных с данным проектом, После компиляции программы получаются файлы с расширениями: DCU - скомпилированные модули, EXE - исполняемый файл. Установки Editor Options сохраняются в файле DELPHI. INI, который находится в директории Windows.

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

Предупреждения и подсказки появляются при обнаружении в программе неточностей, которые не являются ошибками, компилятор выводит подсказки (Hints) и предупреждения (warnings).

Ошибки времени выполнения (run-timeerrors) или исключения (exceptions).

Страница настроек Линкера Options позволяет произвести выбор установок, которые напрямую влияют на текущий проект, это могут быть, к примеру, директивы компилятора проверки стека (stack checking) или диапазона (rangechecking).

Страница настроек Directories/Conditionals Options дает возможность расширить число директорий, в которых компилятор и линковщик ищут DCU файлы.

Страница настроек Editor Options позволяет настроить тонкие детали работы Редактора.

Страницы настроек EditorOptions, EditorDisplay и EditorColors позволяют изменить цвета и "горячие" клавиши, используемые IDE.

Пять основных окон ООП среды программирования Delphi:

дизайнер Форм (Form Designer);

окно Редактора Исходного Текста (Editor Window);

палитра Компонент (Component Palette);

инспектор Объектов (Object Inspector);

справочник (On-line help).

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

Основные компоненты Delphi:

Компонент Edit. Text позволяет производить чтение текста из окна Edit

Компонент TCheckBox отображает строку текста с маленьким окошком рядом.

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

Компонент TListBox нужен для показа прокручиваемого списка.

Компонент TStringGrid служит для представления текстовых данных в виде таблицы.

Компонент TMainMenu позволяет поместить главное меню в программу.

Компонент TPopupMenu позволяет создавать всплывающие меню.

Компонент TBitBtn представляет кнопку, на которой можно разместить картинку.

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

Компонент TImage отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу.

Компонент TShape служит для отображения простейших графических объектов на форме: окружность, квадрат и т.п.

Диалоги Windows организуются компонентами диалога: OpenDialog - выбрать файл, SaveDialog - сохранить файл, FontDialog - настроить шрифт, ColorDialog - выбор цвета, PrintDialog - печать, PrinterSetupDialog - настройка принтера.

Компонент страницы System - TTimer это таймер, событие OnTimer периодически вызывается через промежуток времени, указанный в свойстве Interval. Период времени может составлять от 1 до 65535 мс.

Компонент страницы System - TFileListBox это специализированный ListBox, в котором отображаются файлы из указанной директории (св-во Directory).

Компонент страницы System - TDirectoryListBox это специализированный ListBox, в котором отображается структура директорий текущего диска. В св-ве FileList можно указать TFileListBox, который будет автоматически отслеживать переход в другую директорию.

Компонент страницы System - TDriveComboBox это специализированный ComboBox для выбора текущего диска. Имеет свойство DirList, в котором можно указать TDirectoryListBox, который будет отслеживать переход на другой диск.

Компонент страницы System - TMediaPlayer служит для управления мултимедйными устройствами (типа CD-ROM,MIDI и т.п.). Выполнен в виде панели управления с кнопками Play, Stop, Record и др.

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

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

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

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

1. Проверяет текст исходной программы на отсутствие синтаксических ошибок.

2. Создает (генерирует) исполняемую программу - машинный код.

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

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

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

Shortint - 128-127 8 битов

Smallint - 32 768 - 32 767 16 битов

Longint - 2 147 483 648 - 2 147 483 647 32 бита

Int64 - 263 - 263 - 1 64 бита

Byte 0-255 8 битов, беззнаковый

Word 0-65 535 16 бит, беззнаковый

Longword 0 - 4 294 967 295 32 бит беззнаковый

универсальный целый тип - Integer

универсальный вещественный тип - Real

тип Ansichar - это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255;

типwidechar - это символы в кодировкеUnicode, им соответствуют числа от 0 до 65 535.

ObjectPascal поддерживает и наиболее универсальный символьный тип -

тип shortstring представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов;

тип Longstring представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти;

тип WideString представляет собой динамически размещаемые в памяти строки, длина которых ог-раничена только объемом свободной памяти. Каждый символ строки типа WideString является Unicode-символом

тип string эквивалентен типу shortstring.

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

интерфейса присоединения Drag-and-Dock;

интерфейса переноса Drag-and-Drop;

усовершенствованного масштабирования;

управления фокусом;

управления мышью;

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

Технология разработки программы в Delphi для широкого применения включает этапы:

Спецификация (определение, формулирование требований к программе).

Разработка алгоритма.

Кодирование (запись алгоритма на языке программирования).

Тестирование.

Создание справочной системы.

Создание установочного диска (CD-ROM).

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

Рабочий экран Delphi (версия Delphi-6) имеет 4 основных окна: главное окно Delphi; окно формы Form1; окно инспектора объектов Object Inspector и окно редактора кода Unit1. pas

Особенности СУБД MySQL

MySQL - свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц.

Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

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

Delphi - это потомок среды программирования TurboPascal. Название среды произошло от названия города в Древней Греции, где находился знаменитый Дельфийский оракул (храм Аполлона в городе Дельфы, жрецы которого занимались предсказаниями).

Создание прикладных программ, или приложений, в Delphi выполняется в интегрированной среде разработки IDE (Integrated Development Environment). IDE служит для организации взаимодействия с программистом и включает в себя ряд окон, содержащих различные элементы управления. С помощью средств интегрированной среды разработчик может проектировать интерфейсную часть приложения, а также писать программный код, и связывать его с управляющими элементами. При этом вся работа по созданию приложения, включая отладку, происходит в IDE.

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

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

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

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

Система визуального объектно-ориентированного проектирования Delphi позволяет:

  • 1. Создавать законченные приложения для Windows самой различной направленности;
  • 2. Быстро создавать профессионально выглядящий оконный интерфейс для любых приложений; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена, поскольку использует функции, процедуры и библиотеки Windows;
  • 3. Создавать свои динамически присоединяемые библиотеки компонентов, форм, функций, которые потом можно использовать из других языков программирования;
  • 4. Создавать мощные системы работы с базами данных любых типов.
  • 5. Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.;
  • 6. Создавать справочные системы, как для своих приложений, так и для любых других;
  • 7. Создавать профессиональные программы установки для приложений Windows, учитывающие всю специфику и все требования операционной системы.
  • 1. Анализ технического задания и постановка задачи проектирования

Согласно заданию необходимо разработать программу (систему) идентификации пользователя.

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

Тип STRING (строка) широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY OF CHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N - максимальное количество символов в строке.

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

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

  • 1. Разработка визуального интерфейса пользователя, на основе экранных форм среды Delphi и визуальных компонент, предназначенных для ввода исходных данных, запуска действий по обработке исходных данных, вывода результата обработки, вывода результатов на экранную форму. Еще можно предусмотреть вывод информации разработчике и задании курсового проекта;
  • 2. Разработка обработчиков событий от элементов экранных форм, разработка алгоритмов и программных кодов действий обработки текстового файла согласно заданию;
  • 3. Подготовка тестовых исходных данных и отладка программы.

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

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

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

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

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

Программа должна быть реализована с графическим интерфейсом пользователя в среде RAD Delphi и должна выполнять следующие функции:

  • 1. Вводить логин и пароль;
  • 2. При несоответствии данных, выводить сообщение об ошибке;
  • 3. Зарегистрировать нового пользователя;
  • 4. Записывать данные в файл Rigstr;
  • 2. Работа с компонентами. Основная форма и ее свойства

Первое, с чем начинаешь знакомиться, - это компоненты языка и примеры с их использованием.

Сначала идет рассмотрение компонентов в действии и знакомство с их основными возможностями.

Основная форма - это окно будущей программы. На нем возможно располагать визуальные компоненты в любом виде и порядке. В Delphi расстановка элементов управления происходит визуально, и все делается одним нажатием кнопки мыши. Это позволяет даже самый сложный пользовательский интерфейс сформировать в считанные минуты. Как известно, если выделить какой-то компонент, то в объектном инспекторе появятся его свойства и события. Когда описывается событие, которое может быть не только у формы, но и у компонента, будет присутствовать пояснение "форма/компонент". Когда будут рассматриваться свойства и их назначение, существует возможность создать новый проект в среде Delphi и изменять различные его свойства. Так лучше можно понять, на что эти свойства будут влиять.

Система Delphi при добавлении новой формы в проект автоматически создает один экземпляр класса (Form1, Form2 и т. д.), внося соответствующие изменения в файл проекта, например, добавляя строку кода: Application.CreateForm(TForm1, Form1);

Управлять процессом автоматического создания форм можно, непосредственно редактируя файл проекта или выполняя настройки в окне параметров проекта (список Auto-create forms на странице Form). Если форма переведена из этого списка в список Available forms доступных форм проекта, то инструкция ее создания исключается из файла проекта, и программист в ходе выполнения приложения должен динамически создать экземпляр этой формы.

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

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

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

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

Кнопка в Delphi происходит от объекта TButton. Когда устанавливается на форму новая кнопка, то ей дается имя по умолчанию Button1. Следующая кнопка получит название Buttona2 и т. д.

В объектном инспекторе напротив строки onclick также должно появиться имя процедуры обработчика. Можно изменить его, просто напечатав новое имя, или выбрать уже существующий обработчик из выпадающего списка в этой же строке. В редакторе кода видно, что там создал для нас Delphi. Это процедура MyFirstButtonCiick. Ей передается один параметр sender объектного типа TObject. Вначале выполнения процедуры в переменной sender будет находиться указатель на объект, который вызвал этот обработчик. Это очень важно, потому что одна процедура-обработчик может обрабатывать нажатия сразу нескольких кнопок или вообще компоненты разного типа.

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

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

Пожалуй, самой важной инструкцией для управления выполнением программы является условный оператор if. Именно он отвечает за ветвление, т.е. выполнение (или невыполнение) того или иного варианта кода в зависимости от условий. Оператор if используется совместно с ключевым словом then, а в том случае, когда предусмотрен альтернативный вариант выполнения - еще и с else. В целом синтаксис инструкции получается следующим:

if <условие> then <код>

В соответствии с правилами синтаксиса, все то, что помещено между ключевыми словами begin и end, равно как и сами эти слова, воспринимаются как 1 оператор.

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

for <параметр> := <выражение 1> to <выражение 2> do <тело цикла>;

for <параметр> := <выражение 1> downto <выражение 2> do <тело цикла>;

В первом случае (с использованием цикла for-to) при каждом проходе цикла, называемом итерацией, значение параметра увеличивается на 1, а во втором (for-downto) - уменьшается на 1. При этом в качестве начального значения используется "выражение 1", а в качестве конечного - "выражение 2". Разумеется, если для цикла to значение первого выражения изначально будет больше значения второго, или наоборот, меньше (для цикла downto), то цикл не будет выполнен ни разу. Практическое применение циклов крайне разнообразно. Если привести наиболее общий пример из программирования, то цикл - идеальный способ заполнения массива. Например, если требуется организовать цикл для заполнения массива из 10 числовых значений последовательно возрастающими числами, то можно записать:

for i:= 0 to 9 do MyArray[i]=i;

В данном случае элементам массива MyArray последовательно назначаются значения от 0 до 9.

Основные приемы программирования. Работа с текстовыми файлами

Допустим, что у нас есть файл из двух строчек "Привет! ! ! Как жизнь?". Если прочитать его с помощью объекта TFiiestream, то мы увидим весь текст в одну строку "Привет!!!KaK жизнь?- - " . f". Здесь - конец строки и - перевод каретки на новую строку. Таким образом, чтобы найти конец первой строки, мы должны сканировать весь текст с целью поиска признака конца строки и перевода каретки ( и ). Это очень неудобно. программа пароль файл

Тут на помощь приходит объект TStrings, который является простым контейнером (хранилищем) для строк. Можно еще пользоваться более продвинутым вариантом этого объекта TstringList. TStringList происходит от Tstrings. Использовать Tstrings напрямую нельзя, потому что это абстрактный объект. Абстрактный объект - объект, который представляет собой пустой шаблон. Он может даже ничего не уметь делать, а только описывать какой-то вид или шаблон, на основе которого можно выводить полноценные объекты. Вот так TStringList добавляет в Tstrings свои функции так, что он становится полноценным объектом. В результате получается, что мы не можем объявлять переменные типа Tstrings и использовать этот объект, потому что это всего лишь шаблон. Это и так, и не так. Переменную мы можем объявлять, но использовать сам объект не можем. Зато мы можем объявить переменную типа Tstrings, но использовать эту переменную как объект TStringList, потому что данный объект происходит от первого.

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

  • 1 / 5

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

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

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

    CodeGear

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

    Borland Delphi

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

    Delphi 2

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

    Delphi 3

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

    Inprise Delphi 4

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

    Borland Delphi 5

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

    Kylix

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

    Borland Delphi 6

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

    Borland Delphi 7

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

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

    Borland Delphi 8

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

    Borland Delphi 2005

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

    Borland Delphi 2006

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

    CodeGear Delphi 2007

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

    Новое в Delphi 2007

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

    Delphi 2009

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

    Delphi 2010

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

    Новое в Delphi 2010

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

    Delphi XE

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

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

    Delphi XE2

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

    Новое в Delphi XE2;

    Delphi XE3

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

    Delphi XE4

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

    Delphi XE5

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

    Delphi XE6

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

    Новое в IDE XE6

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

    Delphi XE7

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

    Delphi XE8

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

    Delphi 10 Seattle

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

    Delphi 10.1 Berlin

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

    Delphi 10.2 Tokyo

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

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

    Delphi for PHP

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

    Delphi for .NET

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

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

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

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

    Delphi Prism

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

    См. также

    Примечания

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