Езикът delphi преди версия 6 беше извикан. Основни понятия и принципи на системата Delphi - Лекция. Delphi - какво е това

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

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

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

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

var Form1: TForm1;

razr: низ;

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

(използвайки функцията 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 Enviroment Variable, стойността на променливата на средата се чете в Windows Програмни файлове (X86).

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

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

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

Ето какво получих.

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


Коментари ()

wdfm 90

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

Едуард 300

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

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

Едуард 300

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

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

И така, първо, нека разберем за себе си какво се разбира под термина програмиране? Сега много хора наричат ​​себе си програмисти, дори не знаят какво е: оказва се, че човек, който е променил няколко реда код в HTML документ, е готов да се счита за програмист. Но всъщност, работейки с HTML (а именно със самия HTML), не можете да станете програмист, тъй като HTML, както подсказва името (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 компоненти.

Delphi и др

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

В същото време има езици за програмиране, не по-малко мощни от Object Pascal, които имат собствен RAD - на първо място, това е езикът C ++ заедно с такива най-известни инструменти за разработка като Visual C ++ и C ++ Строител. Въпреки това, 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 и ако е така, програмата съобщава, че е имало „полет “ и се връща към номерата на входните точки. Ако числото не е повече, тогава се извършва второ сравнение – дали А е по-малко от B. Ако е така, се показва съобщение, че числото е по-малко („недостиг”) и отново се връща в началото. Но ако числото A не е по-малко от числото B, тогава, предвид факта, че в момента вече е известно, че не е повече, следователно е равно на числото B и програмата излиза. В същото време може да покаже поздравлението на потребителя за факта, че е отгатнал номера.

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


Ориз. 1.2. Блокова схема за управление на програмата

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Delphi е език за програмиранеи среда за разработка на софтуер. Той е разработен от Borland (известен преди като Inprise). Език за програмиране Delphi, известен преди като Обект Pascal(Pascal с обектно-ориентирани разширения) първоначално е насочен само към Microsoft Windows, но сега ви позволява да създавате собствени приложения за Linux и Microsoft. NET Framework и други (вижте по-долу). Програмиране за начинаещи.
Най-популярната употреба е разработването на настолни приложения и корпоративни бази данни, а като инструмент езикът за програмиране Delph иможе да се използва за повечето видове проекти за развитие. Това беше един от първите езици, който стана известен като инструмент за бърза разработка на приложения (RAD), когато излезе през 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), VC / 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), въпреки че формално не е насочена към диалекти на 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 обикновено се свързва със среда за разработка на приложения, базирана на езика Object Pascal, разработен от Borland. Този език е наследник на Turbo Pascal с обектно-ориентирани разширения, който от своя страна проследява своята история от „чистия“ Pascal, създаден от Никлаус Вирт през 1970 г.

Впоследствие, през 2002 г., разработчиците от Borland официално приравняват Delphi и Object Pascal.

Заден план

Оригиналният Pascal, според неговите разработчици, е имал най-бързия компилатор в света. Освен това заедно с него за първи път беше разработена технологията за създаване на независими от платформата програми, която намери широко приложение в език като Java.

Въпреки това, неговата IDE, ако тази концепция може да се приложи към средата за разработка от онова време, функционираше само на базата на операционната система DOS.

С появата на Windows стана необходимо да се създаде среда за разработка на софтуер за тази платформа. Най-популярното решение за персонални компютри с Windows през 1980-те и началото на 1990-те беше компилаторът Turbo Pascal и IDE от Borland. Вграденият компилатор осигурява висока скорост на компилиране и високо качество на кода (оттук и префиксът Turbo). Средата Turbo Pascal също предоставя отстраняване на грешки в кода и богат набор от примери. Всички тези качества позволиха на Turbo Pascal да се превърне в стандарт на езика Pascal за известно време.

Време за обаждане

Windows започна да разработва графичен интерфейс доста бързо, а Turbo Pascal IDE продължи да използва интерфейс, подобен на DOS. Постепенно Microsoft осъзнава, че е необходимо да се премине към "визуализация" на програмирането.

За да създадат проста програма, разработчиците трябваше да напишат няколко страници код: да напишат обемисти блокове код за менюта и прозорци, шрифтове, изчистване на паметта, бутони за "рисуване" и т.н. Въпреки това, предимствата на Windows GUI бяха доста силни, така че беше необходимо да се подпомогне развитието на операционната система. Microsoft разбра, че е необходимо по някакъв начин да улесни живота на разработчиците. Затова през 90-те години компанията стартира няколко паралелни проекта за създаване на нов език за програмиране и среда за разработка за Windows. Първият знак беше Visual Basic.

