Какъв език се използва в delphi. За програмирането и за Delphi

уебсайт:

Делфи(Делфи, произнася се /ˈdɛlˌfi:/слушайте)) е императивен, структуриран, обектно-ориентиран език за програмиране, диалект на Object Pascal. Започвайки със средата за разработка Delphi 7.0, официалните документи на Borland започват да използват името Delphi за обозначаване на езика Object Pascal. От 2007 г. езикът Delphi (произлизащ от Object Pascal) започна да живее свой собствен независим живот и претърпя различни промени, свързани със съвременните тенденции (например с развитието на платформата .NET) в разработването на езици за програмиране: клас помощници , претоварване на оператори и др.

Целева платформа

Първоначално средата за разработка беше предназначена изключително за разработка на приложения на Microsoft Windows, след това беше внедрена и за Linux платформи (като Kylix), но след пускането на Kylix 3 през 2002 г. разработката й беше преустановена и малко след това беше обявена поддръжка за Microsoft .NET.

Внедряването на средата за разработка от проекта Lazarus (Free Pascal, компилиран в режим на съвместимост с Delphi) позволява да се използва за създаване на Delphi приложения за платформи като Linux, Mac OS X и Windows CE.

Има също така опити езикът да се използва в GNU проекти (напр. Notepad GNU) и да се напише компилатор за GCC.

История на езика

Object Pascal е резултат от развитието на езика Turbo Pascal, който от своя страна се развива от езика Pascal. Pascal беше напълно процедурен език, Turbo Pascal, започвайки от версия 5.5, добави обектно-ориентирани свойства към Pascal и динамична идентификация на типове данни към Object Pascal с възможност за достъп до метаданните на класа (т.е. описанията на класовете и техните членове) в компилиран код , наричана още интроспекция - тази технология беше обозначена като RTTI. Тъй като всички класове наследяват функциите на базовия клас TObject, всеки указател към обект може да бъде преобразуван в него, след което могат да се използват методът ClassType и функцията TypeInfo, което ще осигури интроспекция.

Също така, отличително свойство на Object Pascal от C ++ е, че обектите се намират в динамична памет по подразбиране. Можете обаче да замените виртуалните методи NewInstance и FreeInstance на класа TObject. Така абсолютно всеки клас може да изпълни "желанието" "където искам - там ще лежа". Съответно се организира "multi-heaping".

Object Pascal (Delphi) е резултат от функционално разширение на Turbo Pascal.

Delphi оказа огромно влияние върху концепцията на езика за платформата .NET. Много от неговите елементи и концептуални решения са включени в C#. Една от причините е прехвърлянето на Anders Hejlsberg, един от водещите разработчици на Delphi, от Borland Ltd. в Microsoft Corp.

  • Версия 8 е в състояние да генерира байт код изключително за платформата .NET. Това е първата среда, фокусирана върху разработката на многоезични приложения (само за платформата .NET);
  • Следващите версии (обозначени с години на издаване, а не с последователни номера, както беше преди) могат да създават както Win32 приложения, така и байт код за платформата .NET.

Но през ноември същата година беше взето решение да не се продава IDE бизнесът. Независимо от това, разработката на IDE продукти вече ще се занимава с нова компания - CodeGear, която ще бъде изцяло финансово контролирана от Borland.

През август 2006 г. Borland пусна олекотена версия на RAD Studio, наречена Turbo: Turbo Delphi (за Win32 и .NET), Turbo C#, Turbo C++.

През март 2008 г. беше обявен краят на разработката на тази продуктова линия.

През март 2007 г. CodeGear зарадва потребителите с актуализирана линия продукти Delphi 2007 за Win32 и пускането на изцяло нов продукт, Delphi 2007 за PHP.

През юни 2007 г. CodeGear представи своите планове за бъдещето, т.е. публикува така наречената пътна карта.

Embarcadero RAD Studio 2010

  • По подразбиране пълна поддръжка на Unicode във всички части на езика, VCL и RTL; замяна на извиквания към всички API функции на Windows с Unicode двойници (тоест MessageBox извиква MessageBoxW, а не MessageBoxA).
  • Те са генерични типове генерични лекарства.
  • Нова директива за компилатор $POINTERMATH.
  • Функцията Exit вече може да приема параметри според типа на функцията.

