Kokia kalba naudojama delfyje. Apie programavimą ir Delphi

Interneto svetainė:

Delphi(Delphi, tariama /ˈdɛlˌfi:/ Klausykite)) yra imperatyvi, struktūrizuota, į objektą orientuota programavimo kalba, Object Pascal tarmė. Pradėdamas nuo Delphi 7.0 kūrimo aplinkos, Borland pradėjo naudoti pavadinimą Delphi, nurodydamas Object Pascal kalbą oficialiuose dokumentuose. Nuo 2007 metų Delphi kalba (kilusi iš Object Pascal) pradėjo gyventi savarankišką gyvenimą ir patyrė įvairių pokyčių, susijusių su šiuolaikinėmis programavimo kalbų kūrimo tendencijomis (pavyzdžiui, su .NET platformos plėtra): klasių pagalbininkai, operatoriaus perkrova, atsirado daugiau.

Tikslinė platforma

Iš pradžių kūrimo aplinka buvo skirta išskirtinai Microsoft Windows programoms kurti, vėliau buvo įdiegta ir Linux platformoms (kaip Kylix), tačiau 2002 m. išleidus Kylix 3, jos kūrimas buvo nutrauktas, o netrukus po to buvo paskelbtas Microsoft .NET palaikymas.

Lazarus projekto kūrimo aplinkos įdiegimas (Free Pascal, sudarytas Delphi suderinamumo režimu) leidžia ją naudoti kuriant Delphi programas tokioms platformoms kaip Linux, Mac OS X ir Windows CE.

Taip pat buvo bandoma naudoti kalbą GNU projektuose (pvz., GNU Notepad) ir parašyti GCC kompiliatorių.

Kalbos istorija

Objektas Pascal yra Turbo Pascal kalbos, kuri, savo ruožtu, išsivystė iš Pascal kalbos, kūrimo rezultatas. „Pascal“ buvo visiškai procedūrinė kalba, „Turbo Pascal“, pradedant nuo 5.5 versijos, „Pascal“ pridėjo į objektus orientuotas ypatybes, o „Object Pascal“ – dinaminį duomenų tipo identifikavimą su galimybe pasiekti klasės metaduomenis (ty klasių ir jų narių aprašymus). kompiliuotame kode, dar vadinamame savistaba – ši technologija vadinama RTTI. Kadangi visos klasės paveldi pagrindinės klasės TObject funkcijas, bet koks objekto žymeklis gali būti konvertuojamas į jį, o tada naudoti ClassType metodą ir TypeInfo funkciją, kuri suteiks savistabą.

Kitas išskirtinis „Object Pascal“ iš C++ bruožas yra tai, kad objektai pagal numatytuosius nustatymus yra dinaminėje atmintyje. Tačiau galite nepaisyti TObject klasės virtualių metodų NewInstance ir FreeInstance. Taigi absoliučiai bet kuri klasė gali įgyvendinti „norą“ „kur noriu, ten gulėsiu“. Atitinkamai organizuojamas „kelių grupių sudarymas“.

Object Pascal (Delphi) yra funkcinio Turbo Pascal plėtinio rezultatas.

„Delphi“ padarė didžiulę įtaką kuriant kalbos koncepciją .NET platformai. Daugelis jo elementų ir konceptualių sprendimų buvo įtraukti į C#. Viena iš priežasčių – vieno iš pirmaujančių Delphi kūrėjų Anderso Hejlsbergo perkėlimas iš Borland Ltd. įmonėje „Microsoft Corp.

  • 8 versija gali generuoti baitinį kodą tik .NET platformai. Tai pirmoji aplinka, orientuota į daugiakalbių programų kūrimą (tik .NET platformai);
  • Vėlesnės versijos (nurodomos išleidimo metais, o ne serijos numeriais, kaip anksčiau) gali sukurti ir Win32 programas, ir baitinį kodą .NET platformai.

Tačiau tų pačių metų lapkritį buvo nuspręsta atsisakyti IDE verslo pardavimo. Tačiau dabar IDE produktų kūrimu užsiims nauja įmonė – „CodeGear“, kurią visiškai finansiškai kontroliuos „Borland“.

2006 m. rugpjūčio mėn. Borlandas išleido lengvą RAD Studio versiją pavadinimu Turbo: Turbo Delphi (skirta Win32 ir .NET), Turbo C#, Turbo C++.

2008 m. kovo mėnesį buvo paskelbta, kad šios produktų linijos kūrimas bus nutrauktas.

2007 m. kovo mėn. CodeGear nudžiugino vartotojus atnaujinta Delphi 2007 linija, skirta Win32 produktams, ir visiškai naujo produkto Delphi 2007, skirto PHP, išleidimu.

2007 metų birželį „CodeGear“ pristatė savo ateities planus, tai yra paskelbė vadinamąjį planą.

Embarcadero RAD Studio 2010

  • Pagal numatytuosius nustatymus pilnas Unicode palaikymas visose kalbos dalyse, VCL ir RTL; visų „Windows API“ funkcijų skambučių pakeitimas „Unicode“ analogais (ty „MessageBox“ skambina „MessageBoxW“, o ne „MessageBoxA“).
  • Apibendrinti tipai, dar žinomi generiniai vaistai.
  • Nauja $POINTERMATH kompiliatoriaus direktyva.
  • Funkcija Exit dabar gali priimti parametrus pagal funkcijos tipą.

