Milyen nyelvet használnak a delphiben? A programozásról és a Delphiről

Weboldal:

Delphi(Delphi, ejtsd /ˈdɛlˌfi:/ Figyelj)) egy kötelező, strukturált, objektum-orientált programozási nyelv, az Object Pascal dialektusa. A Delphi 7.0 fejlesztői környezettől kezdve a Borland a Delphi nevet kezdte használni az Object Pascal nyelvre a hivatalos dokumentumokban. 2007 óta a Delphi nyelv (az Object Pascalból eredeztetve) önálló életet kezdett élni, és a modern trendekhez (például a .NET platform fejlődéséhez) kapcsolódó különféle változásokon ment keresztül a programozási nyelvek fejlesztésében: osztálysegítők, operátor túlterhelése, és több is megjelent.

Cél platform

A fejlesztői környezetet kezdetben kizárólag Microsoft Windows alkalmazások fejlesztésére szánták, majd Linux platformokra is implementálták (Kylix néven), azonban a Kylix 3 2002-es megjelenése után a fejlesztése leállt, majd nem sokkal ezután Bejelentették a Microsoft .NET támogatását .

A Lazarus projekt fejlesztői környezetének megvalósítása (Free Pascal, Delphi kompatibilitási módban fordítva) lehetővé teszi Delphi alkalmazások létrehozását olyan platformokra, mint a Linux, Mac OS X és Windows CE.

Voltak kísérletek arra is, hogy a nyelvet GNU projektekben (például GNU Notepad) használják, és fordítóprogramot írjanak a GCC számára.

A nyelv története

Az Object Pascal a Turbo Pascal nyelv fejlődésének eredménye, amely viszont a Pascal nyelvből fejlődött ki. A Pascal egy teljesen procedurális nyelv volt, a Turbo Pascal az 5.5-ös verziótól kezdve objektum-orientált tulajdonságokat adott a Pascalhoz, az Object Pascalhoz pedig dinamikus adattípus-azonosítást, amellyel hozzáférhetett az osztályok metaadataihoz (vagyis az osztályok és tagjaik leírásához). a fordított kódban, más néven introspekciónak – ezt a technológiát RTTI-nek nevezik. Mivel minden osztály örökli a TObject alaposztály funkcióit, bármely objektumra mutató mutató konvertálható azzá, majd használhatja a ClassType metódust és a TypeInfo függvényt, amely introspekciót biztosít.

A C++ Object Pascal másik jellegzetessége, hogy az objektumok alapértelmezés szerint a dinamikus memóriában helyezkednek el. A TObject osztály NewInstance és FreeInstance virtuális metódusait azonban felülbírálhatja. Így abszolút bármely osztály teljesítheti a „vágyat”, „ahol akarok, ott fogok feküdni”. A „több csoportosulás” ennek megfelelően szerveződik.

Az Object Pascal (Delphi) a Turbo Pascal funkcionális kiterjesztésének eredménye.

A Delphi nagy befolyást gyakorolt ​​a .NET platform nyelvi koncepciójának megalkotására. Ennek számos eleme és koncepcionális megoldása bekerült a C#-ba. Ennek egyik oka Anders Hejlsberg, a Delphi egyik vezető fejlesztőjének átigazolása a Borland Ltd.-től. a Microsoft Corp.-nál.

  • A 8-as verzió kizárólag a .NET platform számára képes bájtkód generálására. Ez az első olyan környezet, amely többnyelvű alkalmazások fejlesztésére összpontosít (csak .NET platformra);
  • A későbbi verziók (amelyeket a korábbi sorozatszámok helyett a kiadási évek jelzik) Win32-alkalmazásokat és bájtkódot is készíthetnek a .NET platformhoz.

Ugyanezen év novemberében azonban úgy döntöttek, hogy felhagynak az IDE üzletág értékesítésével. Az IDE-termékek fejlesztését azonban mostantól egy új cég – a CodeGear – fogja irányítani, amelyet teljes egészében a Borland pénzügyileg irányít majd.

2006 augusztusában a Borland kiadta a RAD Studio könnyű verzióját Turbo néven: Turbo Delphi (Win32-hez és .NET-hez), Turbo C#, Turbo C++.

2008 márciusában bejelentették, hogy a termékcsalád fejlesztését leállítják.

2007 márciusában a CodeGear megörvendeztette a felhasználókat a Delphi 2007 frissített Win32 termékcsaládjával és egy teljesen új termék, a Delphi 2007 for PHP kiadásával.

2007 júniusában a CodeGear bemutatta a jövőre vonatkozó terveit, vagyis közzétette az úgynevezett útitervet.

Embarcadero RAD Studio 2010

  • Alapértelmezés szerint teljes Unicode támogatás a nyelv minden részén, VCL és RTL; az összes Windows API-funkció hívásainak lecserélése Unicode-analógokra (azaz a MessageBox a MessageBoxW-t hívja, nem a MessageBoxA-t).
  • Általánosított típusok, alias generikumok.
  • Új $POINTERMATH fordító direktíva.
  • Az Exit függvény immár a függvény típusának megfelelően paramétereket fogadhat el.