Компилатори

  • Embarcadero Delphi (наричан по-рано CodeGear Delphi и Borland Delphi) е може би най-известният компилатор, който е наследник на Borland Pascal и Turbo Pascal. Използва се от Win16 (Delphi 1), Win32 (Delphi 2 и по-нови), Win64 (Delphi 16 (XE2) и по-нови) и .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). Поддръжката за .NET впоследствие беше отделена в отделен продукт, известен като Oxygene.
  • Free Pascal (FPC) е безплатен обектен компилатор на Pascal, който поддържа различни диалекти на Pascal, включително Turbo Pascal, Delphi и неговите собствени диалекти. В момента FPC може да генерира код за x86, x86-64, PowerPC, SPARC и ARM процесори, както и за различни операционни системи, включително Microsoft Windows, Linux, FreeBSD, Mac OS. Има няколко среди за разработка на софтуер за FPC (един от най-известните представители е Lazarus).
  • GNU Pascal (отделно разработена версия от GCC). Той няма за цел да продължи серията от диалекти на Delphi като част от Pascal, но въпреки това съдържа режима за съвместимост с Borland Pascal и е много бавен за адаптиране на компонентите на езика Delphi. Не е подходящ за компилиране на големи проекти, съдържащи Delphi код, но си струва да се отбележи, че повечето операционни системи и архитектури го поддържат.
  • Oxygene (известен преди като Chrome) е компилатор на Object Pascal, който е интегриран в Microsoft Visual Studio. Предлага се и като компилатор с безплатен CLI команден ред. Използва .NET и моно платформи. В момента се продава под марката Embarcadero Delphi Prism.
  • MIDletPascal е език за програмиране със синтаксис, подобен на Delphi, и компилатор със същото име, който преобразува изходния код в компактен и бърз Java байткод.
  • PocketStudio е базирана на Pascal IDE за Palm OS.
  • Virtual Pascal - Безплатен компилатор и текстово IDE за Win32, OS/2 и Linux. По това време, много бърз и много съвместим (delphi 5 конструкции се поддържат частично). Външно тя е много подобна на текстовата среда Borland Pascal 7, въпреки че няма графики, съвместими с нея, например. Разработката обаче приключи през 2004 г. и изходният код не беше отворен. Оттогава FPC е отишъл много по-далеч и като цяло е по-добър за програмиране. Независимо от това, VP остава много добър вариант за бърза замяна на още по-остарели версии на Borland Pascal за училище / институт, като се има предвид родната работа в Win32 без проблеми с руските кодировки.

Синтаксис на езика

Оператори

Списък с оператори, разделени с интервали: := + - * / div mod not и или с xor shl shr ^=<> >= <= < >@in е като

Изрази

Изразите в Object Pascal (Delphi) са аритметични, логически и низови.

Основни логически изрази:
Булевите изрази се използват най-вече в условни изрази. Булевите изрази включват операции като:

  • не - "НЕ", отрицание на логически израз (НЕ<логическое_выражение>)
  • и - "И", умножение (пресичане) на логически изрази (<логическое_выражение1>И<логическое_выражение2>)
  • или - "ИЛИ", обединението на логически изрази (<логическое_выражение1>ИЛИ<логическое_выражение2>)
  • xor - "XOR", отрицание на OR, всичко, което не попада под OR (<логическое_выражение1>XOR<логическое_выражение2>)

Типове данни

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

Обекти

  • Продукти на Embarcadero: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1 и 2 версии.
  • Администриране и разработка на база данни: MySQL инструменти, IBExpert.
  • Инженерен софтуер: Altium Designer.
  • Файлови мениджъри: Total Commander, Frigate.
  • Преглед на графики: FastStone Image Viewer, FuturixImager, drComRead.
  • Видео и аудио плейъри: Light Alloy, The KMPlayer, AIMP, X-Amp.
  • Програми за незабавни съобщения: QIP, R&Q, Skype GUI, The Bat! , PopTray , FeedDemon .
  • Музикална продукция: FL Studio, Guitar Pro (до версия 6.0).
  • Разработка на софтуер: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter
  • Уеб разработка: Macromedia HomeSite.
  • Текстови редактори: BirEdit, Notepad GNU, Bred.
  • Счетоводство и данъци: SAIL, AVARDA (до и включително версия 6.x).
  • Софтуер за анимация: Pivot Stickfigure Animator.
  • Програми за компресиране на данни: ALZip, PowerArchiver, PeaZip.
  • Компютърни игри: Age of wonders, Space Rangers, Venom. Кодово име: Outbreak, Space Empires V, „Истината за деветата компания“.
  • Графични редактори: Real Paint.

Бележки

Литература

  • Нийл Дж. Рубенкинг.Език за програмиране Delphi за манекени. Въведение в Borland Delphi 2006 = Delphi for Dummies. - М .: Диалектика, 2007. - 336 с. - ISBN 0-7645-0179-8
  • Хавиер Пашеку. Borland Delphi 2006 Програмиране за професионалисти = Ръководство за разработчици на Delphi за .NET. - М .: Уилямс, 2006. - 944 с. - ISBN 0-672-32443-X
  • А. Н. Вълвачев, К. А. Сурков, Д. А. Сурков, Ю. М. Четирко.Програмиране в Delphi. урок . - 2005 г.