Kompiliatoriai

  • Embarcadero Delphi (anksčiau CodeGear Delphi ir Borland Delphi) yra bene garsiausias kompiliatorius, kuris yra Borland Pascal ir Turbo Pascal įpėdinis. Naudoja Win16 (Delphi 1), Win32 (Delphi 2 ir naujesnes versijas), Win64 (Delphi 16 (XE2) ir naujesnes versijas), taip pat .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). .NET palaikymas vėliau buvo atskirtas į atskirą produktą, žinomą kaip Oxygene.
  • „Free Pascal“ (FPC) yra nemokama „Object Pascal“ kompiliatorius, palaikantis įvairius „Pascal“ dialektus, įskaitant „Turbo Pascal“, „Delphi“ ir savo dialektus. Šiuo metu FPC gali generuoti kodą x86, x86-64, PowerPC, SPARC ir ARM procesoriams, taip pat įvairioms operacinėms sistemoms, įskaitant Microsoft Windows, Linux, FreeBSD, Mac OS. Yra keletas FPC programinės įrangos kūrimo aplinkų (vienas žinomiausių atstovų yra Lazarus).
  • GNU Pascal (atskirai sukurta GCC versija). Ja nesiekiama tęsti Delphi tarmių serijos kaip Paskalio dalies, tačiau vis dėlto yra Borland Pascal suderinamumo režimas ir labai lėtai pritaikomi Delphi kalbos komponentai. Netinka dideliems projektams, kuriuose yra Delphi kodas, sudaryti, tačiau verta paminėti, kad dauguma operacinių sistemų ir architektūrų jį palaiko.
  • Deguonis (anksčiau žinomas kaip Chrome klausytis)) yra „Object Pascal“ kompiliatorius, integruotas į „Microsoft Visual Studio“. Taip pat galimas kaip kompiliatorius su nemokama CLI komandų eilute. Naudoja .NET ir mono platformas. Šiuo metu parduodamas su Embarcadero Delphi Prism prekės ženklu.
  • MIDletPascal yra programavimo kalba, turinti panašią į Delphi sintaksę ir to paties pavadinimo kompiliatorių, kuris konvertuoja šaltinio kodą į kompaktišką ir greitą Java baitinį kodą.
  • „PocketStudio“ – „Pascal“ pagrindu sukurta IDE, skirta „Palm OS“.
  • „Virtual Pascal“ – nemokamas kompiliatorius ir teksto IDE, skirtas Win32, OS/2 ir Linux. Tuo metu jis buvo labai greitas ir labai suderinamas (Delphi 5 dizainai iš dalies palaikomi). Išoriškai ji labai panaši į Borland Pascal 7 tekstinę aplinką, nors, pavyzdžiui, nėra su ja suderinamos grafikos. Tačiau kūrimas baigėsi 2004 m., o šaltinio kodas nebuvo atidarytas. Nuo to laiko FPC pažengė daug toliau ir paprastai yra geresnis programavimui. Nepaisant to, VP tebėra labai geras pasirinkimas norint greitai pakeisti dar pasenusias Borland Pascal versijas, skirtas mokyklai / institutui, atsižvelgiant į tai, kad jis veikia Win32 be problemų su rusiškomis koduotėmis.

Kalbos sintaksė

Operatoriai

Tarpais atskirtų operatorių sąrašas: := + - * / div mod not ir arba su xor shl shr ^ =<> >= <= < >@in yra kaip

Išraiškos

Objekto Pascal (Delphi) išraiškos gali būti aritmetinės, loginės arba eilutės.

Pagrindinės loginės išraiškos:
Loginės išraiškos dažniausiai naudojamos sąlyginiuose sakiniuose. Loginės išraiškos apima tokias operacijas kaip:

  • ne - „NE“, loginės išraiškos neigimas (NOT<логическое_выражение>)
  • ir - „Ir“, loginių išraiškų daugyba (sankirta) (<логическое_выражение1>IR<логическое_выражение2>)
  • arba - „ARBA“, derinant logines išraiškas (<логическое_выражение1>ARBA<логическое_выражение2>)
  • xor – „Išskirtinis ARBA“, OR neigimas, viskas, kas nepatenka į OR (<логическое_выражение1>XOR<логическое_выражение2>)

Duomenų tipai

Programoje apdorojami duomenys skirstomi į kintamuosius, konstantas ir pažodinius. Konstantos – tai duomenys, kurių reikšmės nustatytos konstantos deklaracijos skiltyje ir nesikeičia vykdant programą.

Objektai

  • Embarcadero produktai: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1 ir 2 versijos.
  • Duomenų bazių administravimas ir plėtra: MySQL Tools, IBExpert.
  • Inžinerinė programinė įranga: Altium Designer.
  • Failų tvarkyklės: Total Commander, Fregate.
  • Grafikos peržiūros priemonės: FastStone Image Viewer, FuturixImager, drComRead.
  • Vaizdo ir garso grotuvai: lengvojo lydinio, KMPlayer, AIMP, X-Amp.
  • Momentinių pranešimų programos: QIP, R&Q, Skype GUI, The Bat! , PopTray , FeedDemon .
  • Muzikos kūrimas: FL Studio, Guitar Pro (iki 6.0 versijos).
  • Programinės įrangos kūrimas: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter.
  • Interneto kūrimas: „Macromedia HomeSite“.
  • Teksto redaktoriai: BirEdit, Notepad GNU, Bred.
  • Apskaita ir mokesčiai: “PARUS”, AVARDA (iki 6.x versijos imtinai).
  • Animacijų kūrimo programos: Pivot Stickfigure Animator.
  • Duomenų glaudinimo programos: ALZip, PowerArchiver, PeaZip.
  • Kompiuteriniai žaidimai: Stebuklų amžius, Space Rangers, Venom. Kodinis pavadinimas: Outbreak, Space Empires V, „Tiesa apie devintąją kompaniją“.
  • Grafiniai redaktoriai: Real Paint.

Pastabos

Literatūra

  • Neilas J. Rubenkingas. Delphi programavimo kalba manekenams. Įvadas į Borland Delphi 2006 = Delphi for Dummies. - M.: Dialektika, 2007. - 336 p. - ISBN 0-7645-0179-8
  • Javieras Pashecu. Programavimas Borland Delphi 2006 profesionalams = Delphi for .NET Developer’s Guide. - M.: Williams, 2006. - 944 p. - ISBN 0-672-32443-X
  • A. N. Valvačiovas, K. A. Surkovas, D. A. Surkovas, Yu M. Četyrko. Programavimas Delphi kalba. Pamoka . – 2005 m.

Nuorodos

  • Programavimo aplinkos puslapis svetainėje Embarcadero technologijos

Taigi, šiame straipsnyje kalbėsime apie tai, kaip nustatyti Windows operacinės sistemos bitumą programuojant Delphi. Tai būtina norint, pavyzdžiui, pasirinkti vieną ar kitą tvarkyklės versiją – x86 (32 bitų) arba x64 (64 bitų).

Taigi, pradėkime.