Fordítók

  • Az Embarcadero Delphi (korábban CodeGear Delphi és Borland Delphi) valószínűleg a leghíresebb fordítóprogram, amely a Borland Pascal és a Turbo Pascal utódja. Win16 (Delphi 1), Win32 (Delphi 2 és újabb), Win64 (Delphi 16 (XE2) és újabb), valamint .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007) verziókat használ. A .NET támogatást ezt követően külön termékké alakították, Oxygene néven.
  • A Free Pascal (FPC) egy ingyenes Object Pascal fordító, amely különféle Pascal dialektusokat támogat, beleértve a Turbo Pascalt, a Delphit és a saját dialektusait. Jelenleg az FPC x86, x86-64, PowerPC, SPARC és ARM processzorokhoz, valamint különféle operációs rendszerekhez tud kódot generálni, köztük Microsoft Windows, Linux, FreeBSD, Mac OS rendszerekhez. Számos szoftverfejlesztő környezet létezik FPC-hez (az egyik leghíresebb képviselője a Lazarus).
  • GNU Pascal (a GCC-től külön fejlesztett verzió). Nem célja a Delphi dialektusok sorozatának folytatása a Pascal részeként, de ennek ellenére tartalmaz egy kompatibilitási módot a Borland Pascal számára, és nagyon lassan befogadja a Delphi nyelv összetevőit. Nem alkalmas Delphi kódot tartalmazó nagy projektek összeállítására, de érdemes megjegyezni, hogy a legtöbb operációs rendszer és architektúra támogatja ezt.
  • Oxigén (korábbi nevén Króm Figyelj)) egy Object Pascal fordító, amely integrálva van a Microsoft Visual Studióba. Fordítóként is elérhető ingyenes CLI parancssorral. .NET és mono platformokat használ. Jelenleg Embarcadero Delphi Prism márkanév alatt értékesítik.
  • A MIDletPascal egy Delphi-szerű szintaxisú programozási nyelv és egy azonos nevű fordító, amely a forráskódot kompakt és gyors Java bájtkóddá alakítja.
  • PocketStudio – Pascal-alapú, IDE Palm OS-hez.
  • Virtual Pascal – Ingyenes fordító és szöveges IDE Win32, OS/2 és Linux rendszerekhez. Abban az időben nagyon gyors volt és nagyon kompatibilis (a Delphi 5 kialakítások részben támogatottak). Külsőleg nagyon hasonlít a Borland Pascal 7 szöveges környezetére, bár például nincs vele kompatibilis grafika. A fejlesztés azonban 2004-ben véget ért, és a forráskód nem volt nyitva. Azóta az FPC sokat fejlődött, és általában jobb programozáshoz. Mindazonáltal a VP továbbra is nagyon jó lehetőség a Borland Pascal még elavultabb verzióinak gyors cseréjére iskolai/intézményi számára, mivel eredeti, Win32-ben működik, az orosz kódolásokkal nem okoz gondot.

Nyelvi szintaxis

Üzemeltetők

Az operátorok listája szóközzel elválasztva: := + - * / div mod not és vagy xor shl shr ^ =<> >= <= < >@in olyan, mint

Kifejezések

Az Object Pascal (Delphi) kifejezései lehetnek aritmetikai, logikai vagy karakterláncok.

Alapvető logikai kifejezések:
A logikai kifejezéseket főként feltételes utasításokban használják. A logikai kifejezések olyan műveleteket tartalmaznak, mint például:

  • nem - „NEM”, egy logikai kifejezés tagadása (NOT<логическое_выражение>)
  • és - „És”, logikai kifejezések szorzása (metszéspontja) (<логическое_выражение1>ÉS<логическое_выражение2>)
  • vagy - „OR”, logikai kifejezések kombinálásával (<логическое_выражение1>VAGY<логическое_выражение2>)
  • xor - „Kizárólagos VAGY”, a VAGY tagadása, minden, ami nem tartozik az VAGY alá (<логическое_выражение1>XOR<логическое_выражение2>)

Adattípusok

A programban feldolgozott adatok változókra, konstansokra és literálokra vannak felosztva. A konstansok olyan adatok, amelyek értékei a konstans deklarációs részben vannak beállítva, és nem változnak a program végrehajtása során.

Objektumok

  • Embarcadero termékek: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1. és 2. verzió.
  • Adatbázis adminisztráció és fejlesztés: MySQL Tools, IBExpert.
  • Mérnöki szoftver: Altium Designer.
  • Fájlkezelők: Total Commander, Fregate.
  • Grafikus megjelenítők: FastStone Image Viewer, FuturixImager, drComRead.
  • Videó- ​​és audiolejátszók: könnyűfém, The KMPlayer, AIMP, X-Amp.
  • Azonnali üzenetküldő programok: QIP, R&Q, Skype GUI, The Bat! , PopTray , FeedDemon .
  • Zenekészítés: FL Studio, Guitar Pro (6.0-s verzióig).
  • Szoftverfejlesztés: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter.
  • Webfejlesztés: Macromedia HomeSite.
  • Szövegszerkesztők: BirEdit, Notepad GNU, Bred.
  • Számvitel és adózás: „PARUS”, AVARDA (6.x verzióig).
  • Animációk készítésére szolgáló programok: Pivot Stickfigure Animator.
  • Adattömörítő programok: ALZip, PowerArchiver, PeaZip.
  • Számítógépes játékok: Age of wonders, Space Rangers, Venom. Kódnév: Outbreak, Space Empires V, "The Truth about the Ninth Company".
  • Grafikus szerkesztők: Real Paint.

Megjegyzések

Irodalom

  • Neil J. Rubenking. Delphi programozási nyelv próbababákhoz. Bevezetés a Borland Delphibe 2006 = Delphi for Dummies. - M.: Dialektika, 2007. - 336 p. - ISBN 0-7645-0179-8
  • Javier Pashecu. Programozás a Borland Delphi 2006-ban szakembereknek = Delphi for .NET Developer’s Guide. - M.: Williams, 2006. - 944 p. - ISBN 0-672-32443-X
  • A. N. Valvachev, K. A. Surkov, D. A. Surkov, Yu M. Chetyrko. Programozás Delphi nyelven. Oktatóanyag . - 2005.

Linkek

  • Programozási környezet oldal a weboldalon Embarcadero Technologies

Tehát ebben a cikkben arról fogunk beszélni, hogyan határozható meg a Windows operációs rendszer bitessége a Delphi programozása során. Erre például az illesztőprogram egyik vagy másik verziójának kiválasztásához van szükség - x86 (32 bit) vagy x64 (64 bit).

Tehát kezdjük.

Hozzunk létre egy új projektet, és adjunk hozzá egy Címke komponenst az űrlaphoz.

Ezután megyünk a forráskód-szerkesztőbe, és a var változókat tartalmazó részben adjuk hozzá a razr karakterlánc változót (string adattípus, azaz string).

var Form1: TForm1;

razr: string;