Перспективите за езика Pascal в това отношение се оказаха далеч от светли. До средата на 90-те години той вече беше в доста занемарено състояние. Borland започна да го усъвършенства, но скоро стана ясно, че промените и допълненията ще бъдат толкова сериозни, че резултатът от тази работа може да се счита за нов език за програмиране. За новия език е разработена IDE с графичен интерфейс. Новата програмна среда и език бяха общо наречени Delphi.

Новата система (Делфи) получи името си в чест на древногръцкия град Делфи. Името е избрано по причина: град Делфи се свързва с името на бога на мъдростта и покровител на изкуствата Аполон. Според легендата в този град се е намирало главното светилище на Аполон. Неговите сибилни жрици говореха пророчества на онези, които искаха да знаят съдбата им.

„Името Delphi беше предложено от Дани Торп по време на мозъчна атака. Искахме името на системата да отразява уникалната способност на продукта да работи с бази данни и Delphi перфектно отразява такова заслужено име в тази област, като Oracle, поне за тези, които имат комбинация от "Delphic Oracle" за нещо казва “, каза Чък Язжевски, ръководител на изследователската група за развитие на системата Delphi.

Borland Delphi се появява в Русия в края на 1993 г. и веднага придоби голяма популярност.

Основни версии

Версия 1 беше предназначена за разработка за 16-битова Win16 платформа. Започвайки от втората версия, беше реализирана възможността за компилиране на програмата за 32-битовата платформа Win32.


Delphi 1

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


Delphi 3

Заедно с 6-та версия на Delphi беше пусната съвместима с език и библиотека среда Kylix, предназначена за компилиране на програми за операционната система Linux.

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

В Delphi 2006 стана възможно да се пишат .NET приложения, използвайки стандартната библиотека на .NET класове, VCL за .NET. Рамката също така позволява писане на .NET приложения в C # и Win32 приложения в C ++. Delphi 2006 също имплементира Model Driven Architecture (MDA) с ECO (Enterprise Core Objects) версия 3.0.

За какво се борихме

Процесът на разработка в Delphi е изключително опростен. На първо място, това се отнася до създаването на интерфейс, който отнема 80% от времето за разработка на програмата. Достатъчно е просто да плъзнете необходимите компоненти върху повърхността на Windows-прозорец (в Delphi се нарича форма) и да зададете техните свойства с помощта на специален инструмент (Инспектор на обекти). Може да се използва за свързване на събитията на тези компоненти (щракване върху бутон, избор на елемент от списъка с мишката и т.н.) с кода за обработката му.

Разработчикът разполага с мощни инструменти за отстраняване на грешки (до поетапно изпълнение на команди на процесора), удобна контекстно-чувствителна система за помощ (включително API на Microsoft) и инструменти за екипна работа по проект.

Стана възможно да се създават ActiveX компоненти без използване на Microsoft IDL, разширяване на възможностите на уеб сървър (скриптове от страна на сървъра), без практически нищо за HTML, XML или ASP.

Сега можете да създавате разпределени приложения, базирани на COM и CORBA, интернет и интранет приложения, като използвате Borland DataBase Engine, ODBC драйвери или Microsoft ADO за достъп до данни.

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

Промяна

Всяка година излизаше нова версия на Delphi, но след петата сякаш се случи нещо... По-късно се оказа, че успоредно с работата по новата версия на Delphi се разработва и програмен език, подобен на Delphi за Linux . Новият продукт беше наречен Kylix. Delphi оказа огромно влияние върху концепцията за езика C # за платформата .NET. Много от неговите елементи и концептуални решения бяха включени в C #. Една от причините е прехвърлянето на Андерс Хейлсберг, един от водещите разработчици на Delphi, от Borland Ltd. в Microsoft Corp.

През март 2006 г. Borland реши да спре по-нататъшното развитие на IDE на JBuilder, Delphi и C ++ Builder поради нерентабилността на тази посока. Планирана беше продажбата на IDE сектора на компанията. Група защитници на свободния софтуер организира набиране на средства за закупуване на средата за разработка и правата за компилатор от Borland. Въпреки това през ноември същата година беше решено да се откаже от продажбата на бизнеса с IDE.