Sukurkime naują projektą ir pridėkime prie formos etiketės komponentą.

Tada einame į šaltinio kodo rengyklę ir skiltyje su var kintamaisiais pridedame razr string kintamąjį (stygos duomenų tipą, t.y. string).

var Form1: TForm1;

razr: eilutė;

Po to dukart spustelėkite formą, nukopijuokite ir įklijuokite į ją šį kodą (pagrindinės formos TForm1.FormCreate kūrimo procedūroje), tarp frazių prasideda ir galas; (tai yra procedūros pradžia ir pabaiga).

(naudodami funkciją Get Environment Variable skaitome ProgramFiles(X86) kintamojo reikšmę

jei sistema yra 32 bitų, tada jos reikšmė bus tuščia

jei 64 bitų, tada jis turės žinių apie C: Program Files (x86)

t.y. aplanką, kuriame įdiegtos 32 bitų programų versijos)

razr:= GetEnvironmentVariable("Programų failai(x86)");

etiketė1.Caption:= razr;

jei (razr = ""), tada

pradėti

etiketė1.Šriftas.Spalva:=clRed; (Pakeičia užrašo spalvą, galite pasirinkti bet kurią pagal savo skonį, pvz. clGreen - žalia)

label1.Caption:= "Jūs turite x86"; (vietoj etiketės pavadinimo labl1 galite parašyti bet ką kitą, pvz., metka)

Kitas

pradėti

etiketė1.Šriftas.Spalva:=clMėlyna; (Pakeičia užrašo spalvą, galite pasirinkti bet kurią pagal savo skonį, pvz. clGreen - žalia)

label1.Caption:= "Jūs turite x64";

galas;

Kaip programa veikia?

Funkcija Gauti aplinkos kintamąjį nuskaito aplinkos kintamojo reikšmę sistemoje Windows ProgramFiles (X86).

Jei sistema yra 32 bitų, tada jos reikšmė bus tuščia.

Jei jis yra 64 bitų, tada jis turės žinių C:Program Files(x86), ty tai yra aplankas, kuriame įdiegtos 32 bitų programų versijos.

Tiesą sakant, tai viskas.

Man taip nutiko.

Žemiau galite atsisiųsti archyvą su programos šaltinio kodu ir pabandyti išsiaiškinti, kaip jis veikia pats.


Komentarai ()

wdfm 90

Programa puikiai veikia „Windows 7 x64“, galite ją naudoti

Edvardas 300

Kas pradės ne į temą + nešvankią kalbą, bus užblokuotas 1 dienai! Tai netaikoma administratoriams.
.php?board=18.0

Šį forumą sukūriau ne veltui!

Edvardas 300

Įvadas

Šios gairės skirtos padėti studentams įgyti praktinių įgūdžių vizualiai kurti savo Windows programas Delphi aplinkoje naudojant objektinio programavimo metodiką. Laboratoriniai darbai apima pagrindinius Windows programų kūrimo etapus.

Gaires sudaro trys skyriai. Pirmoje dalyje pateikiamos pagrindinės vizualinių programų projektavimo ir Delphi programavimo aplinkos sąvokos. Antroje dalyje suformuluoti bendrieji laboratorinių rezultatų diegimo ir pateikimo reikalavimai. Trečiasis skyrius susideda iš konkrečių laboratorinių darbų aprašymų su reikiama trumpa teorine informacija, programos projektavimo pavyzdžiais, darbo atlikimo rekomendacijomis, darbų atlikimo užduočių variantais ir savęs patikrinimo klausimais. Norėdami atlikti darbą, studentai turi būti susipažinę su Object Pascal kalba ir Delphi vizualinio programavimo aplinka.

Pagrindinės Delphi sąvokos ir apibrėžimai

delphi programos masyvo vizualinis

Ekrane po Delphi paleidimo yra keturi langai: pagrindinis langas, formos, objektų inspektorius ir kodo rengyklė, kurią beveik visiškai dengia formos langas.

Pagrindiniame lange yra Delphi komandų meniu, įrankių juosta ir komponentų paletė.

Formos langas, jo pavadinimas FORM1, yra šablonas, vieno iš kuriamos programos objektų išdėstymas.

Objektų inspektoriaus langas, jo pavadinimas Objektų inspektorius leidžia matyti ir keisti projekto objektų savybes. Paleidus Delphi, šiame lange rodomos FORM1 formos savybės.

Kodo rengyklės langas skirtas įvykių tvarkymo procedūroms kurti. Delphi kodas yra programos tekstas.

Objektai arba valdikliai yra formos komponentai, iš kurių beje kuriamas projektas, pati forma, kaip minėta aukščiau, taip pat yra objektas. Objektai gali būti komandų mygtukai, teksto įvesties laukai, jungikliai, etiketės, slinkties juostos ir langai.

Objekto ypatybės yra, pavyzdžiui, pavadinimo teksto dydis, formos fono spalva arba tekstas ant komandos mygtuko ir daug daugiau, visą ypatybių sąrašą galima pamatyti pasirinktų objektų inspektoriaus lange objektas.

Įvykis yra kažkas, kas įvyksta, kai veikia jūsų sukurta programa. Delphi kiekvienas įvykis turi pavadinimą, pavyzdžiui, pelės paspaudimas yra OnClick įvykis, dvigubas paspaudimas yra OnDblClick įvykis.

Projektas yra rinkmenų rinkinys (programų vienetai – moduliai), kuriuos naudodamas kompiliatorius sukuria vykdomąją programos failą. Viename iš projekto failų, vadinamų projekto failu ir su plėtiniu dpr, yra bendras projekto aprašymas. Projekto failas yra pagrindinis programos modulis, kurį sugeneruoja Delphi. Be pagrindinio modulio, projektą sudaro vienas ar keli moduliai (vienetai). Projekto modulio failuose (Unit) yra procedūrų tekstai, funkcijos, tipų aprašymai, taip pat visa informacija, skirta vykdomajai programai sukurti, ir turi plėtinį pas. Procedūra – tai programavimo kalbos operatorių grupė, leidžianti atlikti konkrečius veiksmus (išspręsti problemą). Vienaip ar kitaip, visas vykdomasis kodas, kurį sudarėte inicijavimui, būtinai įtraukiamas į tam tikrą procedūrą.