Ezt követően kattintson duplán az űrlapra, másolja be és illessze be a következő kódot (a TForm1.FormCreate főűrlap létrehozási eljárásában), a kifejezések között kezdődik és vége; (vagyis az eljárás kezdete és vége).

(A Get Environment Variable függvény segítségével a ProgramFiles(X86) változó értékét olvassuk ki

ha a rendszer 32 bites, akkor üres lesz az értéke

ha 64 bites, akkor ismeri a C:Program Files(x86)

azaz a mappa, amelybe a programok 32 bites verziói telepítve vannak)

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

címke1.Felirat:= razr;

if (razr = "") akkor

kezdődik

label1.Font.Color:=clRed; (Megváltoztatja a felirat színét, tetszés szerint választhatsz, pl. clGreen - zöld)

label1.Caption:= "X86-od van"; (a labl1 címkenév helyett bármi mást írhat, pl. metka)

más

kezdődik

label1.Font.Color:=clBlue; (Megváltoztatja a felirat színét, tetszés szerint választhatsz, pl. clGreen - zöld)

label1.Caption:= "X64-ed van";

vége;

Hogyan működik a program?

A Környezeti változó lekérése funkció beolvassa egy környezeti változó értékét a Windows rendszerben ProgramFiles (X86).

Ha a rendszer 32 bites, akkor üres lesz az értéke.

Ha 64 bites, akkor a C:Program Files(x86) tudással rendelkezik, azaz ez az a mappa, amelybe a programok 32 bites verziói vannak telepítve.

Valójában ez minden.

Ez történt velem.

Az alábbiakban letöltheti az archívumot a program forráskódjával, hogy megpróbálja kitalálni, hogyan működik.


Hozzászólások ()

wdfm 90

A program jól működik Windows 7 x64 alatt, használhatod

Edward 300

Aki témán kívüli + trágár nyelvezetbe kezd, azt 1 napra kitiltják! Ez a rendszergazdákra nem vonatkozik.
.php?board=18.0

Nem hiába hoztam létre ezt a fórumot!

Edward 300

Bevezetés

Ezen irányelvek célja, hogy segítsék a tanulókat gyakorlati ismeretek elsajátításában a saját Windows-alkalmazásaik vizuális tervezésének technológiájában a Delphi környezetben, objektumorientált programozási módszertan használatával. A laboratóriumi munka lefedi a Windows programfejlesztés főbb szakaszait.

Az irányelvek három részből állnak. Az első rész a vizuális alkalmazástervezés és a Delphi programozási környezet alapfogalmait ismerteti. A második rész általános követelményeket fogalmaz meg a laboratóriumi eredmények megvalósítására és bemutatására. A harmadik rész konkrét laboratóriumi munkák leírását tartalmazza a szükséges rövid elméleti információkkal, programtervezési példákkal, munkavégzési ajánlásokkal, munkavégzési feladatváltozatokkal és önellenőrzési kérdésekkel. A munka befejezéséhez a hallgatóknak ismerniük kell az Object Pascal nyelvet és a Delphi vizuális programozási környezetet.

A Delphi alapfogalmai és definíciói

delphi programtömb vizuális

A Delphi indítása utáni képernyő négy ablakot tartalmaz: a főablakot, az űrlapokat, az objektumvizsgálót és a kódszerkesztőt, amelyet szinte teljesen lefed az űrlapablak.

A főablak tartalmazza a Delphi parancsmenüt, az eszköztárat és a komponenspalettát.

Az űrlapablak, melynek címe FORM1, egy sablont, a fejlesztés alatt álló alkalmazás egyik objektumának elrendezését képviseli.

Az Object Inspector ablak, annak Object Inspector címe lehetővé teszi a projektobjektumok tulajdonságainak megtekintését és módosítását. A Delphi elindítása után ez az ablak a FORM1 űrlap tulajdonságait jeleníti meg.

A kódszerkesztő ablak eseménykezelési eljárások létrehozására szolgál. Delphiben a kód egy program szövege.

Az objektumok vagy vezérlők olyan űrlap-összetevők, amelyekből egy projekt készül, maga az űrlap, mint fentebb említettük, szintén objektum. Az objektumok lehetnek parancsgombok, szövegbeviteli mezők, kapcsolók, címkék, görgetősávok és ablakok.

Egy objektum tulajdonságai például a címszöveg mérete, az űrlap háttérszíne vagy a parancsgombon lévő szöveg és még sok más, a tulajdonságok teljes listája megtekinthető az Object Inspector ablakban a kiválasztott objektumhoz tárgy.

Az esemény olyan esemény, amely a létrehozott alkalmazás futása közben történik. A Delphiben minden eseménynek van neve, például az egérkattintás OnClick esemény, a dupla kattintás pedig OnDblClick esemény.

A projekt fájlok (programegységek - modulok) halmaza, amelyek segítségével a fordító létrehoz egy futtatható programfájlt. Az egyik projektfájl, a projektfájl neve, dpr kiterjesztéssel, a projekt általános leírását tartalmazza. A projektfájl a Delphi által generált fő alkalmazásmodul. A fő modulon kívül a projekt egy vagy több modult (egységet) tartalmaz. A projektmodul fájlok (Unit) tartalmazzák az eljárások szövegét, a függvényeket, a típusleírásokat, valamint a futtatható program létrehozásához szükséges összes információt, és pas kiterjesztéssel rendelkeznek. Az eljárás operátorok csoportja egy programozási nyelvben, amely lehetővé teszi bizonyos műveletek végrehajtását (probléma megoldását). Így vagy úgy, az inicializáláshoz lefordított összes végrehajtható kód szükségszerűen valamilyen eljárásba kerül.

Egy egység három részből áll: interfész (az interfész szóval kezdődik), megvalósítás (az implementetion szóval kezdődik) és. Alább látható a modul felépítése.

unitModuleName;

(Itt találhatók a modul eljárásainak és funkcióinak leírásai, amelyeket más modulok is használhatnak)

(Itt vannak a modulok globális konstansainak deklarációi, amelyeket a moduleljárások és -függvények használhatnak)