Връзки

  • Страница среда за програмиране в сайта Embarcadero Technologies

И така, в тази статия ще говорим за това как да определим битовостта на операционната система Windows при програмиране на езика Delphi. Това е необходимо, за да изберете например една или друга версия на драйвера - x86 (32 бита) или x64 (64 бита).

И така, да започваме.

Създаваме нов проект, хвърляме компонента Label (текстови надписи) във формуляра.

След това отиваме в редактора на изходния код и в секцията с var променливи добавяме низовата променлива razr (тип данни string, т.е. string).

var Form1: TForm1;

razr:низ;

След това щракнете двукратно върху формуляра, копирайте и поставете следния код в него (в процедурата за създаване на основния формуляр TForm1.FormCreate), между фразите begin и край; (т.е. началото и края на процедурата).

(използвайки функцията Get Enviroment Variable, четем знанията на променливата ProgramFiles(X86)

ако системата е 32-битова, тогава тя ще има празна стойност

ако е 64 бита, ще има познания за C:Program Files(x86)

т.е. папката, в която са инсталирани 32-битовите версии на програмите)

razr:= GetEnvironmentVariable("ProgramFiles(x86)");

label1.Caption:= razr;

if (razr = "") тогава

започвам

label1.Font.Color:=clRed; (Променя цвета на надписа, можете да изберете всеки по ваш вкус, например clGreen - зелен)

label1.Caption:= "Имате x86"; (вместо име на етикет labl1 можете да напишете нещо друго, например metka)

друго

започвам

label1.Font.Color:=clBlue; (Променя цвета на надписа, можете да изберете всеки по ваш вкус, например clGreen - зелен)

label1.Caption:= "Имате x64";

край;

Как работи програмата?

Използвайки функцията Get Environment Variable, стойността на променливата на средата се чете в Windows Програмни файлове (X86).

Ако системата е 32-битова, тогава тя ще има празна стойност.

Ако е 64-битова, тогава ще има знанието за C: Program Files (x86), т.е. това е папката, в която са инсталирани 32-битови версии на програми.

Всъщност това е всичко.

Ето какво ми се случи.

По-долу можете да изтеглите архива с изходния код на програмата, за да се опитате да я разберете сами.


коментари()

wdfm 90

На Windows 7 x64 програмата работи добре, можете да използвате

Едуард 300

На всички, които ще се развъждат извън темата + нецензурни думи, давам бан за 1 ден! Това не се отнася за администраторите.
.php?board=18.0

Форум не за нищо не го направих!

Едуард 300

Въведение

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

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

Основни понятия и дефиниции на Delphi

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

Екранът след стартиране на Delphi съдържа четири прозореца: главния прозорец, прозореца на формуляра, инспектора на обекти и редактора на код, който е почти изцяло покрит от прозореца на формуляра.

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

Прозорецът на формуляра, заглавието му FORM1 е празен, оформление на един от обектите на разработваното приложение.

Прозорецът Object Inspector, неговото заглавие Object Inspector ви позволява да виждате и променяте свойствата на обектите на проекта. След стартиране на Delphi този прозорец показва свойствата на формата FORM1.

Прозорецът на редактора на код е предназначен за създаване на процедури за обработка на събития. В Delphi кодът е текстът на програмата.

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

Свойствата на обекта са например размерът на текста на заглавието, цвета на фона на формуляра или текста на командния бутон и много други, пълен списък със свойства може да се види в прозореца на Инспектора на обекти за избрания обект.

Събитието е нещо, което се случва, докато създаденото от вас приложение работи. В Delphi всяко събитие има име, например щракването с мишката е събитието OnClick, двойното щракване е събитието OnDblClick.

Проектът е набор от файлове (програмни единици - модули), чрез които компилаторът създава изпълним програмен файл. Един от файловете на проекта, наречен файл на проекта с разширение .dpr, съдържа общо описание на проекта. Файлът на проекта е основната единица на приложението, която се генерира от Delphi. В допълнение към основния модул, проектът включва един или повече модули (Unit) . Файловете на модулите на проекта (Unit) съдържат текстовете на процедурите, функциите, описанията на типовете, както и цялата информация за създаване на изпълнима програма и имат разширение pas. Процедурата е група от изрази на език за програмиране, която ви позволява да извършвате конкретни действия (за решаване на проблем). По един или друг начин целият изпълним код, компилиран от вас, задължително се поставя в някаква процедура.

Един модул се състои от три секции: интерфейс (започва с думата интерфейс), реализация (започва с думата изпълнение) и. Следва структурата на модула.

единица UnitName;

(Тук има описания на процедурите и функциите на този модул, които могат да се използват от други модули)

(Тук са декларациите на глобалните модулни константи, които могат да се използват от процедурите и функциите на модула)