Vienetą sudaro trys skyriai: sąsaja (pradeda žodžiu sąsaja), diegimas (pradeda žodžiu implementetion) ir. Žemiau pateikiama modulio struktūra.

unitModuleName;

(Čia pateikiami šio modulio procedūrų ir funkcijų, kurias gali naudoti kiti moduliai, aprašymai)

(Čia yra modulio pasaulinių konstantų deklaracijos, kurias gali naudoti modulio procedūros ir funkcijos)

(Čia pateikiamos visuotinių modulių tipų deklaracijos, kurias gali naudoti modulio procedūros ir funkcijos)

(Čia yra modulio visuotinių kintamųjų, kuriuos gali naudoti modulio procedūros ir funkcijos, deklaracijos)

(Čia yra modulio procedūrų ir funkcijų aprašymai)

(Modulio kintamojo inicijavimo skyriaus instrukcijos yra čia)

Taigi, sąsajos skyrius kompiliatoriui nurodo, kuri modulio dalis yra prieinama kitiems programos moduliams. Diegimo skyrius prasideda direktyva ($R*.DFM), kuri nurodo kompiliatoriui generuojant vykdomąjį failą naudoti formos aprašymą. formos aprašymas yra faile su plėtiniu dfm, kurio pavadinimas sutampa su modulio pavadinimu. Po direktyvos ($R*.DFM) taikomos formos ir jos komponentų įvykių apdorojimo procedūros. Programuotojas čia gali patalpinti ir sukurtas procedūras bei funkcijas. Jei inicijavimo skiltyje nėra nurodymų, žodis pradėti nenurodomas.

Delphi yra programavimo kalba ir programinės įrangos kūrimo aplinka. Jį sukūrė Borland (anksčiau vadintas Inprise). Delphi programavimo kalba, anksčiau žinoma kaip Objektas Paskalis(„Pascal“ su objektiniais plėtiniais), iš pradžių buvo skirta tik „Microsoft Windows“, bet dabar leidžia kurti vietines „Linux“ ir „Microsoft“ programas. NET Framework ir kt. (žr. toliau). Programavimas pradedantiesiems.
Populiariausias naudojimas yra darbalaukio programų ir įmonių duomenų bazių kūrimas, o kaip įrankis Delph programavimo kalba Ir gali būti naudojamas daugeliui projektų vystymo tipų. Tai buvo viena pirmųjų kalbų, kuri tapo žinoma kaip RAD (Rapid Application Development) įrankis, kai jis pasirodė 1995 m. Po metų išleista Delphi 2 palaikė 32 bitų Windows aplinką ir tik po kelerių metų pasirodė C, C++ Builder. 2001 m. pasirodė Linux versija, žinoma kaip Kylix (klasikinė graikiška urna). Kiekvienais metais buvo viena nauja versija, 2002 m. produktas tapo žinomas kaip Delphi 7 Studio, kalba buvo oficialiai vadinama Delphi programavimo kalba, o ne Object Pascal, ir buvo pridėtas Linux palaikymas (per Kylix) ir. NET (per išankstinį kompiliatorių). Pilnas palaikymas. NET planuojamas būsimam Delphi 8. Programavimas manekenams.
Pagrindiniai Delphi ir Kylix komponentai: Delphi kalba (anksčiau oficialiai žinoma kaip Object Pascal kalba), VK/CLX (Visual Component Library), stiprūs duomenų bazių ryšiai, kartu su galinga IDE (Integrated Development Environment) ir papildomais palaikymo įrankiais.
Puikios Delphi kalbos savybės:

  • Skaidrus objektų valdymas naudojant nuorodas ar rodykles
  • Savybės kaip kalbos dalis, kartu su funkcijomis gauti ir nustatyti, kurios skaidriai apima prieigą prie lauko narių
  • Indeksas ir numatytosios ypatybės, kurios suteikia prieigą prie kolekcijos patogiu ir skaidriu būdu
  • Įgaliotieji arba kitais tipo saugaus rodyklės metodai, naudojami komponentų sukeltiems įvykiams suaktyvinti
  • Sąsajos įgyvendinimo delegavimas klasės laukui arba nuosavybei
  • Lengvai įdiegiamos „Windows“ pranešimų tvarkyklės, pažymėkite klasės metodą su tvarkomo pranešimo laukelio numeriu / pavadinimu
  • Dauguma aukščiau išvardytų funkcijų pirmiausia buvo pristatytos Delphi, o vėliau perkeltos į kitas kalbas.

„Delphi“ ir jo pirmtako Turbo Pascal vyriausiasis architektas buvo Andersas Hejlsbergas, kol jis 1996 m. persikėlė į „Microsoft“ ir savo darbą skyrė programavimo pagrindams.
Delphi produktas platinamas įvairiomis pakuotėmis, kurių kiekviena siūlo daugiau funkcionalumo nei kitos:

  • Asmeninis
  • Profesionalus
  • Bendrovė
  • Architektas

Geros priežastys naudoti „Delphi“:

  • Labai informatyvi ir naudinga žinia bendruomenei
  • Galima kompiliuoti į vieną vykdomąjį failą, todėl lengviau platinti ir sumažinti su skirtingais DLL susijusias problemas
  • VCL ir trečiųjų šalių komponentai paprastai yra prieinami su visu šaltinio kodu
  • Galingas ir greitai optimizuojantis kompiliatorius
  • Vienas šaltinio kodas sukuria puikius mašininius kodus skirtingoms operacinėms sistemoms
  • Naujausių technologijų ir standartų palaikymas

Klonai ir alternatyvos