(Itt vannak olyan globális modultípusok deklarációi, amelyeket a moduleljárások és -függvények használhatnak)

(Itt találhatók a modulok globális változóinak deklarációi, amelyeket a moduleljárások és -függvények használhatnak)

(Itt található a modul eljárásainak és funkcióinak leírása)

(A modulváltozó inicializálására vonatkozó utasítások itt találhatók)

Így az interfész szakasz megmondja a fordítónak, hogy a modul mely része elérhető más programmodulok számára. Az implementációs szakasz egy direktívával ($R*.DFM) kezdődik, amely arra utasítja a fordítót, hogy űrlapleírást használjon a végrehajtható fájl generálásakor. az űrlapleírás egy dfm kiterjesztésű fájlban található, amelynek neve megegyezik a modul nevével. Az utasítást ($R*.DFM) eseménykezelési eljárások követik az űrlaphoz és összetevőihez. A programozó itt kidolgozott eljárásokat és funkciókat is elhelyezhet. Ha az inicializálási szakasz nem tartalmaz utasításokat, akkor a begin szó nincs megadva.

A Delphi egy programozási nyelvés szoftverfejlesztő környezet. A Borland (korábbi nevén Inprise) fejlesztette ki. Delphi programozási nyelv, korábbi nevén Pascal objektum(Pascal objektumorientált kiterjesztéssel), eredetileg csak a Microsoft Windows rendszert célozta meg, de mára lehetővé teszi natív alkalmazások készítését Linuxra és Microsoftra. NET Framework és mások (lásd alább). Programozás kezdőknek.
A legnépszerűbb felhasználási terület az asztali alkalmazások és vállalati adatbázisok fejlesztése, illetve eszközként a Delph programozási nyelv. És a legtöbb fejlesztési projekthez használható. Ez volt az egyik első nyelv, amely RAD (Rapid Application Development) eszközként vált ismertté, amikor 1995-ben megjelent. Az egy évvel később megjelent Delphi 2 támogatta a 32 bites Windows környezetet, és csak néhány évvel később jelent meg a C, C++ Builder. 2001-ben elérhetővé vált egy Linux-verzió Kylix (klasszikus görög urna) néven. Minden évben megjelent egy új verzió, 2002-ben a termék Delphi 7 Studio néven vált ismertté, a nyelvet hivatalosan is Delphi programozási nyelvnek nevezték el Object Pascal helyett, és hozzáadták a Linux támogatását (Kylixen keresztül) és. NET (az előfordítón keresztül). Teljes támogatás. A NET-et a közelgő Delphi 8-hoz tervezik. Programozás a figuráknak.
A Delphi és a Kylix fő összetevői: a Delphi nyelv (korábbi hivatalos nevén Object Pascal nyelv), VK/CLX (Visual Component Library), erős adatbázis-kapcsolatok, erős IDE-vel (Integrated Development Environment) és további támogató eszközökkel kombinálva.
A Delphi nyelv nagyszerű tulajdonságai a következők:

  • Objektumok átlátható kezelése hivatkozásokon vagy mutatókon keresztül
  • Tulajdonságok a nyelv részeként, a Get és Set funkciókkal párosulva, amelyek átláthatóan magukba foglalják a mezőtagokhoz való hozzáférést
  • Index és alapértelmezett tulajdonságok, amelyek kényelmes és átlátható hozzáférést biztosítanak a gyűjteményhez
  • A komponensek által előidézett események aktiválására használt küldöttek vagy más típusbiztos mutató módszerek
  • Interfész implementáció delegálása egy osztály mezőjére vagy tulajdonságára
  • Könnyen megvalósítható Windows üzenetkezelők, jelölje meg az osztálymetódusokat a kezelni kívánt üzenetdoboz számával/nevével
  • A fent felsorolt ​​funkciók többségét először a Delphiben vezették be, majd később más nyelveken is átvették.

A Delphi és elődje, Turbo Pascal főépítésze Anders Hejlsberg volt, amíg 1996-ban a Microsofthoz nem költözött, hogy munkáját a programozás alapjainak szentelje.
A Delphi terméket különféle csomagokban forgalmazzák, amelyek mindegyike több funkciót kínál, mint a többi:

  • Személyes
  • Szakmai
  • Vállalat
  • Építészmérnök

Jó okok a Delphi használatára:

  • Nagyon informatív és hasznos hír a közösség számára
  • Egyetlen végrehajtható fájlba fordítható, ami megkönnyíti a terjesztést és csökkenti a különböző DLL-ekkel kapcsolatos problémákat
  • A VCL és a harmadik féltől származó összetevők általában teljes forráskóddal érhetők el
  • Erőteljes és gyors optimalizáló fordító
  • Egy forráskód kiváló gépi kódokat állít elő különböző operációs rendszerekhez
  • A legújabb technológiák és szabványok támogatása

Klónok és alternatívák