(Тук са декларациите на глобалните типове на модула, които могат да се използват от процедурите и функциите на модула)

(Тук са декларациите на глобалните променливи на модула, които могат да се използват от процедурите и функциите на модула)

(Тук има описания на процедурите и функциите на модула)

(Ето инструкциите за раздела за инициализация на променливата на модула)

По този начин интерфейсната секция казва на компилатора каква част от модула е достъпна за други програмни модули. Разделът за внедряване започва с директива ($R*.DFM), която казва на компилатора да използва декларация на формуляр, когато генерира изпълнимия файл. описанието на формата се намира във файл с разширение dfm, чието име е същото като името на модула. Директивата ($R*.DFM) е последвана от процедурите за обработка на събития за формуляра и неговите компоненти. Програмистът може също да постави тук разработените процедури и функции. Ако разделът за инициализация не съдържа инструкции, тогава думата start се пропуска.

Delphi е език за програмиранеи среда за разработка на софтуер. Разработен е от Borland (известен преди като Inprise). Езикът за програмиране Delphi, известен преди като Object Pascal(Pascal с обектно-ориентирани разширения), първоначално насочен само към Microsoft Windows, но сега ви позволява да създавате свои собствени приложения за Linux и Microsoft. NET Framework и други (вижте по-долу). Програмиране за начинаещи.
Най-популярната употреба е разработването на настолни приложения и корпоративни бази данни, а като инструмент езикът за програмиране Delph Иможе да се използва за повечето видове разработване на проекти. Това беше един от първите езици, станал известен като RAD (Rapid Application Development) инструмент, когато излезе през 1995 г. Delphi 2, издаден година по-късно, поддържаше 32-битовата среда на Windows и само няколко години по-късно се появи C, C++Builder. През 2001 г. версия на Linux стана достъпна, известна като Kylix (класическа гръцка урна). Една нова версия беше пусната всяка година, през 2002 г. продуктът стана известен като Delphi 7 Studio, езикът стана официално известен като език за програмиране Delphi, а не Object Pascal, и беше добавена поддръжка за Linux (чрез Kylix) и. NET (чрез предкомпилатора). Пълна подкрепа. NET е планиран за предстоящия Delphi 8. Програмиране за манекени.
Основните компоненти на Delphi и Kylix са: езикът Delphi (по-рано официално известен като езика Object Pascal), VK/CLX (библиотека с визуални компоненти), силни връзки към бази данни, комбинирани с мощна IDE (интегрирана среда за разработка) и допълнителни инструменти за поддръжка .
Забележителните характеристики на езика Delphi включват:

  • Прозрачно боравене с обекти чрез препратки или указатели
  • Свойства като част от езика, заедно с функциите Get и Set, които са прозрачни капсулации на достъпа на член на полето
  • Индексни свойства и свойства по подразбиране, които осигуряват достъп до колекцията по удобен и прозрачен начин
  • Делегати или по друг начин безопасни за типа указателни методи, които се използват за задействане на събития, предизвикани от компоненти
  • Делегиране на реализация на интерфейс към поле или свойство на клас
  • Лесни за вграждане манипулатори на съобщения на Windows, маркирайте метод на клас с номер / име на кутия за съобщения за обработка
  • Повечето от функциите, изброени по-горе, бяха въведени първо в Delphi и адаптирани към други езици по-късно.

Андерс Хейлсберг беше главен архитект на Delphi и неговия предшественик Turbo Pascal, докато не се присъедини към Microsoft през 1996 г., посвещавайки бизнеса си на основите на програмирането.
Продуктът Delphi се разпространява в различни пакети, всеки от които предлага повече функционалност от останалите:

  • Лична
  • Професионален
  • Компания
  • Архитект

Добри причини да използвате Delphi:

  • Много информативна и полезна новина за обществото
  • Може да се компилира в един изпълним файл, което улеснява разпространението и намалява проблемите с различни DLL файлове
  • VCL и компонентите на трети страни обикновено се предлагат с пълен изходен код
  • Мощен и бърз оптимизиращ компилатор
  • Един изходен код прави страхотни машинни кодове за различни операционни системи
  • Поддръжка на най-новите технологии и стандарти

Клонинги и алтернативи