Nors ir negali patenkinti visų programuotojų poreikių, yra daugybė papildomų įrankių, skirtų išplėsti užduočių, sprendžiamų naudojant Delphi, spektrą, arba tai galima padaryti įterpiant kodą kitomis kalbomis, kur yra Delphi ir Kylix. bejėgis.
Šiuos „Delphi“ pakaitalus galite naudoti, jei negalite mokėti už kūrimo aplinką, jums reikia nemokamų kūrimo aplinkų (pavyzdžiui, operacinėms sistemoms ir nemokama programinė įranga arba švietimo tikslais). Daugeliu atvejų šios alternatyvos yra naudojamos treniruotėms, taip pat serverio komponentų rašymui, operacinėms sistemoms, kurios nėra plačiai naudojamos (tai buvo iki tol, kol Kylix pasirodė Linux OS, kurią dauguma naudoja kaip serverių OS). . .
Išvardinkime keletą:

  • „Free Pascal“ yra pakaitalas, kuris pateikiamas kaip kompiliatorius, paleidžiamas iš komandinės eilutės. Ši plėtra pagrįsta suderinamumu su pagrindiniu Turbo Pascal ir Delphi tarmių funkcijų rinkiniu. Įdiegtos ir veikia senesnės nei 4 versijos „Delphi“ funkcijos. Veikia daugelyje x86 operacinių sistemų, įskaitant Win32, Dos, Linux, BSD ir Novell Netware. Kitos operacinės sistemos m68k ir PowerPC nepalaikomos, kurių būsena vis dar labai greitai keičiasi. Pradėti perėjimo į SPARC platformą darbai.
  • GNU Pascal (atskirai platinama GNU kompiliatoriaus kolekcijos dalis), nors formaliai ir nėra skirta Borland Pascal tarmėms, yra suderinama su Borland Pascal ir palaipsniui įsisavina Delphi kalbos ypatybes, nors ir netinka perkompiliuoti didelius kiekius Delphi kodas. Tai yra produktyviausias kompiliatorius operacinių sistemų ir procesorių atžvilgiu, nors verta paminėti tik kaip paskutinę priemonę.
  • Yra įrankis, pavadintas „Pocket studio“, kurio tikslas yra sudaryti pašalintą „Delphi“ kodą kišeniniams kompiuteriams.
  • Virtualusis Pascal – kompiliatorius, x86 32 bitų Turbo Pascal ir Delphi, pirmiausia suderinamas su OS/2 ir Windows, nors buvo sukurtas DOS Extender ir eksperimentinis Linux kryžminis kompiliatorius. Kompiliatorius įstrigo prie 2-osios „Delphi“ versijos, o svetainė per dvejus metus beveik nepasikeitė, tačiau ji yra dar viena iš geriausių, su puikia IDE ir derintuvu, nors „Free Pascal“ taip pat nėra slogi.
  • BloodShed platina labai gerą Win32 grafikos rengyklę (nors ir ne RAD) kaip sąsają su GNU Pascal ir Free Pascal.
  • „Lazarus“ pastangomis siekiama sukurti „Free Pascal“ kūrimo aplinką. Nors GTK prievadas tampa naudingas rašant mažas programas, pvz., konfigūravimo įrankius, win32 prievadui vis dar reikia daug padirbėti.
  • InnerFuse yra „Delphi“ vertėjas, skirtas įterpti į programas. Sklando gandai, kurie veikia su keliomis Delphi versijomis.
  • WDOSX yra Win32 DOS Extender emuliacijos API, kurią galima naudoti norint gauti konsolės programas, parašytas Delphi, veikiančias įprastoje DOS.

Kaip tapti interneto svetainių kūrimo profesionalu ir pradėti užsidirbti pinigų? Nebrangūs video kursai su įvadiniu įvadu.

Įvadą į programavimą Delphi aplinkoje pradėkime nuo tokių klausimų kaip paties programavimo esmė, jo pagrindai ir potipiai. Taip pat apžvelgsime, kas yra „Delphi“ aplinka, kuo ji skiriasi nuo kitų ir kokiu keliu nuėjo nuo savo atsiradimo prieš 10 metų.

Kas yra programavimas

Taigi, visų pirma, patys supraskime, ką reiškia terminas programavimas? Dabar daugelis save vadina programuotojais, net nežinodami, kas tai yra: patikrinus paaiškėja, kad žmogus, pakeitęs porą eilučių kodo HTML dokumente, jau yra pasiruošęs laikyti save programuotoju. Tačiau iš tikrųjų dirbdami su HTML (būtent pačiu HTML) negalite tapti programuotoju, nes HTML, kaip rodo pavadinimas (Hypertext Markup Language), nėra programavimo kalba.

Dėl to turime pirmąją sąlygą: norint išmokti programuoti reikia kažkokios programavimo kalbos. Mūsų atveju tai bus naujausios Object Pascal versijos (14.0 arba 15.0).

Toliau, tarkime, kažkas, kuris save vadina programuotoju, ne tik redagavo porą eilučių HTML kodo, bet ir pamatė Delphi, net nupiešė jame formą su 2-3 mygtukais ir teksto lauku. Ar tai programuotojas? Greičiausiai irgi ne. Faktas yra tas, kad po vizualiniu apvalkalu iš tikrųjų slepiasi labai sudėtingas mechanizmas, užtikrinantis valdiklių (tų pačių mygtukų) sąveiką su vartotoju ir operacine sistema - viena vertus, ir leidžiantis atlikti beveik bet kokius skaičiavimo veiksmus. - ant kito. Turėdami visa tai turėtumėte sugebėti padaryti pagrindinį dalyką - sukurti programos veikimo algoritmus - ar tai būtų jos reakcija į konkretaus mygtuko paspaudimą, ar sudėtingos matematinės lygties sprendimo funkcijos sukūrimas.

Taigi, programavimas šiuolaikinėje koncepcijoje apima operacinės sistemos veikimo principų, jos komponentų sąveikos ir vidinės struktūros žinias. Na, o tuo pačiu išsaugomas klasikinis programavimo apibrėžimas – galimybė kurti algoritmus, matematines ir elgesio programas. Visa tai įgyvendinama tam tikros programavimo kalbos kontekste, pavyzdžiui, to paties Object Pascal iš Delphi.

Kas yra Delphi