Bár nem képes kielégíteni a programozók minden igényét, van egy sor további eszköz, amelyek a Delphi segítségével megoldható feladatok körének bővítésére szolgálnak, vagy ez megtehető más nyelvű kód beszúrásával, ahol a Delphi és a Kylix tehetetlen.
Ezek a Delphi-helyettesítők akkor használhatók, ha nem tud fizetni egy fejlesztői környezetért, vagy ingyenes fejlesztői környezetre van szüksége (például operációs rendszerekhez és ingyenes szoftverekhez, vagy oktatási célokra). A legtöbb esetben ezeket az alternatívákat a nem széles körben használt operációs rendszerek oktatására, valamint szerverkomponensek írására használják (ez egészen addig volt, amíg a Kylix meg nem jelent a Linux operációs rendszerhez, amelyet a többség szerverek operációs rendszereként használ). . .
Soroljunk fel néhányat:

  • A Free Pascal egy helyettesítő, amely fordítóként érkezik, amely a parancssorból fut. Ez a fejlesztés a Turbo Pascal és a Delphi dialektusok alapvető funkcióival való kompatibilitáson alapul. A Delphi 4 feletti verzióinak szolgáltatásai megvalósultak és működnek. Működik a legtöbb x86 operációs rendszeren, beleértve a Win32-t, a Dos-t, a Linuxot, a BSD-t és a Novell Netware-t. Az m68k és a PowerPC nem támogatja a többi operációs rendszert, amelyek állapota továbbra is nagyon gyorsan változik. Megkezdődött a SPARC platformra való átállás munkája.
  • A GNU Pascal (a GNU Compiler Collection külön terjesztett része), bár formálisan nem a Borland Pascal dialektusokra irányul, kompatibilis a Borland Pascal nyelvvel, és fokozatosan magába szívja a Delphi nyelv tulajdonságait, bár nem alkalmas nagy mennyiségű fordítás újrafordítására. Delphi kód. Ez a legtermékenyebb fordító az operációs rendszerek és processzorok tekintetében, bár csak utolsó lehetőségként érdemel említést.
  • Létezik egy Pocket studio nevű eszköz, amelynek célja lecsupaszított Delphi-kód fordítása Pocket PC-kre.
  • Virtual Pascal - fordító, x86 32 bites Turbo Pascal és Delphi, elsősorban OS/2 és Windows rendszerrel kompatibilis, bár kifejlesztettek egy DOS Extendert és egy kísérleti Linux keresztfordítót. A fordító megragadt a Delphi 2-es verziója körül, és az oldal nem sokat változott két év alatt, de alternatívaként ez a másik a legjobbak között, remek IDE-vel és hibakeresővel, bár a Free Pascal sem lomha.
  • A BloodShed egy nagyon jó Win32 grafikus szerkesztőt forgalmaz (bár nem RAD-ot) a GNU Pascal és a Free Pascal felületeként.
  • A Lazarus erőfeszítései a Free Pascal fejlesztői környezetének megteremtésére irányulnak. Míg a GTK port egyre hasznosabb kis alkalmazások, például konfigurációs eszközök írásához, a win32 port még mindig sok munkát igényel.
  • Az InnerFuse egy Delphi fordító az alkalmazásokba való beágyazáshoz. Vannak pletykák, amelyek a Delphi több verziójával is működnek.
  • A WDOSX egy Win32 DOS Extender emulációs API, amellyel a Delphiben írt konzolalkalmazások normál DOS-on futhatnak.

Hogyan válhat weboldalfejlesztő szakemberré, és hogyan kezdhet el pénzt keresni? Olcsó videó tanfolyamok bevezető bevezetővel.

Kezdjük a Delphi környezetben való programozás bemutatását olyan kérdésekkel, mint maga a programozás lényege, alapjai és altípusai. Azt is megnézzük, mi a Delphi környezet, miben különbözik a többitől, és milyen utat járt be 10 évvel ezelőtti létrejötte óta.

Mi a programozás

Tehát először is értsük meg magunknak, mit jelent a programozás kifejezés? Manapság sokan programozónak nevezik magukat, anélkül, hogy tudnák, mi az: ha bejelölik, kiderül, hogy az a személy, aki néhány sornyi kódot megváltoztatott egy HTML-dokumentumban, már készen áll arra, hogy programozónak tekintse magát. Valójában azonban a HTML-lel (nevezetesen magával a HTML-lel) dolgozva nem lehet programozó, mivel a HTML, ahogy a neve is sugallja (Hypertext Markup Language), nem programozási nyelv.

Ennek eredményeképpen megvan az első feltétel: a programozás megtanulásához szükség van valamilyen programozási nyelvre. Esetünkben ez az Object Pascal legújabb verziója (14.0 vagy 15.0).

Továbbá mondjuk aki magát programozónak nevezi, nem csak szerkesztett pár soros HTML kódot, hanem látta a Delphit is, sőt még egy űrlapot is rajzolt bele 2-3 gombbal és szövegmezővel. Ez egy programozó? Nagy valószínűséggel nem is. A tény az, hogy a vizuális héj alatt valójában egy nagyon összetett mechanizmus rejtőzik, amely biztosítja a kezelőszervek (ugyanazok a gombok) interakcióját a felhasználóval és az operációs rendszerrel - egyrészt, és lehetővé teszi szinte bármilyen számítási művelet végrehajtását. - a másikon. Mindezzel el kell tudni végezni a legfontosabb dolgot - algoritmusokat készíteni a program viselkedéséhez - legyen szó egy adott gomb megnyomására adott reakciójáról, vagy egy összetett matematikai egyenlet megoldására szolgáló függvény létrehozásáról.

Tehát a programozás modern koncepciójában magában foglalja az operációs rendszer működési elveinek, összetevőinek kölcsönhatásának és belső felépítésének ismeretét. Nos, ugyanakkor megmarad a programozás klasszikus definíciója, nevezetesen az algoritmusok, matematikai és viselkedési programok összeállításának képessége. Mindezt valamilyen programozási nyelv, például ugyanaz az Object Pascal a Delphi-ből valósítják meg.

Mi az a Delphi