Тъй като не могат да отговорят на всички нужди на програмистите, има цял набор от допълнителни инструменти, които са предназначени да разширят обхвата на задачите, решавани с Delphi, или това може да стане чрез поставяне на код на други езици, където Delphi и Kylix са безсилни .
Тези заместители на Delphi могат да се използват в случай на невъзможност за заплащане на средата за разработка, необходимост от безплатни среди за разработка (например за операционни системи и безплатен софтуер или за образователни цели). В повечето случаи тези алтернативи се използват за обучение, както и за писане на сървърни компоненти, за операционни системи, които не са широко разпространени (това беше до появата на Kylix за Linux, който се използва предимно като ОС за сървъри). .
Нека изброим някои:

  • Free Pascal е заместител, който идва като компилатор на команден ред. Тази разработка се основава на съвместимост с основния набор от функции на диалектите Turbo Pascal и Delphi. Функциите на Delphi версии над 4 са внедрени и работят. Работи на повечето x86 операционни системи, включително Win32, Dos, Linux, BSD и Novell Netware. Поддръжката за други операционни системи на m68k и PowerPC, чийто статус все още се променя много бързо, не е налична. Започна работата по пренасянето към платформата SPARC.
  • GNU Pascal (отделно разпространявана част от GNU Compiler Collection), въпреки че официално не е насочен към диалектите на Borland Pascal, съдържа съвместимост с Borland Pascal и постепенно абсорбира характеристиките на езика Delphi, въпреки че не е подходящ за повторно компилиране на големи количества Delphi код. Това е най-плодотворният компилатор по отношение на операционни системи и процесори, въпреки че заслужава да бъде споменат само като последна опция.
  • Има инструмент, наречен Pocket Studio, който има за цел да компилира съкратен Delphi код за PDA устройства.
  • Virtual Pascal - компилатор, x86 32-битов Turbo Pascal и Delphi, съвместим главно с OS/2 и Windows, въпреки че са разработени DOS Extender и експериментален Linux крос-компилатор. Компилаторът е заседнал около Delphi версия 2 и сайтът не се е променил много от две години, но като алтернатива е още един от най-добрите, със страхотна IDE и програма за отстраняване на грешки, въпреки че Free Pascal също е в движение.
  • BloodShed разпространява много добър Win32 графичен редактор (макар и не RAD) като интерфейс за GNU Pascal и Free Pascal.
  • Усилията на Lazarus са насочени към създаване на среда за разработка за Free Pascal. Докато GTK портът става полезен за писане на малки приложения като инструменти за конфигуриране, портът win32 все още се нуждае от много работа.
  • InnerFuse е преводач на Delphi за вграждане в приложения. Говори се, че работи с множество версии на Delphi.
  • WDOSX е API за емулация на Win32 DOS Extender, който може да се използва за получаване на конзолни приложения, написани на Delphi, работещи на нормален DOS.

Как да станете професионалист в разработката на уебсайтове и да започнете да печелите? Евтини видео курсове с уводно въведение.

Нека започнем нашето запознаване с програмирането в средата на Delphi с въпроси като същността на самото програмиране, неговите основи и подвидове. Също така ще разгледаме какво представлява средата на Delphi, как се различава от другите и колко далеч е изминала от създаването си преди 10 години.

Какво е програмиране

И така, нека първо да изясним за себе си какво се разбира под термина програмиране? Сега много хора се наричат ​​програмисти, без дори да знаят какво е: за проверка се оказва, че човек, който е променил няколко реда код в HTML документ, вече е готов да се счита за програмист. Но всъщност, работейки с HTML (точно със самия HTML), човек не може да стане програмист, тъй като HTML, което е ясно от името (Hypertext Markup Language - Hypertext Markup Language), не е език за програмиране.

В резултат на това имаме първото условие: за да научите програмиране, имате нужда от някакъв език за програмиране. В нашия случай това ще бъде най-новият език Object Pascal (14.0 или 15.0).

Освен това, да кажем, че някой, който се нарича програмист, не само е редактирал няколко реда HTML код, но също е видял Delphi и дори е нарисувал формуляр в него с 2-3 бутона и текстово поле. Програмист ли е? Най-вероятно също не. Факт е, че под визуалната обвивка всъщност има сложен механизъм, който осигурява взаимодействието на контролите (същите бутони) с потребителя и операционната система - от една страна, и ви позволява да извършвате почти всякакви изчислителни действия - от другата. При всичко това човек трябва да може да направи основното - да състави алгоритми за поведението на програмата - независимо дали е нейната реакция при натискане на определен бутон или създаване на функция за решаване на сложно математическо уравнение.

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

Какво е Delphi