Dabar žinome, kad programavimas yra algoritmų sudarymas ir programavimo kalbos naudojimas. Bet jei kalba, kurią mokomės, yra Object Pascal, tai kas yra Delphi? Atsakymas yra toks: Delphi yra RAD arba Rapid Application Development – ​​greito programų kūrimo aplinka. Kitaip tariant, „Delphi“ apima ne tik visus įrankius, skirtus darbui su „Object Pascal“ kalba (juolab, kad nuo 2005 m. versijos „Delphi“ palaiko kitas programavimo kalbas, ypač C#), bet ir daugybę papildomų įrankių, skirtų pagreitinti. kiek įmanoma paspartinti procesą ir supaprastinti programų kūrimą. Į šiuos įrankius visų pirma įtrauktas vaizdinės formos rengyklė, kurios pagalba per kelias minutes ir be papildomų pastangų galite sukurti visavertę programą, taip pat kitus vizualinio programos kūrimo komponento komponentus.

Dėl to programos kūrimo laikas žymiai sutrumpėja, nes nereikia rankiniu būdu skaičiuoti kiekvieno vartotojo sąsajos elemento vietos.

Kartu su sukurtais kodo rašymo ir derinimo įrankiais – specializuotu teksto redaktoriumi, optimizuojančiu kompiliatoriumi ir derinimo priemone – „Delphi“ yra greito programų kūrimo įrankis. Tuo pačiu metu „Delphi“ pagrindas galutiniam vartotojui yra IDE – integruota kūrimo aplinka, kuri sujungia kodo rengyklę ir vaizdo kūrimo įrankius, taip pat sujungia tai su kompiliatoriumi, duomenų bazių kūrimo įrankiais ir kitais „Delphi“ komponentais.

Delphi ir kt

Žinoma, „Delphi“ nėra vienintelė greito programų kūrimo aplinka. Yra ir kitų RAD, kurie vienodai naudingi kuriant vizualines programas, pavyzdžiui, „Visual Basic“. Bet BASIC žinoma kaip ne pati galingiausia ir patogiausia programavimo kalba, be to, ja parašytos programos pasižymi santykinai žemu našumu.

Tuo pačiu metu yra programavimo kalbų, kurios yra ne mažiau galingos nei Object Pascal ir turi savo RAD - visų pirma, tai yra C++ kalba kartu su tokiais gerai žinomais kūrimo įrankiais kaip Visual C++ ir C++ Builder. Tačiau C++ mokymosi paprastumo požiūriu nepalyginamas su Object Pascal. Be to, programų kūrimas ir derinimas C++ yra gana lėtas, nors paruoštos programos vykdomos taip pat greitai, kaip sukurtos naudojant Delphi.

PASTABA
Atkreipkite dėmesį, kad tuo metu, kai pasirodė 1995 m., „Delphi“ buvo tikrai unikali aplinka, kurioje vizualinis programavimas buvo derinamas su optimizuojančiu kompiliatoriumi ir įrankiais, skirtais dirbti su duomenų bazėmis.

Dėl to gauname beveik idealų produktą greitam programų kūrimui: viena vertus, paprastumas ir patogumas, prilyginamas Visual Basic, o kita vertus, C++ būdinga galia, greitis ir lankstumas.

Čia reikia pastebėti, kad Delphi naudojama Object Pascal kalba turi mažai ką bendro su savo pirmtake – Pascal programavimo kalba, kurią galbūt mokeisi mokykloje ar universitete. Visų pirma, Delphi naudoja gryną objektinį programavimo modelį, o Pascal buvo įprasta procedūrinė kalba. Kokia yra procedūrinio programavimo ir objektinio programavimo skirtumų esmė? Tai yra klausimas, kurį aptarsime kitose dviejose pastraipose.

Procedūrinis programavimas ir algoritmai

Beveik visos šiuolaikinės programavimo kalbos yra procedūrinio pobūdžio. Tai reiškia, kad kiekviena programa susideda iš procedūrų rinkinio, kurių kiekviena išsprendžia tam tikrą problemą, o viena procedūra gali iškviesti bet kurią kitą, įskaitant save (pastaroji, t. y. pati save iškviečianti procedūra vadinama rekursija). Pati programa yra sudaryta remiantis algoritmais, ir pakanka tik trijų jų atmainų - atrankos (šakės), kartojimo (ciklo) ir perėjimo. Tačiau pastarasis tipas praktiškai nenaudojamas dėl prastos reputacijos (kalbame apie GOTO – kadaise mylimą, iš nevilties, BASIC programuotojų operatorių).

Pažiūrėkime į paprasčiausią algoritmą – žaidimui „atspėk skaičių“. Jo veikimo logika tokia, kad reikia patikrinti, ar skaičius didesnis ar mažesnis už paslėptą, o jei taip, tai parodysite atitinkamą užuominą, o jei jis nei didesnis, nei mažesnis (t. y. atitinka), tada žaidimas baigiasi. . Tokio algoritmo blokinė schema susideda iš 2 šakų (1.1 pav.).

Ryžiai. 1.1. Paprasto algoritmo schema

Pirmiausia reikia paprašyti vartotojo įvesti skaičių A, kuris du kartus lyginamas su iš anksto nurodytu skaičiumi B. Pirmiausia patikrinama, ar skaičius A yra didesnis už B, o jei taip, programa praneša, kad įvyko „viršijimas“ ir grįžta į įėjimo taškų numerius. Jei skaičius nėra didesnis, tada įvyksta antras palyginimas – pažiūrėti, ar A yra mažesnis už B. Tokiu atveju rodomas pranešimas, nurodantis, kad skaičius yra mažesnis („nepatenka“) ir vėl grąžinama. iki pradžios įvyksta. Bet jei skaičius A yra ne mažesnis už skaičių B, tai, atsižvelgiant į tai, kad šiuo metu jau žinoma, kad jis nėra didesnis, todėl jis yra lygus skaičiui B, ir programa baigiasi. Tuo pačiu metu jis gali parodyti sveikinimus vartotojui atspėjus skaičių.

Šis algoritmas gali būti kito algoritmo dalis. Pavyzdžiui, nėra nuostatos, kaip generuoti patį skaičių, kurį reikia atspėti. Taip pat nėra pakartojimo galimybės. Norėdami ištaisyti šią situaciją, apsvarstykite algoritmo, kuris valdo visos programos vykdymą, blokinę schemą (1.2 pav.).


Ryžiai. 1.2. Programos valdymo schema

Vykdymo pradžioje sugeneruojamas naujas skaičius, kurį vartotojas atspės. Tada ateina pats spėjimo blokas, kurį mes jau svarstėme (žr. 1.1 pav.) - čia jis pateikiamas vieno paprasto modulio pavidalu, nes jis neturi įtakos visos programos vykdymui. Užbaigus šį bloką, turime vieną šaką – priklausomai nuo to, ką vartotojas reaguoja į pasiūlymą pakartoti žaidimą. Taigi, jei atsakymas teigiamas, tada programa turės eiti į pradžią, t.y. norėdami sukurti naują numerį. Jei vartotojas atsisako, programa turi būti nutraukta.

Konkretus konkretaus algoritmo įgyvendinimas priklauso nuo naudojamos programavimo kalbos, taip pat nuo programos kūrėjo pageidavimų, nes paprastai tą pačią konstrukciją galima išspręsti naudojant kelis skirtingus metodus. Pavyzdžiui, norėdami grįžti į blokinėje diagramoje nurodytą tašką, galite naudoti tiek kilpas, tiek besąlyginius šuolio sakinius. Na, o patys blokai gali būti dedami į atskiras procedūras ir vadinami paprogramėmis. Vienintelis bendras bruožas yra sąlyginis operatorius, atsakingas už šakutę - beveik visomis kalbomis, o Pascal nėra išimtis, jis vadinamas IF. Tačiau dar turėsime laiko susipažinti su Object Pascal operatoriais.

Apie objektinį programavimą

Jei pasirinkimas, kartojimas ir šokinėjimas yra bet kurios procedūrinio programavimo kalbos kertiniai akmenys, tada Objektinis programavimas svarbios tokios sąvokos kaip inkapsuliavimas, paveldėjimas ir polimorfizmas. Pažvelkime į šias sąvokas, be kurių jokia objektą palaikanti kalba negali būti vadinama objektu orientuota, plačiau.

PASTABA
Sąvoka „objektas“ programuojant suprantama kaip tam tikras sudėtingas duomenų tipas, prie kurio galima priskirti unikalias šio tipo savybes, o OOP atveju – ir metodus.

Inkapsuliavimas yra duomenų ir juos apdorojančių paprogramių – metodų – derinys viename objekte, OOP vadinamame „klase“. Tai reiškia, kad klasėje yra viskas, ko reikia darbui su konkrečiu objektu.

Paveldėjimas yra dar viena svarbi OOP dalis. Paveldėjimas reiškia galimybę sukurti tipą (objektą) remiantis kito objekto apibrėžimu. Tokiu atveju visas pirminio objekto savybes ir metodus gali paveldėti vaikas. Pavyzdžiui, jei turime „automobilio“ objektą, tai jo pagrindu galime sukurti kitą objektą, tarkime, „tramvajų“, kuris paveldės visas savo savybes ir, be jų, gaus ir savo. Savo ruožtu šis objektas taip pat galės turėti savo palikuonių ir kt. Rezultatas yra objektų medis, vadinamas klasių hierarchija.

Objekte Pascal visos klasės kyla iš vieno protėvio – TObject klasės, kuri įgyvendina veiksmus su visoms klasėms bendru objektu, pvz., kūrimą ir trynimą.

PATARIMAS
„Delphi“ versijose yra plakatas, kuriame rodomas visų pagrindinių „Delphi“ komponentų klasės medis. Todėl, jei esate laimingas licencijuoto produkto savininkas, galite vizualiai išstudijuoti šios sistemos struktūrą, pasidėję šį plakatą savo darbo vietoje.

Galiausiai, trečiasis ramstis, ant kurio stovi OOP, yra polimorfizmas arba galimybė sukurti to paties pavadinimo savybes ir metodus susijusiuose objektuose, kurie iš esmės skirsis. Tarkime, mes jau turime klases „automobilis“ ir „tramvajus“, ir abiem yra apibrėžta savybė „variklis“, bet jei automobiliui variklio tipas yra vieno tipo objektas, tai tramvajui jis yra visiškai kitoks. vienas.

Kitas svarbus OOP būdingas komponentas yra slėpimas, leidžiantis daug objekto savybių padaryti nematomas. Kitaip tariant, jei galime apibrėžti „automobilio“ tipo objektą, kuriam savo ruožtu nustatomos tokios savybės kaip važiuoklė, variklis ir ratai. Taigi, jei variklis ir ratai gali būti matomi (ir pasiekiami) visur, kur yra pati „automobilio“ klasė, tai važiuoklė negali. Atitinkamai, prieigą prie tokios savybės galima gauti tik tose programos dalyse, kuriose pateikiamas paties „mašinos“ objekto aprašymas. Tokios savybės vadinamos apsaugotomis.

Daugiau informacijos apie objektinį programavimą bus aptarta antroje šio leidinio dalyje.

Vaizdinis programavimas ir Delphi

Taigi, Delphi yra aplinka, kuri veikia su objektiniu struktūriniu programavimo kalba Object Pascal. Be to, „Delphi“ taip pat yra vaizdo kūrimo aplinka. Kitaip tariant, jau kurdami programą galite pamatyti, kaip ji atrodys vykdymo metu. Vizualinis programavimas žymiai sumažina laiką, kurio reikia norint sukurti „Windows“ programų vartotojo sąsają. Prieš atsirandant vizualinio kūrimo įrankiams, programavimas naudojant „Windows“ buvo kupinas didelių sunkumų, nes reikėjo beveik aklai apskaičiuoti kiekvieno valdiklio vietą programos lange, dėl ko atsirado daug klaidų (1.3 pav.).


Ryžiai. 1.3. Klasikiniai ir vaizdiniai sąsajos kūrimo būdai

Tai, kad Delphi yra vizualinio kūrimo aplinka, palieka savo pėdsaką programavimo kalba. Visų pirma, tai suteikia specialias priemones, kad tam tikros klasių savybės būtų prieinamos jau programos kūrimo etape, o ne tik vykdymo metu. Tačiau svarbiausia viso šio puošnumo dalis yra klasės biblioteka – VCL (Visual Component Library). Būtent VCL paslepia visas grubias Windows vidines dalis ir leidžia lengvai kurti programas neįsiveliant į užsitęsusį karą su sistemos pranešimų, atgalinių skambučių, rankenėlių ir rodyklių apdorojimu.

Su visa tai, žinoma, niekas nedraudžia naudoti Windows funkcijų tiesiogiai, jei reikia, apeinant VCL. Tačiau to gali prireikti labai retai, todėl pradedantiesiems Delphi programuotojams Windows programoms rašyti nereikia nieko kito, išskyrus VCL.

Šios knygos 3 dalyje išsamiai apžvelgsime vaizdinius komponentus.

Delphi versijos ir jų skirtumai

Įvadinės dalies pabaigoje pažvelgsime į Delphi versijų skirtumus, kartu tyrinėdami šios nuostabios kūrimo aplinkos raidos istoriją.

Delphi 1. Prieš pat „Windows 95“ atsiradimą išleista „Delphi 1.0“ buvo pirmasis „Windows“ (3.1) programų kūrimo įrankis, sujungiantis optimizavimo kompiliatorių, vaizdo kūrimo aplinką ir galingus duomenų bazės įrankius. Tai buvo tikra Paskalio kalbos reinkarnacija – ji tapo Object Pascal.

Delphi 2. 2-oji „Delphi“ versija, išleista po metų, siūlė viską, bet 32 ​​bitų „Windows“ versijoms (95/NT) ir vėl tapo pirmuoju įrankiu, jungiančiu 32 bitų kompiliatorių, įrankius darbui su duomenų bazėmis ir vizualinį vaizdą. kūrimo aplinka, palaikanti OLE (ir išleidus atnaujintą Delphi 2.01 – ir ActiveX). Kalba taip pat pasikeitė, ji tapo orientuota į 32 bitus.

Delphi 3. Tolesnis „Delphi“ tobulinimas visomis kryptimis paskatino išleisti 3 versiją, kurioje buvo išplėstas įrankių rinkinys programoms kurti, nes palaiko COM ir ActiveX. Šioje versijoje pirmą kartą buvo akcentuojama galimybė kurti programas internetui ir atsirado netipuotas duomenų tipas – variantas.

Delphi 4. Kitas svarbus vystymosi etapas. Šioje versijoje buvo pristatyta daug naujų ir naudingų dalykų, siekiant supaprastinti programų kūrimą, įskaitant naują aplinką su dinaminėmis užuominomis ir kt. Buvo patobulintas darbo su komponentais (VCL) modelis ir atsirado galimybė greitai panaudoti tokias technologijas kaip MIDAS, DCOM ir CORBA. Šioje versijoje buvo patobulinta ir Object Pascal kalba: atsirado naujų šiuolaikiniam OOP būdingų bruožų, buvo pristatyti nauji duomenų tipai, tarp jų ir 64 bitų.

Delphi 5. „Delphi 4“ buvo tiek daug pakeitimų, kad, deja, atsirado erzinančių klaidų. Rezultatas buvo 3 atnaujinimų paketų išleidimas (mūsų piratai juos pardavinėjo prisidengę Delphi 4.1, 4.2 ir 4.3). Tačiau „Delphi 5“ turėtų būti laikomas pačiu išsamiausiu ir teisingiausiu atnaujinimo paketu – šioje versijoje viskas, kas buvo pradėta „Delphi 4“, buvo įgyvendinta.

Delphi 6. Išleisdama šeštąją versiją, Borland paskelbė apie naują kelių platformų erą Delphi, tuo pačiu išleisdama Delphi Linux versijai (Kylix 1.0). Dabar kurdami aplikaciją galėjai pasirinkti jos tipą – Windows, arba universalią. Atitinkamai, VCL biblioteka buvo papildyta CLX biblioteka, suderinama su „Windows“ ir „Linux“. Be to, 6-ojoje versijoje pagaliau pasirodė „vietinis“, o ne svetimas „ActiveX“ komponentai, skirti darbui su internetu, o abiejose versijose iš karto - tiek VCL, tiek CLX. Pradedant nuo šios versijos, pati Object Pascal programavimo kalba oficialiai vadinama Delphi.

Delphi 7. Tolesnis Delphi 6 tobulinimas, patobulinta CLX biblioteka ir nauja atitinkama Linux OS kūrimo aplinkos versija - Kylix 3. Tuo pačiu metu, pradedant Delphi 7, Borlandui rūpėjo suderinamumo su kita platforma - Microsoft problema. NET, kuriam buvo atlikti kai kurie pakeitimai, kaip ir VCL, ir kalba (ir atitinkamai kompiliatoriuje).

Delphi 8. Pirmoji Delphi versija, skirta darbui su Microsoft.NET platforma. Šioje versijoje kūrėjai rizikavo pakeisti aplinkos sąsają ir padaryti ją panašią į naujojo pagrindinio Borland akcininko Microsoft produktus. Atitinkamai, parama Kylix buvo nutraukta.

Delphi 2005. Praėjus mažiau nei metams po „Delphi 8“ išleidimo, pasirodė nauja versija, kuri greitai grąžino galimybę dirbti klasikiniu IDE stiliumi kuriant „Windows“ programas. Tuo pačiu metu Delphi 2005, kuriant programas specialiai NET platformai, leidžia dirbti ne tik su Delphi kalba, bet ir su C#. Tuo pačiu metu tokios naujovės kaip for...in operatorius ir įmontuotos procedūros bei funkcijos buvo įdiegtos pačioje Delphi kalboje.

Delphi 2006. Naujausia „Delphi“ versija, kurią išleido „Borland“. Taip pat buvo išleista lengva versija - Turbo Delphi. Tada prasidėjo kelionė pas kitus kūrėjus.

Delphi 2007. Versiją išleido CodeGear. Pridėtas „Windows Vista“ skirtos „Aero“ sąsajos palaikymas.

Delphi 2009. Versiją išleido Embarcodero. Unicode palaikymas įdiegtas VCL ir RTL, visų Windows API funkcijų iškvietimai pakeisti Unicode analogais, pridėti bendrieji tipai ir anoniminiai metodai.

Delphi 2010. „Windows 7“ palaikymas, jutikliniai ir gestų komponentai bei „dbExpress“ komponentai dabar oficialiai palaiko „Firebird“.

„Delphi XE“ („Delphi“, 2011 m.). Pridėtas debesų kompiuterijos palaikymas.

Ar jums patiko straipsnis? Pasidalink
Į viršų