След това нова компания, CodeGear, се включи в разработването на IDE продукти, която беше финансово изцяло контролирана от Borland.

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

На 25 август 2008 г. Embarcadero, новият собственик на CodeGear, публикува прессъобщение за Delphi за Win32 2009. Тази версия носи много иновации на езиково ниво:

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

Delphi XE2 (2011) добави Win64 компилатор и кръстосана компилация за операционни системи на Apple (MacOS X, iOS).

Всеволод Леонов, руски евангелист Delphi от Embarcadero Technologies, говори за следващата версия в интервюто си:


Delphi XE3 е продължение на следващото поколение на Delphi семейството инструменти за бързо развитие. Нека ви напомня, че през 2011 г. беше пуснат Delphi XE2 с платформата FireMonkey, която е алтернатива на библиотеката за визуални компоненти на VCL.

Той е много подобен на VCL по отношение на използване и състав на компонентите (бутони, етикети, полета за въвеждане, менюта и т.н.), но има възможност да бъде пренесен към друга операционна система. FireMonkey е кросплатформен. Приложенията, създадени с FireMonkey, могат да се компилират както в Windows, така и в Mac OS. С почти едно или две "щраквания" можем да възстановим проекта за принципно различна операционна система. Почти всички демонстрационни проекти, доставени с Delphi на платформата FireMonkey, имат две версии: едната за Windows, другата за Mac OS. И за това не е необходимо да правите промени в изходния код на приложението.

Delphi XE5, пуснат през 2013 г., позволява кръстосана компилация на приложения за ARM / Android устройства.

Delphi 10.1 berlin излезе през април 2016 г. иновации:

  • Object Pascal Compiler и Toolkit за 64-битова iOS;
  • Поддръжка за универсални iOS приложения (включително 32-битови и 64-битови двоични файлове в пакета на приложението);
  • Предварителен преглед на FireUI на мобилни платформи;
  • Преглед на различни устройства;
  • Разширени опции за работа със стилове в Unified Interface Designer, включително универсални стилове и персонализиране на стилове на Windows;
  • FireUI Device Manager ви позволява да променяте спецификациите на наличните устройства и да добавяте нови устройства;
  • Memo, ListView, Calendar, Switch контроли за iOS платформа;
  • Компонент MapView за мобилни платформи (iOS и Android), който поддържа специализирани интерактивни библиотеки с карти за всяка платформа (разработени съответно от Apple и Google).

Нито жив, нито мъртъв

Известно е, че Делфи е трайно „заровен“ или деклариран, че е невъзможно да се живее така. Те твърдят, че системата е станала чудовищна, неуместна, неподдържана, неудобна, нещо друго...

Но можем да припомним, че подобно мнение е по-често срещано в САЩ и Западна Европа, където този език никога не е бил изключително популярен. Там тези съображения могат да бъдат доста разумни в много случаи. Но има и други страни, в които ситуацията може да се различава - страните от ОНД и останалата част от Източна Европа.

Всеволод Леонов е съгласен с това:

Кратка историческа екскурзия за страните от Източна Европа. Образователната система на бившия СССР беше много силна в много аспекти, но не и в приложното програмиране. В началото на 90-те години само тези, които са имали определена специалност, можеха да получат достъп до компютър и да се научат как да правят нещо в съвременните среди за разработка.

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

Така за страните от бившия социалистически лагер пакетът Pascal/Delphi драстично извади икономиката от ИТ забравата благодарение на много прост език за програмиране и среда за визуална разработка, базирана на готови компоненти.

Нов герой от отворен код

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

На базата на FreePascal е създадена безплатната мултиплатформена IDE Lazarus, която ви позволява да работите с проекти на Delphi. Тя се основава на библиотеката с компоненти на Lazarus (LCL).

Списък на декларираните поддържани платформи:

Windows: 98, 2k, XP, Vista, 7, 32 и 64bit;
FreeBSD / Linux: gtk 2.8 и qt4.5, 32 и 64 бита;
Mac OS X: 10.4, LCL само 32-битов, не-LCL може да бъде 64-битов.

От друга страна, средата на Delphi, докато се развиваше, наистина ставаше все по-тромава и неподходяща за обучение по програмиране. Освен това няма безплатна версия на Delphi, дори за академична употреба. Тези фактори доведоха до почти пълното изчезване на Delphi от сферата на образованието.

Въведение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

единица UnitName;

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

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

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

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

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

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

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