Сега знаем, че програмирането е писане на алгоритми плюс използване на език за програмиране. Но ако езикът, който учим, е Object Pascal, тогава какво е Delphi? Отговорът е: Delphi е RAD, или Rapid Application Development - среда за бърза разработка на приложения. С други думи, Delphi включва не само всички инструменти за работа с езика Object Pascal (особено след като от версия 2005 Delphi има поддръжка за други езици за програмиране, по-специално C #), но и редица допълнителни инструменти, предназначени за ускоряват и опростяват създаването на програми. Тези инструменти включват, на първо място, визуален редактор на форми, с който можете да създадете напълно изглеждаща програма за няколко минути и без никакви допълнителни усилия, както и други компоненти на визуалния компонент на разработката на програма.

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

Заедно с усъвършенствани инструменти за писане и отстраняване на грешки в код - специализиран текстов редактор, оптимизиращ компилатор и дебъгер, Delphi е инструмент за бързо разработване на приложения. В същото време основата на Delphi за крайния потребител е IDE - интегрирана среда за разработка (интегрирана среда за разработка), която съчетава редактор на код и инструменти за визуална разработка, а също така свързва това с компилатора, инструментите за разработка на база данни и други компоненти на Делфи.

Делфи и др

Разбира се, Delphi не е единствената среда за бързо разработване на приложения. Има и други RAD, които са също толкова добри за визуална разработка на програми, като Visual Basic. Но BASIC е известен като не най-мощният и удобен език за програмиране, освен това програмите, базирани на него, са сравнително бавни.

В същото време има езици за програмиране, не по-малко мощни от Object Pascal, които имат свои собствени RAD - на първо място, това е езикът C ++, заедно с такива добре познати инструменти за разработка като Visual C ++ и C ++ Builder. C++ обаче не е по най-добрия начин в сравнение с Object Pascal по отношение на лекотата на учене. В допълнение, изграждането и отстраняването на грешки в C++ програми е относително бавно, въпреки че завършените програми работят също толкова бързо, колкото тези, създадени с Delphi.

ЗАБЕЛЕЖКА
Имайте предвид, че по време на появата си през 1995 г. Delphi беше наистина уникална среда, която съчетава визуално програмиране с оптимизиращ компилатор и инструменти за работа с бази данни.

В резултат на това получаваме почти идеален продукт за бързо разработване на програми: от една страна, простота и удобство, сравними с Visual Basic, а от друга страна, мощността, скоростта и гъвкавостта, характерни за C ++.

Тук трябва да се отбележи, че езикът Object Pascal, използван в Delphi, няма много общо със своя прародител, езика за програмиране Pascal, който може да сте учили в училище или в университет. На първо място, Delphi използва чист обектно-ориентиран модел на програмиране, докато Pascal беше обикновен процедурен език. Каква е разликата между процедурното програмиране и обектно-ориентираното програмиране? Това е въпросът, който ще обсъдим в следващите два параграфа.

Процедурно програмиране и алгоритми

Почти всички съвременни езици за програмиране са процедурни по природа. Това означава, че всяка програма се състои от набор от процедури, всяка от които решава определена задача, докато една процедура може да извика всяка друга, включително самата себе си (последното, т.е. извикването на самата процедура, се нарича рекурсия). Самата програма е съставена на базата на алгоритми, като са достатъчни само три от разновидностите им - избор (форк), повторение (цикъл) и преход. Последният тип обаче практически не се използва на практика поради лошата си репутация (говорим за GOTO - някога любим, от отчаяние, оператор на BASIC програмисти).

Нека да разгледаме най-простия алгоритъм - за играта "познай числото". Логиката на работата му е, че се изисква да се провери дали числото е по-голямо или по-малко от познатото и ако е така, вие показвате съответната подсказка и ако не е нито повече, нито по-малко (т.е. съвпада), тогава играта завършва . Блоковата схема на такъв алгоритъм ще се състои от 2 клона (фиг. 1.1).

Ориз. 1.1. Блок-схема на прост алгоритъм

Първата стъпка тук е да попитате потребителя за числото A, което се сравнява два пъти с предварително зададеното число B. Първо се проверява дали числото A е по-голямо от B и ако е така, програмата съобщава, че има "скок" и се връща към номерата на входните точки. Ако числото не е по-голямо, тогава се прави второ сравнение - за да се види дали A е по-малко от B. Ако е така, тогава се извежда съобщение, че числото е по-малко ("undershoot") и отново връщане към началото възниква. Но ако числото A не е по-малко от числото B, тогава, предвид факта, че в момента вече е известно, че не е по-голямо, следователно то е равно на числото B и програмата приключва работата си. В същото време може да показва поздравленията на потребителя за отгатване на числото.

Този алгоритъм може да е част от друг алгоритъм. Например, не предвижда генериране на самото число, което трябва да се познае. Няма и опция за повторение. За да коригирате тази ситуация, разгледайте блоковата диаграма на алгоритъма, който контролира изпълнението на програмата като цяло (фиг. 1.2).


Ориз. 1.2. Схема за контрол на програмата

В началото на изпълнението се генерира ново число, което потребителят ще познае. След това идва самият блок за отгатване, който вече разгледахме (виж Фиг. 1.1), - тук той е представен като един прост модул, тъй като не засяга хода на програмата като цяло. След завършване на този блок имаме един клон - в зависимост от това какво отговаря потребителят на предложението да повтори играта. Така че, ако отговорът е да, тогава програмата ще трябва да отиде в началото, т.е. за генериране на нов номер. Ако потребителят откаже, тогава програмата трябва да бъде прекратена.

Конкретната реализация на конкретен алгоритъм зависи от използвания език за програмиране, както и от предпочитанията на създателя на програмата, тъй като по правило една и съща конструкция може да бъде решена с помощта на няколко различни метода. Например, за да се върнете към която и да е точка, посочена на блок-схемата, можете да използвате както цикли, така и оператори за безусловен преход. Е, самите блокове могат да бъдат извадени в отделни процедури и извикани като подпрограми. Единствената обща черта е условният оператор, отговорен за разклонението - в почти всички езици и Pascal не е изключение, той се нарича IF. Все още обаче имаме време да се запознаем с операторите на Object Pascal.

За обектно-ориентираното програмиране

Ако изборът, повторението и преходът са крайъгълните камъни на всеки процедурен език за програмиране, тогава за обектно-ориентирано програмиранепонятия като капсулиране, наследяване и полиморфизъм са важни. Нека разгледаме по-подробно тези концепции, без които нито един език, поддържащ обекти, не може да се нарече обектно-ориентиран.

ЗАБЕЛЕЖКА
Терминът "обект" в програмирането се разбира като определен сложен тип данни, към който могат да бъдат прикачени свойства, уникални за този тип, а в случая на ООП - и методи.

Капсулирането е комбинация от данни и подпрограми, които ги обработват - методи - в рамките на един обект, наречен "клас" в ООП. Това означава, че класът капсулира всичко необходимо за работа с определен обект.

Наследяването е друга важна част от ООП. Наследяването се разбира като възможност за създаване на тип (обект) въз основа на дефиницията на друг обект. В този случай всички свойства и методи на родителския обект могат да бъдат наследени от дъщерния. Например, ако имаме обект "автомобил", тогава на негова основа можем да създадем друг обект, да речем "трамвай", който ще наследи всички негови свойства и в допълнение към тях ще получи някои свои. На свой ред този обект също ще може да има свои собствени деца и т.н. Резултатът е дърво от обекти, наречено йерархия на класовете.

В Object Pascal всички класове идват от един предшественик - класът TObject, който изпълнява такива действия, общи за всички класове на обект, като създаване и изтриване.

СЪВЕТ
Опакованите версии на Delphi се доставят с плакат, показващ дървото на класовете за всички основни компоненти на Delphi. Ето защо, ако сте щастлив собственик на лицензиран продукт, можете визуално да проучите структурата на тази система, като поставите този плакат на работното си място.

И накрая, третият кит, на който стои ООП, е полиморфизмът или способността да се създават свойства и методи с едно и също име в рамките на свързани обекти, които ще се различават по същество. Да кажем, че вече имаме класове "автомобил" и "трамвай" и за двата е дефинирано свойството "мотор", но ако за автомобил типът мотор ще бъде обект от един тип, то за трамвай ще бъде напълно различен.

Друг важен компонент, характерен за OOP, е скриването, което ви позволява да направите редица свойства на обектите невидими. С други думи, ако можем да имаме дефиниран обект от тип "кола", за който на свой ред са дефинирани свойства като шаси, двигател и колела. Така че, ако моторът и колелата могат да бъдат направени видими (и достъпни) навсякъде, където е наличен само самият клас "автомобил", тогава шасито не може. Съответно достъпът до такова свойство може да бъде получен само в онези части на програмата, в които е направено описанието на самия обект "машина". Такива имоти се наричат ​​защитени.

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

Визуално програмиране и Delphi

И така, Delphi е среда, която работи с обектно-ориентирания език за структурно програмиране Object Pascal. В допълнение към това Delphi е и среда за визуална разработка. С други думи, вече в процеса на създаване на програма можете да видите как ще изглежда по време на изпълнение. Визуалното програмиране значително намалява времето, необходимо за създаване на потребителски интерфейс за Windows приложения. Преди появата на инструментите за визуална разработка, програмирането под Windows беше много трудно, тъй като беше необходимо почти сляпо да се изчисли местоположението на всеки контрол в прозореца на приложението, което доведе до много грешки (фиг. 1.3).


Ориз. 1.3. Класически и визуални подходи за създаване на интерфейс

Фактът, че Delphi е визуална среда за разработка, оставя своя отпечатък и върху езика за програмиране. По-специално, той предоставя специални съоръжения, така че определени свойства на класовете да могат да бъдат достъпни още на етапа на разработка на програмата, а не само по време на изпълнение. Но най-важната част от цялото това великолепие е библиотеката с класове – VCL (Visual Component Library). VCL е този, който скрива всички остри ъгли на вътрешностите на Windows и улеснява създаването на приложения, без да влиза в продължителна война с обработката на системни съобщения, обратни извиквания, дескриптори и указатели.

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

Визуалните компоненти ще бъдат разгледани подробно в част 3 на тази книга.

Версии на Delphi и техните разлики

В края на уводната част, нека да разгледаме разликите между версиите на Delphi, като по пътя изучаваме историята на развитието на тази прекрасна среда за разработка.

Делфи 1. Издаден малко преди Windows 95, Delphi 1.0 беше първият инструмент за разработка на Windows приложения (3.1), който комбинира оптимизиращ компилатор, визуална среда за разработка и мощни инструменти за база данни. За езика Pascal това се е превърнало в истинско прераждане – той се е превърнал в Object Pascal.

Делфи 2. Издадена година по-късно, втората версия на Delphi предлагаше същото, но за 32-битови версии на Windows (95 / NT), като отново се превърна в първия инструмент, който комбинира 32-битов компилатор, инструменти за база данни и визуална среда за разработка, поддържащи OLE (и след пускането на актуализирания Delphi 2.01 - и ActiveX). Езикът също се промени, като стана 32-битов ориентиран.

Делфи 3. По-нататъшното подобряване на Delphi във всички посоки доведе до пускането на третата версия, която имаше разширен набор от инструменти за създаване на приложения благодарение на поддръжката на COM и ActiveX. Тази версия също така за първи път се фокусира върху възможността за създаване на приложения за Интернет, както и нетипизиран тип данни - вариант.

Делфи 4. Друг ключов момент в развитието. В тази версия са въведени много нови и полезни неща, за да се опрости разработката на приложения, включително нова среда с динамични подсказки и т.н. Моделът за работа с компоненти (VCL) е подобрен, стана възможно бързото използване на технологии като MIDAS, DCOM и CORBA. В тази версия езикът Object Pascal също беше подобрен: появиха се нови характеристики, характерни за съвременния OOP, бяха въведени нови типове данни, включително 64-битови.

Делфи 5. Имаше толкова много промени в Delphi 4, че за съжаление имаше някои досадни наслагвания и грешки. Резултатът беше пускането на 3 сервизни пакета (нашите пирати ги продадоха под банерите на Delphi 4.1, 4.2 и 4.3). Но Delphi 5 трябва да се счита за най-пълния и правилен пакет за актуализация - в тази версия всичко, което е започнато в Delphi 4, беше припомнено.

Делфи 6. С пускането на версия 6, Borland постави началото на нова, междуплатформена ера за Delphi, с паралелно издание на Delphi за Linux (Kylix 1.0). Сега, когато създавате приложение, беше възможно да изберете неговия тип - за Windows или универсален. Съответно библиотеката CLX беше добавена към библиотеката VCL, която е съвместима както с Windows, така и с Linux. Освен това в 6-та версия най-накрая се появиха „родни“, а не извънземни ActiveX, компоненти за работа с интернет и в двете версии наведнъж - както за VCL, така и за CLX. Започвайки с тази версия, самият език за програмиране Object Pascal официално се нарича Delphi.

Делфи 7. По-нататъшно развитие на Delphi 6, подобрена CLX библиотека и нова съответстваща версия на средата за разработка на Linux - Kylix 3. В същото време, започвайки с Delphi 7, Borland се занимава с въпроса за съвместимостта с друга платформа - Microsoft .NET, за които са направени някои промени както във VCL, така и в езика (и съответно в компилатора).

Делфи 8. Първата версия на Delphi се фокусира върху работата с платформата Microsoft.NET. В тази версия разработчиците поеха риска да променят интерфейса на средата, правейки го подобен на продуктите на Microsoft - новият основен акционер на Borland. Съответно поддръжката беше прекратена от Kylix.

Делфи 2005. По-малко от година след пускането на Delphi 8, беше пусната нова версия, която набързо върна възможността за работа в класическия IDE стил при разработване на приложения за Windows. В същото време Delphi 2005, в случай на разработване на приложения специално за платформата NET, ви позволява да работите не само с езика Delphi, но и с C#. В същото време иновации като for ... in statement и inline процедури и функции бяха въведени в самия език Delphi.

Делфи 2006. Най-новата версия на Delphi, издадена от Borland. Беше пусната и олекотена версия - Турбо Делфи. След това започна пътуването през други разработчици.

Делфи 2007. Версията, издадена от CodeGear. Добавена е поддръжка за интерфейса Aero за Windows Vista.

Делфи 2009. Версия, издадена от Embarcodero. Въведена е поддръжка за Unicode във VCL и RTL, извикванията към всички API функции на Windows са заменени с аналози в Unicode, добавени са генерични типове и анонимни методи.

Делфи 2010. Поддръжката на Windows 7, компонентите за докосване и жестове, компонентите на dbExpress вече се поддържат официално от Firebird.

Delphi XE (Delphi 2011). Добавена е поддръжка за облачни изчисления.

Хареса ли ви статията? Сподели го
Връх