Ma már tudjuk, hogy a programozás algoritmusok összeállítása és egy programozási nyelv használata. De ha a tanult nyelv az Object Pascal, akkor mi az a Delphi? A válasz: a Delphi egy RAD vagy Rapid Application Development – ​​egy gyors alkalmazásfejlesztő környezet. Más szóval, a Delphi nemcsak az Object Pascal nyelvvel való munkavégzéshez szükséges összes eszközt tartalmazza (főleg, hogy a 2005-ös verziótól kezdve a Delphi támogatja más programozási nyelveket, különösen a C#-t), hanem számos további eszközt is, amelyek a gyorsítást szolgálják. amennyire csak lehetséges, és egyszerűsítse a programok létrehozását. Ezek közé az eszközök közé tartozik mindenekelőtt a vizuális űrlapszerkesztő, amelynek segítségével percek alatt és extra erőfeszítés nélkül teljes értékű programot készíthet, valamint a programfejlesztés vizuális összetevőjének egyéb összetevőit.

Ennek eredményeként a programfejlesztési idő jelentősen lecsökken, mivel nincs szükség az egyes felhasználói felületelemek helyének manuális kiszámítására.

A kifejlesztett kódírási és hibakereső eszközökkel - egy speciális szövegszerkesztővel, egy optimalizáló fordítóval és egy hibakeresővel - együtt a Delphi egy eszköz a gyors alkalmazásfejlesztéshez. Ugyanakkor a végfelhasználó számára a Delphi alapja az IDE - Integrated Development Environment, amely kódszerkesztőt és vizuális fejlesztőeszközöket egyesít, és ezt összekapcsolja egy fordítóval, adatbázis-fejlesztő eszközökkel és a Delphi egyéb összetevőivel.

Delphi és mások

Természetesen nem a Delphi az egyetlen gyors alkalmazásfejlesztő környezet. Vannak más RAD-ok, amelyek ugyanolyan hasznosak a vizuális programok fejlesztéséhez, mint például a Visual Basic. De a BASIC nem a legerősebb és legkényelmesebb programozási nyelv, ráadásul a rá írt programokat viszonylag alacsony teljesítmény jellemzi.

Ugyanakkor vannak olyan programozási nyelvek, amelyek nem kevésbé erősek, mint az Object Pascal, és saját RAD-jukkal rendelkeznek - először is ez a C++ nyelv, valamint olyan jól ismert fejlesztőeszközök, mint a Visual C++ és a C++ Builder. A C++ azonban nem hasonlítható össze az Object Pascallal a könnyű tanulás szempontjából. Ráadásul a programok felépítése és hibakeresése C++ nyelven viszonylag lassú, bár a kész programok ugyanolyan gyorsan futnak, mint a Delphi segítségével készültek.

JEGYZET
Ne feledje, hogy 1995-ös megjelenése idején a Delphi valóban egyedülálló környezet volt, amely a vizuális programozást optimalizáló fordítóval és az adatbázisokkal való munkavégzéshez szükséges eszközökkel kombinálta.

Ennek köszönhetően a gyors programfejlesztéshez szinte ideális terméket kapunk: egyrészt a Visual Basichez mérhető egyszerűség és kényelem, másrészt a C++-ra jellemző teljesítmény, sebesség és rugalmasság.

Itt meg kell jegyezni, hogy a Delphiben használt Object Pascal nyelvnek alig van köze elődjéhez - a Pascal programozási nyelvhez, amelyet esetleg iskolában vagy egyetemen tanult. Először is, a Delphi tisztán objektum-orientált programozási modellt használ, míg a Pascal egy szabályos eljárási nyelv volt. Mi a procedurális programozás és az objektum-orientált programozás közötti különbségek lényege? Ez az a kérdés, amelyet a következő két bekezdésben tárgyalunk.

Eljárási programozás és algoritmusok

Szinte minden modern programozási nyelv procedurális jellegű. Ez azt jelenti, hogy minden program eljárások halmazából áll, amelyek mindegyike egy adott problémát old meg, míg az egyik eljárás bármelyik másikat meghívhatja, beleértve önmagát is (ez utóbbit, azaz a magát hívó eljárást rekurziónak nevezzük). Maga a program algoritmusok alapján van összeállítva, és ezeknek csak három változata elegendő - kiválasztás (villa), ismétlés (ciklus) és átmenet. Ez utóbbi típust azonban a gyakorlatban gyakorlatilag nem használják rossz híre miatt (a GOTO-ról beszélünk - a BASIC programozók egykor szeretett, kétségbeesett operátoráról).

Nézzük a legegyszerűbb algoritmust - a "találd ki a számot" játékhoz. Működésének logikája az, hogy ellenőrizni kell, hogy a szám nagyobb-e vagy kisebb-e, mint a rejtett, és ha igen, akkor megjelenik a megfelelő tipp, és ha nem nagyobb vagy kevesebb (azaz egyezés), akkor a játék véget ér. . Egy ilyen algoritmus blokkdiagramja 2 ágból fog állni (1.1. ábra).

Rizs. 1.1. Egy egyszerű algoritmus folyamatábrája

Itt az első lépés az A szám kérése a felhasználótól, amelyet kétszer összehasonlítanak egy előre megadott B számmal. Először is ellenőrzi, hogy az A szám nagyobb-e, mint B, és ha igen, akkor a program jelzi, hogy a "túllövés" történt, és visszatér a belépési pont számokhoz. Ha a szám nem nagyobb, akkor egy második összehasonlítás történik – annak ellenőrzésére, hogy A kisebb-e, mint B. Ha ez a helyzet, akkor egy üzenet jelenik meg, amely szerint a szám kisebb ("alulérték"), és ismét egy visszatérés. elejéig előfordul. De ha az A szám nem kisebb, mint a B, akkor, tekintettel arra, hogy pillanatnyilag már ismert, hogy nem nagyobb, egyenlő a B számmal, és a program befejeződik. Ugyanakkor megjelenítheti a gratulációkat a felhasználónak a szám kitalálásáért.

Ez az algoritmus egy másik algoritmus része lehet. Például nincs előírás magának a számnak a generálására, amelyet ki kell találni. Szintén nincs visszajátszási lehetőség. Ennek a helyzetnek a kijavításához vegye figyelembe a program egészének végrehajtását vezérlő algoritmus blokkdiagramját (1.2. ábra).


Rizs. 1.2. Programvezérlő folyamatábra

A végrehajtás elején egy új szám jön létre, amelyet a felhasználó kitalál. Ezután következik maga a találgatási blokk, amelyet már megvizsgáltunk (lásd 1.1. ábra) - itt egyetlen egyszerű modul formájában mutatjuk be, mivel nem befolyásolja a program egészének végrehajtását. A blokk befejezése után egyetlen águnk van - attól függően, hogy a felhasználó mit válaszol a játék megismétlésére vonatkozó ajánlatra. Tehát, ha a válasz pozitív, akkor a programnak az elejére kell mennie, azaz. új szám generálásához. Ha a felhasználó megtagadja, akkor a programot le kell állítani.

Egy adott algoritmus konkrét megvalósítása a használt programozási nyelvtől, valamint a programkészítő preferenciáitól függ, hiszen ugyanaz a konstrukció általában többféle módszerrel is megoldható. Használhat például ciklusokat és feltétel nélküli jump utasításokat is a blokkdiagramon jelzett ponthoz való visszatéréshez. Nos, maguk a blokkok elhelyezhetők külön eljárásokban, és szubrutinoknak hívhatók. Az egyetlen közös vonás a forkért felelős feltételes operátor - szinte minden nyelven, és ez alól a Pascal sem kivétel, ezt IF-nek hívják. Azonban még lesz időnk megismerkedni az Object Pascal operátorokkal.

Az objektum-orientált programozásról

Ha a kijelölés, az ismétlés és az ugrás a sarokkövei bármely eljárási programozási nyelvnek, akkor objektumorientált programozás fontosak az olyan fogalmak, mint a tokozás, az öröklődés és a polimorfizmus. Nézzük meg részletesebben ezeket a fogalmakat, amelyek nélkül egyetlen objektum-támogató nyelv sem nevezhető objektumorientáltnak.

JEGYZET
Az objektum alatt a programozásban egy bizonyos összetett adattípust értünk, amelyhez ehhez a típushoz egyedi tulajdonságok kapcsolhatók, illetve az OOP esetében a metódusok is.

A beágyazás az adatok és az azokat feldolgozó szubrutinok - metódusok - kombinációja egy objektumon belül, amelyet az OOP-ban "osztálynak" neveznek. Ez azt jelenti, hogy az osztály mindent magába foglal, ami egy adott objektummal való munkához szükséges.

Az öröklődés az OOP másik fontos része. Az öröklődés egy típus (objektum) létrehozásának képességét jelenti egy másik objektum definíciója alapján. Ebben az esetben a szülőobjektum összes tulajdonsága és metódusa örökölhető a gyermek által. Például, ha van egy „autó” objektumunk, akkor annak alapján létrehozhatunk egy másik objektumot, mondjuk a „villamost”, amely örökli minden tulajdonságát, és ezeken kívül megkapja a sajátjait is. Viszont ennek az objektumnak is lehetnek saját leszármazottai stb. Az eredmény egy objektumfa, az úgynevezett osztályhierarchia.

Az Object Pascalban minden osztály egyetlen őstől származik - a TObject osztálytól, amely az összes osztályra jellemző objektumon hajt végre műveleteket, például létrehozást és törlést.

TANÁCS
A Delphi dobozos verziói tartalmaznak egy posztert, amely az összes fő Delphi összetevő osztályfáját mutatja. Ezért, ha Ön egy licencelt termék boldog tulajdonosa, vizuálisan tanulmányozhatja ennek a rendszernek a felépítését, ha elhelyezi ezt a plakátot a munkahelyén.

Végül a harmadik pillér, amelyen az OOP áll, a polimorfizmus, vagyis az azonos nevű tulajdonságok és metódusok létrehozásának képessége a kapcsolódó objektumokon belül, amelyek lényegében különböznek egymástól. Tegyük fel, hogy már megvan az „autó” és a „villamos” osztály, és mindkettőnél a „motor” tulajdonság definiálva van, de ha egy személygépkocsinál a motortípus egy típusú objektum, akkor a villamosnál teljesen más egy.

Az OOP másik fontos komponense az elrejtés, amely lehetővé teszi számos objektumtulajdonság láthatatlanná tételét. Más szóval, ha meg tudunk határozni egy „autó” típusú objektumot, amelyhez viszont olyan tulajdonságok vannak meghatározva, mint az alváz, a motor és a kerekek. Tehát ha a motort és a kerekeket mindenhol láthatóvá (és hozzáférhetővé) lehet tenni, ahol maga az „autó” osztály elérhető, akkor a futómű nem. Ennek megfelelően egy ilyen tulajdonsághoz csak a program azon részeiben lehet hozzáférni, amelyekben magának a „gép” objektumnak a leírása készül. Az ilyen tulajdonságokat védettnek nevezzük.

Az objektum-orientált programozás további részleteiről a kiadvány második részében lesz szó.

Vizuális programozás és Delphi

Tehát a Delphi egy olyan környezet, amely az Object Pascal objektumorientált strukturális programozási nyelvvel működik. Ezen kívül a Delphi egy vizuális fejlesztőkörnyezet is. Más szóval, már a program létrehozása során láthatja, hogyan fog kinézni a végrehajtás során. A vizuális programozás drámaian csökkenti a Windows alkalmazások felhasználói felületének létrehozásához szükséges időt. A vizuális fejlesztőeszközök megjelenése előtt a Windows alatti programozás nagy nehézségekkel járt, mivel szinte vakon kellett kiszámítani az egyes vezérlők helyét az alkalmazás ablakában, ami sok hibához vezetett (1.3. ábra).


Rizs. 1.3. Klasszikus és vizuális megközelítések a felület létrehozásához

Az a tény, hogy a Delphi egy vizuális fejlesztőkörnyezet, rányomja bélyegét a programozási nyelvre. Konkrétan speciális eszközöket biztosít annak érdekében, hogy az osztályok bizonyos tulajdonságai már a programfejlesztés szakaszában elérhetőek legyenek, és ne csak futási időben. De ennek a pompának a legfontosabb része az osztálykönyvtár - VCL (Visual Component Library). Ez az a VCL, amely elrejti a Windows belső összetevőinek minden durva szélét, és lehetővé teszi az alkalmazások egyszerű létrehozását anélkül, hogy elhúzódó háborúba keveredne a rendszerüzenetek, visszahívások, leírók és mutatók feldolgozásával.

Mindezzel persze senki sem tiltja, hogy szükség esetén a VCL-t megkerülve közvetlenül használd a Windows-funkciókat. Erre azonban nagyon ritkán lehet szükség, így egy kezdő Delphi programozónak a VCL-en kívül semmi másra nincs szükség a Windows alkalmazások írásához.

A vizuális összetevőket részletesen megvizsgáljuk a könyv 3. részében.

Delphi verziók és különbségeik

A bevezető rész végén áttekintjük a Delphi verziói közötti különbségeket, egyúttal e csodálatos fejlesztői környezet fejlődéstörténetét is tanulmányozva.

Delphi 1. A nem sokkal a Windows 95 megjelenése előtt kiadott Delphi 1.0 volt az első Windows (3.1) alkalmazásfejlesztő eszköz, amely optimalizáló fordítót, vizuális fejlesztőkörnyezetet és hatékony adatbázis-eszközöket kombinált. Ez a Pascal nyelv igazi reinkarnációja volt – Object Pascal lett belőle.

Delphi 2. A Delphi egy évvel később kiadott 2. verziója ugyanezt kínálta, de a Windows 32 bites verzióihoz (95/NT), ismét az első olyan eszköz lett, amely egy 32 bites fordítót, az adatbázisokkal való munkavégzésre szolgáló eszközöket és a vizuális megjelenítést egyesíti. fejlesztői környezet, támogatja az OLE-t (és a frissített Delphi 2.01 - és ActiveX megjelenése után). A nyelv is megváltozott, 32 bites lett.

Delphi 3. A Delphi minden irányban történő további fejlesztése a 3-as verzió kiadásához vezetett, amely a COM és az ActiveX támogatásának köszönhetően kibővített eszköztárat tartalmazott az alkalmazások létrehozásához. Ebben a verzióban először helyezték a hangsúlyt az internetes alkalmazások készítésének lehetőségére, és megjelent egy típus nélküli adattípus - variáns.

Delphi 4. Egy másik fontos fejlesztési mérföldkő. Ebben a verzióban sok új és hasznos dolog került bevezetésre az alkalmazásfejlesztés egyszerűsítésére, többek között egy új környezet dinamikus tippekkel stb. Az alkatrészekkel való munkavégzés modelljét (VCL) továbbfejlesztették, és lehetővé vált az olyan technológiák gyors használata, mint a MIDAS, DCOM és CORBA. Ebben a verzióban az Object Pascal nyelvet is továbbfejlesztették: megjelentek a modern OOP-ra jellemző újdonságok, új adattípusok kerültek bevezetésre, köztük a 64 bitesek is.

Delphi 5. A Delphi 4-ben annyi változás történt, hogy sajnos előfordult néhány bosszantó hiba és hiba. Az eredmény 3 frissítési csomag kiadása volt (kalózaink a Delphi 4.1, 4.2 és 4.3 leple alatt árulták ezeket). De a Delphi 5-öt a legteljesebb és leghelyesebb frissítési csomagnak kell tekinteni - ebben a verzióban minden megvalósult, ami a Delphi 4-ben elkezdődött.

Delphi 6. A hatodik verzió kiadásával a Borland egy új, több platformra kiterjedő korszakot jelentett be a Delphiben, ezzel egyidejűleg kiadta a Delphi for Linux verzióját (Kylix 1.0). Most egy alkalmazás létrehozásakor kiválaszthatja a típusát - Windowshoz vagy univerzálishoz. Ennek megfelelően a VCL könyvtár kiegészült a CLX könyvtárral, amely Windows és Linux rendszerrel is kompatibilis. Ezenkívül a 6. verzióban a „natív”, és nem a külföldi ActiveX-ben végre megjelentek az internettel való munkavégzéshez szükséges összetevők, és mindkét verzióban egyszerre - mind a VCL, mind a CLX számára. Ettől a verziótól kezdve magát az Object Pascal programozási nyelvet hivatalosan Delphinek hívják.

Delphi 7. A Delphi 6 továbbfejlesztése, egy továbbfejlesztett CLX könyvtár és a fejlesztői környezet új, megfelelő verziója a Linux operációs rendszerhez - Kylix 3. Ugyanakkor a Delphi 7-től kezdve Borlandot foglalkoztatta a kompatibilitás kérdése egy másik platformmal - a Microsoft . NET, amelyen néhány változtatás történt, mint a VCL-ben, és a nyelvben (és ennek megfelelően a fordítóban).

Delphi 8. A Delphi első verziója a Microsoft.NET platformmal való együttműködésre összpontosított. Ebben a verzióban a fejlesztők megkockáztatták, hogy megváltoztassák a környezet interfészét, és hasonlóvá tegyék a Borland új főrészvényese, a Microsoft termékeihez. Ennek megfelelően a Kylix támogatása megszűnt.

Delphi 2005. Kevesebb, mint egy évvel a Delphi 8 megjelenése után megjelent egy új verzió, amely gyorsan visszaadta a klasszikus IDE stílusban való munkavégzés lehetőségét a Windows-alkalmazások fejlesztése során. Ugyanakkor a Delphi 2005 kifejezetten NET platformra való alkalmazások fejlesztése esetén nem csak a Delphi nyelvvel, hanem a C#-val is lehetővé teszi a munkát. Ugyanakkor magában a Delphi nyelvben olyan újításokat vezettek be, mint a for...in operátor és a beépített eljárások és funkciók.

Delphi 2006. A Borland által kiadott Delphi legújabb verziója. Kiadtak egy könnyű változatot is - Turbó Delphi. Aztán elkezdődött az utazás a többi fejlesztőhöz.

Delphi 2007. A CodeGear által kiadott verzió. Támogatás hozzáadva az Aero interfészhez a Windows Vista rendszerhez.

Delphi 2009. Az Embarcodero által kiadott verzió. A VCL-ben és az RTL-ben Unicode-támogatás valósult meg, az összes Windows API-funkció hívásait Unicode-analógokra cserélték, általános típusokat és névtelen módszereket adtak hozzá.

Delphi 2010. A Windows 7 támogatása, érintéses és kézmozdulatai, valamint a dbExpress összetevői mostantól hivatalosan is támogatják a Firebird alkalmazást.

Delphi XE (Delphi 2011). Támogatás hozzáadva a számítási felhőhöz.

Tetszett a cikk? Oszd meg
Top