Koji se jezik koristi u delphiju. O programiranju i o Delphiju

Web stranica:

Delphi(Delphi, izgovara se /ˈdɛlˌfi:/ slušajte)) je imperativni, strukturirani, objektno orijentirani programski jezik, dijalekt Object Pascala. Počevši s razvojnim okruženjem Delphi 7.0, službeni dokumenti Borlanda počeli su koristiti naziv Delphi za označavanje jezika Object Pascal. Počevši od 2007. godine jezik Delphi (izveden iz Object Pascala) počeo je živjeti vlastitim samostalnim životom te je doživio razne promjene vezane uz suvremene trendove (primjerice razvojem .NET platforme) u razvoju programskih jezika: class helpers , preopterećenja operatera i više.

Ciljna platforma

U početku je razvojno okruženje bilo namijenjeno isključivo za razvoj Microsoft Windows aplikacija, potom je implementirano i za Linux platforme (poput Kylixa), no nakon izlaska Kylixa 3 2002. njegov razvoj je prekinut, a nedugo zatim najavljena je podrška za Microsoft .NET.

Implementacija razvojnog okruženja projekta Lazarus (Free Pascal, kompiliran u načinu kompatibilnosti s Delphijem) omogućuje da se koristi za izradu Delphi aplikacija za platforme kao što su Linux, Mac OS X i Windows CE.

Također je bilo pokušaja da se jezik koristi u GNU projektima (npr. Notepad GNU) i da se napiše kompilator za GCC.

Povijest jezika

Object Pascal rezultat je razvoja jezika Turbo Pascal, koji se pak razvio iz jezika Pascal. Pascal je bio potpuno proceduralni jezik, Turbo Pascal, počevši od verzije 5.5, dodao je objektno orijentirana svojstva Pascalu i dinamičku identifikaciju tipa podataka Object Pascalu s mogućnošću pristupa metapodacima klasa (to jest, opisima klasa i njihovim članovima) u kompiliranom koda , koji se naziva i introspekcija - ova tehnologija je označena kao RTTI. Budući da sve klase nasljeđuju funkcije osnovne klase TObject, bilo koji pokazivač na objekt može se pretvoriti u nju, nakon čega se mogu koristiti ClassType metoda i TypeInfo funkcija, koje će omogućiti introspekciju.

Također, posebno svojstvo Object Pascala iz C ++ je da se objekti prema zadanim postavkama nalaze u dinamičkoj memoriji. Međutim, možete nadjačati virtualne metode NewInstance i FreeInstance klase TObject. Dakle, apsolutno svaka klasa može ispuniti "želju" "gdje želim - tamo ću leći." Sukladno tome, organizira se "multi-heaping".

Object Pascal (Delphi) je rezultat funkcionalnog proširenja Turbo Pascala.

Delphi je imao veliki utjecaj na koncept jezika za .NET platformu. Mnogi njegovi elementi i konceptualna rješenja ugrađeni su u C#. Jedan od razloga je prelazak Andersa Hejlsberga, jednog od vodećih programera Delphija, iz Borland Ltd. u Microsoft Corp.

  • Verzija 8 može generirati bytecode isključivo za .NET platformu. Ovo je prvo okruženje usmjereno na razvoj višejezičnih aplikacija (samo za .NET platformu);
  • Naknadne verzije (označene godinama izdavanja, a ne sekvencijalnim brojevima, kao što je bio slučaj prije) mogu stvoriti i Win32 aplikacije i bajt kod za .NET platformu.

No, u studenom iste godine donesena je odluka da se posao IDE ne prodaje. Ipak, razvojem IDE proizvoda sada će se baviti nova tvrtka - CodeGear, koju će u potpunosti financijski kontrolirati Borland.

U kolovozu 2006. Borland je objavio laganu verziju RAD Studija pod nazivom Turbo: Turbo Delphi (za Win32 i .NET), Turbo C#, Turbo C++.

U ožujku 2008. najavljen je kraj razvoja ove linije proizvoda.

U ožujku 2007. CodeGear je zadovoljio korisnike ažuriranom linijom proizvoda Delphi 2007 za Win32 i izdavanjem potpuno novog proizvoda, Delphi 2007 za PHP.

U lipnju 2007. CodeGear je predstavio svoje planove za budućnost, odnosno objavio tzv. mapu puta.

Embarcadero RAD Studio 2010

  • Prema zadanim postavkama, puna podrška za Unicode u svim dijelovima jezika, VCL i RTL; zamjena poziva svim Windows API funkcijama s Unicode pandanima (to jest, MessageBox poziva MessageBoxW, a ne MessageBoxA).
  • Generički tipovi, jesu generici.
  • Nova direktiva prevoditelja $POINTERMATH.
  • Funkcija Exit sada može prihvatiti parametre prema vrsti funkcije.

Sastavljači

  • Embarcadero Delphi (prethodno zvan CodeGear Delphi i Borland Delphi) vjerojatno je najpoznatiji kompilator koji je nasljednik Borland Pascala i Turbo Pascala. Koriste ga Win16 (Delphi 1), Win32 (Delphi 2 i noviji), Win64 (Delphi 16 (XE2) i noviji) i .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). Podrška za .NET kasnije je izdvojena u zaseban proizvod poznat kao Oxygene.
  • Free Pascal (FPC) besplatni je objektni Pascal prevodilac koji podržava različite Pascal dijalekte, uključujući Turbo Pascal, Delphi i vlastite dijalekte. Trenutno FPC može generirati kod za x86, x86-64, PowerPC, SPARC i ARM procesore, kao i za različite operativne sustave, uključujući Microsoft Windows, Linux, FreeBSD, Mac OS. Postoji nekoliko okruženja za razvoj softvera za FPC (jedan od najpoznatijih predstavnika je Lazarus).
  • GNU Pascal (zasebno razvijena verzija od GCC-a). Nema za cilj nastaviti niz Delphi dijalekata kao dio Pascala, ali unatoč tome sadrži način kompatibilnosti s Borland Pascalom i vrlo je spor za prilagođavanje komponenti Delphi jezika. Nije prikladan za kompajliranje velikih projekata koji sadrže Delphi kod, ali vrijedi napomenuti da ga većina operativnih sustava i arhitektura podržava.
  • Oxygene (ranije poznat kao Krom) je Object Pascal prevodilac koji je integriran u Microsoft Visual Studio. Također dostupan kao kompajler s besplatnim CLI naredbenim redom. Koristi .NET i mono platforme. Trenutno se prodaje pod markom Embarcadero Delphi Prism.
  • MIDletPascal je programski jezik sa sintaksom sličnom Delphiju i istoimenim kompajlerom koji pretvara izvorni kod u kompaktan i brz Java bajt kod.
  • PocketStudio je IDE za Palm OS temeljen na Pascalu.
  • Virtualni Pascal - besplatni kompajler i tekst IDE za Win32, OS/2 i Linux. U to vrijeme vrlo brz i vrlo kompatibilan (delphi 5 konstrukti su djelomično podržani). Izvana je vrlo sličan tekstualnom okruženju Borland Pascal 7, iako ne postoji grafika kompatibilna s njim, na primjer. Međutim, razvoj je završio 2004., a izvorni kod nije bio otvoren. Od tada je FPC otišao mnogo dalje i općenito je bolji za programiranje. Unatoč tome, VP ostaje vrlo dobra opcija za brzu zamjenu za još zastarjelije verzije Borland Pascala za školu / institut, s obzirom na izvorni rad u Win32 bez problema s ruskim kodiranjem.

Sintaksa jezika

Operatori

Popis operatora odvojenih razmacima: := + - * / div mod not i ili s xor shl shr ^=<> >= <= < >@in je kao

Izrazi

Izrazi u Object Pascalu (Delphi) su aritmetički, logički i nizovi.

Osnovni logički izrazi:
Booleovi izrazi se uglavnom koriste u uvjetnim izjavama. Booleovi izrazi uključuju operacije kao što su:

  • ne - "NE", negacija logičkog izraza (NE<логическое_выражение>)
  • i - "I", množenje (presjek) logičkih izraza (<логическое_выражение1>I<логическое_выражение2>)
  • ili - "ILI", unija logičkih izraza (<логическое_выражение1>ILI<логическое_выражение2>)
  • xor - "XOR", negacija ILI, sve što ne spada pod ILI (<логическое_выражение1>XOR<логическое_выражение2>)

Vrste podataka

Podaci koji se obrađuju u programu dijele se na varijable, konstante i literale. Konstante su podaci čije su vrijednosti postavljene u odjeljku deklaracije konstanti i ne mijenjaju se tijekom izvođenja programa.

Predmeti

  • Embarcadero proizvodi: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1 i 2 verzije.
  • Administracija i razvoj baze podataka: MySQL alati, IBExpert.
  • Inženjerski softver: Altium Designer.
  • Upravljači datotekama: Total Commander, Frigate.
  • Grafički preglednici: FastStone Image Viewer, FuturixImager, drComRead.
  • Video i audio playeri: Light Alloy, The KMPlayer, AIMP, X-Amp.
  • Programi za izravnu razmjenu poruka: QIP, R&Q, Skype GUI, The Bat! , PopTray , FeedDemon .
  • Glazbena produkcija: FL Studio, Guitar Pro (do verzije 6.0).
  • Razvoj softvera: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter
  • Web razvoj: Macromedia HomeSite.
  • Urednici teksta: BirEdit, Notepad GNU, Bred.
  • Računovodstvo i porezi: SAIL, AVARDA (do i uključujući verziju 6.x).
  • Softver za animaciju: Pivot Stickfigure Animator.
  • Programi za kompresiju podataka: ALZip, PowerArchiver, PeaZip.
  • Računalne igre: Age of wonders, Space Rangers, Venom. Kodno ime: Outbreak, Space Empires V, "Istina o Devetoj satniji".
  • Grafički urednici: Real Paint.

Bilješke

Književnost

  • Neil J. Rubenking. Delphi programski jezik za lutke. Uvod u Borland Delphi 2006 = Delphi for Dummies. - M .: Dijalektika, 2007. - 336 str. - ISBN 0-7645-0179-8
  • Javier Pasheku. Borland Delphi 2006 Programiranje za profesionalce = Delphi za .NET Developer's Guide. - M .: Williams, 2006. - 944 str. - ISBN 0-672-32443-X
  • A. N. Valvačev, K. A. Surkov, D. A. Surkov, Ju. M. Četirko. Programiranje u Delphiju. Tutorial . - 2005. (prikaz).

Linkovi

  • Stranica programskog okruženja na stranici Embarcadero Technologies

Dakle, u ovom ćemo članku govoriti o tome kako odrediti bitnost operacijskog sustava Windows pri programiranju na jeziku Delphi. To je potrebno kako bi se, na primjer, odabrala jedna ili druga verzija upravljačkog programa - x86 (32 bita) ili x64 (64 bita).

I tako, počnimo.

Stvaramo novi projekt, bacamo komponentu Label (tekstualni natpis) na obrazac.

Zatim idemo u editor izvornog koda i u dio s var varijablama dodamo string varijablu razr (tip podataka string, tj. string).

var Form1: TForm1;

razr: niz;

Nakon toga dvokliknite na formu, kopirajte i zalijepite u nju sljedeći kod (u proceduri kreiranja glavne forme TForm1.FormCreate), između izraza begin i kraj; (odnosno početak i kraj postupka).

(koristeći funkciju Get Enviroment Variable čitamo znanje o varijabli ProgramFiles(X86)

ako je sustav 32-bitni, tada će imati praznu vrijednost

ako je 64-bitni, imat će znanje o C:Program Files(x86)

tj. mapa u kojoj su instalirane 32-bitne verzije programa)

razr:= GetEnvironmentVariable("Programske datoteke(x86)");

label1.Caption:= razr;

if (razr = "") onda

početi

label1.Font.Color:=clRed; (Mijenja boju natpisa, možete odabrati bilo koju po svom ukusu, na primjer clGreen - zelena)

label1.Caption:= "Imate x86"; (umjesto naziva oznake labl1 možete napisati bilo što drugo, npr. metka)

drugo

početi

label1.Font.Color:=clBlue; (Mijenja boju natpisa, možete odabrati bilo koju po svom ukusu, na primjer clGreen - zelena)

label1.Caption:= "Imate x64";

kraj;

Kako program radi?

Pomoću funkcije Get Environment Variable, vrijednost varijable okoline očitava se u sustavu Windows Programske datoteke (X86).

Ako je sustav 32-bitni, tada će imati praznu vrijednost.

Ako je 64-bitni, tada će imati znanje o C: Program Files (x86) tj. ovo je mapa u kojoj su instalirane 32-bitne verzije programa.

Zapravo, to je sve.

Evo što mi se dogodilo.

U nastavku možete preuzeti arhivu s izvornim kodom programa kako biste ga pokušali sami shvatiti.


Komentari()

wdfm 90

Na Windows 7 x64 program radi dobro, možete koristiti

Edward 300

Svima koji budu lupetali off topic + psovke dajem ban na 1 dan! Ovo se ne odnosi na administratore.
.php?board=18.0

Forum nisam uzalud napravio!

Edward 300

Uvod

Ove su smjernice osmišljene kako bi pomogle studentima da steknu praktične vještine u vizualnom dizajniranju izvornih Windows aplikacija u Delphi okruženju koristeći metodologiju objektno orijentiranog programiranja. Laboratorije pokrivaju glavne faze razvoja programa za Windows.

Metodske upute sastoje se od tri dijela. U prvom dijelu opisuju se osnovni koncepti vizualnog dizajna aplikacija i programskog okruženja Delphi, au drugom dijelu formuliraju se opći zahtjevi za implementaciju i prezentaciju rezultata laboratorijskog rada. Treći dio sastoji se od opisa pojedinih laboratorijskih radova s ​​potrebnim kratkim teorijskim informacijama, primjerima programiranja, preporukama za izvođenje rada, opcijama zadataka za izvođenje rada i pitanjima za samoprovjeru. Za dovršetak rada studenti moraju poznavati jezik Object Pascal i vizualno programsko okruženje Delphi.

Osnovni pojmovi i definicije Delphija

delphi programsko polje vizualno

Zaslon nakon pokretanja Delphija sadrži četiri prozora: glavni prozor, prozor obrasca, inspektor objekata i uređivač koda, koji je gotovo u potpunosti prekriven prozorom obrasca.

Glavni prozor sadrži izbornik Delphi naredbi, alatnu traku i paletu komponenti.

Prozor obrasca, naslov FORM1 je praznina, izgled jednog od objekata aplikacije koja se razvija.

Prozor Object Inspector, njegov naslov Object Inspector vam omogućuje da vidite i promijenite svojstva objekata projekta. Nakon pokretanja Delphija, ovaj prozor prikazuje svojstva forme FORM1.

Prozor uređivača koda namijenjen je kreiranju procedura za obradu događaja. U Delphiju kod je tekst programa.

Objekti ili kontrole su komponente obrasca iz kojih se kreira projekt, usput, sam obrazac, kao što je gore spomenuto, također je objekt. Objekti mogu biti - naredbeni gumbi, polja za unos teksta, prekidači, natpisi, trake za pomicanje i prozori.

Svojstva objekta su, na primjer, veličina naslovnog teksta, boja pozadine obrasca ili teksta na naredbenom gumbu i mnogo više, potpuni popis svojstava može se vidjeti u prozoru Object Inspector za odabrani objekt.

Događaj je nešto što se događa dok aplikacija koju ste izradili radi. U Delphiju svaki događaj ima naziv, na primjer, klik mišem je OnClick događaj, dvostruki klik je OnDblClick događaj.

Projekt je skup datoteka (programskih jedinica – modula) pomoću kojih prevodilac stvara izvršnu programsku datoteku. Jedna od projektnih datoteka, koja se naziva projektna datoteka s nastavkom .dpr, sadrži opći opis projekta. Projektna datoteka je glavna jedinica aplikacije koju generira Delphi. Osim glavnog modula, projekt uključuje jedan ili više modula (jedinica). Datoteke projektnih jedinica (Unit) sadrže tekstove procedura, funkcija, opise tipova, kao i sve podatke za izradu izvršnog programa, a imaju ekstenziju pas. Procedura je skupina naredbi u programskom jeziku koja vam omogućuje izvođenje određenih radnji (za rješavanje problema). Na ovaj ili onaj način, sav izvršni kod koji ste kompajlirali nužno je smješten u neku proceduru.

Jedinica se sastoji od tri dijela: sučelje (počinje riječju sučelje), implementacija (počinje riječju implementacija) i. Slijedi struktura modula.

jedinica Naziv jedinice;

(Ovdje su opisi postupaka i funkcija ovog modula koje mogu koristiti drugi moduli)

(Ovdje su deklaracije globalnih konstanti modula koje mogu koristiti procedure i funkcije modula)

(Ovdje su deklaracije globalnih tipova modula koje mogu koristiti procedure i funkcije modula)

(Ovdje su deklaracije globalnih varijabli modula koje se mogu koristiti u procedurama i funkcijama modula)

(Ovdje su opisi postupaka i funkcija modula)

(Ovdje su upute za odjeljak za inicijalizaciju varijable modula)

Dakle, dio sučelja govori kompajleru koji je dio modula dostupan drugim programskim modulima. Implementacijski odjeljak počinje direktivom ($R*.DFM) koja prevoditelju govori da koristi deklaraciju obrasca prilikom generiranja izvršne datoteke. opis obrasca nalazi se u datoteci s nastavkom dfm čiji je naziv isti kao naziv modula. Direktivu ($R*.DFM) prate postupci rukovanja događajima za obrazac i njegove komponente. Programer također može smjestiti razvijene procedure i funkcije ovdje. Ako odjeljak za inicijalizaciju ne sadrži upute, tada je riječ početak izostavljena.

Delphi je programski jezik i okruženje za razvoj softvera. Razvio ga je Borland (ranije poznat kao Inprise). Programski jezik Delphi, ranije poznat kao Object Pascal(Pascal s ekstenzijama usmjerenim na objekte), izvorno namijenjen samo za Microsoft Windows, ali sada vam omogućuje izradu vlastitih aplikacija za Linux i Microsoft. NET Framework i drugi (vidi dolje). Programiranje za početnike.
Najpopularnija uporaba je razvoj desktop aplikacija i poslovnih baza podataka, a kao alat Delph programski jezik I može se koristiti za većinu vrsta razvojnih projekata. Bio je to jedan od prvih jezika koji je postao poznat kao RAD (Rapid Application Development) alat kada se pojavio 1995. godine. Delphi 2, objavljen godinu dana kasnije, podržavao je 32-bitno Windows okruženje, a samo nekoliko godina kasnije pojavio se C, C++ Builder. Godine 2001. postala je dostupna verzija Linuxa poznata kao Kylix (klasična grčka urna). Jedna nova verzija izdavana je svake godine, 2002. proizvod je postao poznat kao Delphi 7 Studio, jezik je postao službeno poznat kao programski jezik Delphi, a ne Object Pascal, a dodana je i podrška za Linux (putem Kylixa) i. NET (preko predkompilatora). Potpuna podrška. NET je planiran za nadolazeći Delphi 8. Programming for Dummies.
Glavne komponente Delphija i Kylixa su: jezik Delphi (ranije službeno poznat kao jezik Object Pascal), VK/CLX (biblioteka vizualnih komponenti), jake veze baze podataka, u kombinaciji s moćnim IDE-om (Integrated Development Environment) i dodatnim alatima za podršku .
Izvanredne karakteristike jezika Delphi uključuju:

  • Transparentno rukovanje objektima putem referenci ili pokazivača
  • Svojstva kao dio jezika, zajedno s funkcijama Get i Set, koje su transparentne enkapsulacije pristupa članova polja
  • Svojstva indeksa i zadana svojstva koja omogućuju pristup zbirci na prikladan i transparentan način
  • Delegati ili druge metode pokazivača sigurnih za tip koji se koriste za aktiviranje događaja koje pokreću komponente
  • Delegiranje implementacije sučelja u polje ili svojstvo klase
  • Jednostavan za ugradnju Windows rukovatelja porukama, označavanje metode klase brojem/nazivom okvira za poruke za obradu
  • Većina gore navedenih značajki prvo je uvedena u Delphi, a kasnije prilagođena drugim jezicima.

Anders Hejlsberg bio je glavni arhitekt Delphija, i njegovog prethodnika Turbo Pascala, sve dok se nije pridružio Microsoftu 1996. godine, posvetivši svoj posao osnovama programiranja.
Delphi proizvod se distribuira u različitim paketima, od kojih svaki nudi više funkcionalnosti od ostalih:

  • Osobno
  • Profesionalni
  • Društvo
  • Arhitekt

Dobri razlozi za korištenje Delphija:

  • Vrlo informativne i korisne vijesti za zajednicu
  • Može se prevesti u jednu izvršnu datoteku, što olakšava distribuciju i smanjuje probleme s različitim DLL-ovima
  • VCL i komponente treće strane općenito su dostupne s punim izvornim kodom
  • Snažan i brz optimizirajući prevodilac
  • Jedan izvorni kod čini izvrsne strojne kodove za različite operativne sustave
  • Podrška za najnovije tehnologije i standarde

Klonovi i alternativci

Budući da ne mogu zadovoljiti sve potrebe programera, postoji čitav niz dodatnih alata koji su osmišljeni da prošire spektar zadataka koji se rješavaju Delphijem ili se to može učiniti lijepljenjem koda u drugim jezicima, gdje su Delphi i Kylix nemoćni .
Ove zamjene za Delphi mogu se koristiti u slučaju nemogućnosti plaćanja razvojnog okruženja, potrebe za besplatnim razvojnim okruženjima (npr. za operativne sustave i besplatni softver ili u obrazovne svrhe). U većini slučajeva ove se alternative koriste za obuku, kao i za pisanje poslužiteljskih komponenti, za operativne sustave koji nisu široko rasprostranjeni (tako je bilo sve dok se Kylix nije pojavio za Linux, koji se uglavnom koristi kao OS za poslužitelje). .
Nabrojimo neke:

  • Free Pascal je zamjena koja dolazi kao prevodilac naredbenog retka. Ovaj razvoj temelji se na kompatibilnosti s glavnim skupom značajki Turbo Pascal i Delphi dijalekata. Značajke verzija Delphija iznad 4 implementirane su i rade. Radi na većini x86 operativnih sustava uključujući Win32, Dos, Linux, BSD i Novell Netware. Podrška za druge operativne sustave na m68k i PowerPC, čiji se status još uvijek vrlo brzo mijenja, nije dostupna. Započeli su radovi na portiranju na SPARC platformu.
  • GNU Pascal (zasebno distribuirani dio GNU Compiler Collection) iako nije formalno usmjeren na Borland Pascal dijalekte, sadrži kompatibilnost s Borland Pascalom i postupno apsorbira značajke Delphi jezika, iako nije prikladan za ponovno prevođenje velikih količina Delphija kodirati. To je najplodniji kompajler u smislu operativnih sustava i procesora, iako zaslužuje da ga se spomene samo kao posljednju opciju.
  • Postoji alat pod nazivom Pocket Studio koji ima za cilj sastaviti skraćeni Delphi kod za PDA uređaje.
  • Virtualni Pascal - kompajler, x86 32-bitni Turbo Pascal i Delphi, kompatibilan uglavnom s OS/2 i Windows, iako su razvijeni DOS Extender i eksperimentalni Linux cross-kompiler. Kompajler je zapeo oko Delphi verzije 2 i stranica se nije mnogo promijenila u dvije godine, ali alternativno je još jedna od najboljih, sa izvrsnim IDE-om i debuggerom, iako je i Free Pascal u pokretu.
  • BloodShed distribuira vrlo dobar Win32 grafički uređivač (iako ne RAD) kao sučelje za GNU Pascal i Free Pascal.
  • Lazarusovi napori usmjereni su na stvaranje razvojnog okruženja za Free Pascal. Dok GTK priključak postaje koristan za pisanje malih aplikacija kao što su konfiguracijski alati, win32 priključak još uvijek treba puno raditi.
  • InnerFuse je Delphi prevoditelj za ugradnju u aplikacije. Priča se da radi s više verzija Delphija.
  • WDOSX je Win32 DOS Extender emulacijski API koji se može koristiti za pokretanje konzolnih aplikacija napisanih u Delphiju na normalnom DOS-u.

Kako postati profesionalac u izradi web stranica i početi zarađivati? Jeftini video tečajevi s uvodnim uvodom.

Započnimo naše upoznavanje s programiranjem u Delphi okruženju s pitanjima kao što su suština samog programiranja, njegove osnove i podvrste. Također ćemo pogledati što je Delphi okruženje, po čemu se razlikuje od drugih i koliko je daleko prešlo od svog početka prije 10 godina.

Što je programiranje

Dakle, prvo da sami sebi razjasnimo što se podrazumijeva pod pojmom programiranje? Sada se mnogi ljudi nazivaju programerima, čak ni ne znajući što je to: za provjeru se ispostavlja da je osoba koja je promijenila nekoliko redaka koda u HTML dokumentu već spremna sebe smatrati programerom. Ali zapravo, radeći s HTML-om (točnije sa samim HTML-om), ne može se postati programer, jer HTML, što je jasno iz naziva (Hypertext Markup Language - Hypertext Markup Language), nije programski jezik.

Kao rezultat, imamo prvi uvjet: da biste naučili programirati, potrebna vam je neka vrsta programskog jezika. U našem slučaju to će biti najnoviji jezik Object Pascal (14.0 ili 15.0).

Nadalje, recimo da je netko tko sebe naziva programerom ne samo uredio par redaka HTML koda, već je vidio i Delphi, pa čak i nacrtao formu u njemu s 2-3 gumba i poljem za tekst. Je li programer? Najvjerojatnije niti ne. Činjenica je da ispod vizualne ljuske zapravo postoji složen mehanizam koji osigurava interakciju kontrola (iste tipke) s korisnikom i operativnim sustavom - s jedne strane, i omogućuje vam izvođenje gotovo svih računalnih radnji - na drugoj. Uz sve to, treba moći učiniti ono glavno - sastaviti algoritme za ponašanje programa - bilo da se radi o njegovoj reakciji na pritisak na određenu tipku, ili stvaranju funkcije za rješavanje složene matematičke jednadžbe.

Dakle, programiranje u svom modernom konceptu uključuje poznavanje principa rada operacijskog sustava, interakcije njegovih komponenti i unutarnje strukture. Pa, u isto vrijeme, klasična definicija programiranja je sačuvana, naime, sposobnost sastavljanja algoritama, matematičkih i programskih ponašanja. Sve se to implementira u kontekstu nekog programskog jezika, na primjer, istog Object Pascala iz Delphija.

Što je Delphi

Sada znamo da je programiranje pisanje algoritama uz korištenje programskog jezika. Ali ako je jezik koji učimo Object Pascal, što je onda Delphi? Odgovor je: Delphi je RAD, ili Rapid Application Development - okruženje za brzi razvoj aplikacija. Drugim riječima, Delphi uključuje ne samo sve alate za rad s jezikom Object Pascal (osobito jer, počevši od verzije 2005, Delphi ima podršku za druge programske jezike, posebice C #), već i niz dodatnih alata dizajniranih za ubrzati i pojednostaviti izradu programa. Ovi alati uključuju, prije svega, vizualni uređivač obrazaca, s kojim možete stvoriti program potpunog izgleda u nekoliko minuta i bez dodatnog napora, kao i druge komponente vizualne komponente razvoja programa.

Kao rezultat, vrijeme razvoja programa je značajno smanjeno, jer nema potrebe za ručnim izračunavanjem lokacije svakog elementa korisničkog sučelja.

Zajedno s naprednim alatima za pisanje i otklanjanje pogrešaka koda - specijaliziranim uređivačem teksta, optimizirajućim kompajlerom i debuggerom, Delphi je alat za brz razvoj aplikacija. Istovremeno, osnova Delphija za krajnjeg korisnika je IDE - Integrirano razvojno okruženje (Integrated Development Environment), koje kombinira uređivač koda i alate za vizualni razvoj, a povezuje to i s kompajlerom, alatima za razvoj baze podataka i drugim komponentama od Delphija.

Delphi i drugi

Naravno, Delphi nije jedino okruženje za brzi razvoj aplikacija. Postoje i drugi RAD-ovi koji su jednako dobri za vizualni razvoj programa, poput Visual Basica. Ali BASIC nije poznat kao najmoćniji i najprikladniji programski jezik, osim toga, programi koji se temelje na njemu su relativno spori.

U isto vrijeme, postoje programski jezici koji nisu manje moćni od Object Pascala koji imaju svoje RAD-ove - prije svega, ovo je jezik C ++, zajedno s poznatim razvojnim alatima kao što su Visual C ++ i C ++ Graditelj. Međutim, C++ nije na najbolji način u usporedbi s Object Pascalom u smislu lakoće učenja. Osim toga, izrada i otklanjanje pogrešaka u C++ programima relativno je spora, iako se gotovi programi izvode jednako brzo kao i oni stvoreni s Delphijem.

BILJEŠKA
Imajte na umu da je u vrijeme svog pojavljivanja 1995. Delphi bio doista jedinstveno okruženje koje kombinira vizualno programiranje s optimizirajućim kompajlerom i alatima za rad s bazama podataka.

Kao rezultat, dobivamo gotovo idealan proizvod za brz razvoj programa: s jedne strane, jednostavnost i praktičnost usporediva s Visual Basicom, as druge strane, snaga, brzina i fleksibilnost karakteristična za C ++.

Ovdje treba napomenuti da jezik Object Pascal koji se koristi u Delphiju ima malo toga zajedničkog sa svojim prethodnikom, programskim jezikom Pascal, koji ste možda učili u školi ili na sveučilištu. Prije svega, Delphi koristi čisti objektno orijentirani programski model, dok je Pascal bio uobičajeni proceduralni jezik. Koja je razlika između proceduralnog i objektno orijentiranog programiranja? Ovo je pitanje o kojem ćemo raspravljati u sljedeća dva odlomka.

Proceduralno programiranje i algoritmi

Gotovo svi moderni programski jezici su proceduralne prirode. To znači da se svaki program sastoji od skupa procedura od kojih svaka rješava određeni zadatak, dok jedna procedura može pozvati bilo koju drugu, uključujući i samu sebe (potonje, tj. pozivanje same procedure, naziva se rekurzija). Sam program je sastavljen na temelju algoritama, a dovoljne su samo tri njihove varijante - izbor (fork), ponavljanje (ciklus) i prijelaz. Međutim, potonja se vrsta praktički ne koristi u praksi zbog svoje loše reputacije (govorimo o GOTO - jednom voljenom, iz očaja, operateru BASIC programera).

Pogledajmo najjednostavniji algoritam - za igru ​​"pogodi broj". Logika njenog rada je da je potrebno provjeriti je li broj veći ili manji od pogodjenog, i ako je, prikazujete odgovarajući hint, a ako nije ni više ni manje (tj. poklapa se), onda igra završava . Blok dijagram takvog algoritma sastojat će se od 2 grane (slika 1.1).

Riža. 1.1. Dijagram toka jednostavnog algoritma

Prvi korak ovdje je pitati korisnika za broj A, koji se dvaput uspoređuje s predefiniranim brojem B. Prvo se provjerava je li broj A veći od B, i ako jest, program javlja da je došlo do "skoka". i vraća se na brojeve ulaznih točaka. Ako broj nije veći, tada se radi druga usporedba - da se vidi je li A manji od B. Ako je, tada se prikazuje poruka da je broj manji ("podbacivanje") i, opet, povratak na početak javlja se. Ali ako broj A nije manji od broja B, onda je, s obzirom na činjenicu da je u ovom trenutku već poznato da nije veći, jednak broju B, i program završava svoj rad. Istodobno, može prikazati korisnikove čestitke za pogađanje broja.

Ovaj algoritam može biti dio drugog algoritma. Na primjer, ne predviđa generiranje samog broja, što bi trebalo pogoditi. Također ne postoji mogućnost ponavljanja. Da biste popravili ovu situaciju, razmotrite blok dijagram algoritma koji kontrolira izvođenje programa u cjelini (slika 1.2).


Riža. 1.2. Dijagram toka kontrole programa

Na početku izvođenja generira se novi broj koji će korisnik pogoditi. Zatim dolazi sam blok za pogađanje, koji smo već razmotrili (vidi sliku 1.1), - ovdje je predstavljen kao jedan jednostavan modul, budući da ne utječe na tijek programa u cjelini. Nakon završetka ovog bloka, imamo jednu granu - ovisno o tome što korisnik odgovori na ponudu za ponavljanje igre. Dakle, ako je odgovor da, tada će program morati ići na početak, tj. za generiranje novog broja. Ako korisnik odbije, tada se program mora prekinuti.

Konkretna implementacija pojedinog algoritma ovisi o korištenom programskom jeziku, kao io preferencijama kreatora programa, jer se u pravilu ista konstrukcija može riješiti na više različitih metoda. Na primjer, za povratak na bilo koju točku naznačenu na dijagramu toka, možete koristiti i petlje i operatore bezuvjetnog skoka. Pa, sami blokovi se mogu izdvojiti u zasebne procedure i pozvati kao potprogrami. Jedina zajednička značajka je uvjetni operator odgovoran za račvanje - u gotovo svim jezicima, a Pascal nije iznimka, zove se IF. No, još uvijek imamo vremena upoznati se s Object Pascal operatorima.

O objektno orijentiranom programiranju

Ako su izbor, ponavljanje i prijelaz kamen temeljac bilo kojeg proceduralnog programskog jezika, onda for objektno orijentirano programiranje koncepti kao što su enkapsulacija, nasljeđivanje i polimorfizam su važni. Pogledajmo ove koncepte, bez kojih se nijedan jezik koji podržava objekte ne može nazvati objektno orijentiranim, detaljnije.

BILJEŠKA
Pod pojmom "objekt" u programiranju podrazumijeva se određeni složeni tip podataka, kojemu se mogu pridružiti svojstva jedinstvena za ovaj tip, au slučaju OOP-a i metode.

Enkapsulacija je kombinacija podataka i potprograma koji ih obrađuju - metode - unutar jednog objekta, koji se u OOP-u naziva "klasa". To znači da klasa sadrži sve što vam je potrebno za rad s određenim objektom.

Nasljeđivanje je još jedan važan dio OOP-a. Nasljeđivanje se shvaća kao mogućnost stvaranja tipa (objekta) na temelju definicije drugog objekta. U tom slučaju sva svojstva i metode nadređenog objekta mogu biti naslijeđena od strane djeteta. Na primjer, ako imamo objekt "auto", onda na njegovoj osnovi možemo kreirati drugi objekt, recimo "tramvaj", koji će naslijediti sva njegova svojstva, a uz njih će dobiti i neka svoja. Zauzvrat, ovaj će objekt također moći imati vlastitu djecu, i tako dalje. Rezultat je stablo objekata nazvano hijerarhija klasa.

U Object Pascalu sve klase potječu od jednog pretka - klase TObject, koja implementira radnje zajedničke svim klasama na objektu kao što su stvaranje i brisanje.

SAVJET
Verzije Delphija u kutiji dolaze s posterom koji prikazuje stablo klasa za sve glavne komponente Delphija. Stoga, ako ste sretni vlasnik licenciranog proizvoda, možete vizualno proučiti strukturu ovog sustava postavljanjem ovog postera na svoje radno mjesto.

Konačno, treći kit na kojem stoji OOP je polimorfizam, odnosno mogućnost stvaranja istoimenih svojstava i metoda unutar srodnih objekata koji će se bitno razlikovati. Recimo da već imamo klase "auto" i "tramvaj", i za obje je definirano svojstvo "motor", ali ako će za automobil tip motora biti objekt jedne vrste, onda će za tramvaj to biti potpuno drugačiji.

Još jedna važna komponenta karakteristična za OOP je skrivanje, koje vam omogućuje da brojna svojstva objekata učinite nevidljivima. Drugim riječima, ako možemo imati definiran objekt tipa "auto", za koji su definirana svojstva kao što su šasija, motor i kotači. Dakle, ako motor i kotači mogu biti vidljivi (i dostupni) posvuda, gdje je dostupna samo sama klasa "automobila", onda šasija ne može. Sukladno tome, pristup takvom svojstvu može se dobiti samo u onim dijelovima programa u kojima je napravljen opis samog "strojnog" objekta. Takva se svojstva nazivaju zaštićenim.

Više o objektno orijentiranom programiranju bit će riječi u drugom dijelu ove publikacije.

Vizualno programiranje i Delphi

Dakle, Delphi je okruženje koje radi s objektno orijentiranim strukturnim programskim jezikom Object Pascal. Osim toga, Delphi je i vizualno razvojno okruženje. Drugim riječima, već u procesu kreiranja programa možete vidjeti kako će izgledati tijekom izvođenja. Vizualno programiranje značajno smanjuje vrijeme potrebno za izradu korisničkog sučelja za Windows aplikacije. Prije pojave vizualnih razvojnih alata, programiranje pod Windowsima bilo je vrlo teško, jer je bilo potrebno gotovo naslijepo izračunati lokaciju svake kontrole u prozoru aplikacije, što je dovodilo do mnogih grešaka (Slika 1.3).


Riža. 1.3. Klasični i vizualni pristupi izradi sučelja

Činjenica da je Delphi vizualno razvojno okruženje ostavlja traga i na programskom jeziku. Konkretno, pruža posebne pogodnosti tako da se određenim svojstvima klasa može pristupiti već u razvojnoj fazi programa, a ne samo tijekom izvođenja. Ali najvažniji dio sve te raskoši je biblioteka klasa - VCL (Visual Component Library). VCL je taj koji skriva sve oštre kutove unutrašnjosti Windowsa i olakšava stvaranje aplikacija bez ulaska u dugotrajni rat s obradom sistemskih poruka, povratnih poziva, deskriptora i pokazivača.

Uz sve to, naravno, nitko vam ne brani, ako je potrebno, izravno koristiti funkcije sustava Windows, zaobilazeći VCL. Međutim, ovo može biti potrebno vrlo rijetko, tako da početniku Delphi programeru nije potrebno ništa više od VCL-a za pisanje Windows aplikacija.

Vizualne komponente će biti detaljno obrađene u 3. dijelu ove knjige.

Delphi verzije i njihove razlike

Na kraju uvodnog dijela pogledajmo razlike između verzija Delphija, usput proučavajući povijest razvoja ovog divnog razvojnog okruženja.

Delphi 1. Izdan malo prije Windowsa 95, Delphi 1.0 bio je prvi alat za razvoj Windows aplikacija (3.1) koji je kombinirao optimizirajući kompajler, vizualno razvojno okruženje i moćne alate za baze podataka. Za jezik Pascal ovo je postala prava reinkarnacija - postao je Object Pascal.

Delphi 2. Objavljena godinu dana kasnije, 2. verzija Delphija nudila je sve isto, ali za 32-bitne verzije Windowsa (95 / NT), ponovno postavši prvi alat koji je kombinirao 32-bitni kompajler, alate baze podataka i vizualno razvojno okruženje, podržava OLE (i nakon izdavanja ažuriranog Delphija 2.01 - i ActiveX). Jezik se također promijenio, postavši 32-bitni.

Delphi 3. Daljnje poboljšanje Delphija u svim smjerovima dovelo je do izdanja 3. verzije, koja je imala proširen skup alata za izradu aplikacija zahvaljujući podršci za COM i ActiveX. Ova verzija se također prvi put fokusirala na mogućnost kreiranja aplikacija za Internet, kao i netipizirani tip podataka - varijanta.

Delphi 4. Još jedna ključna prekretnica u razvoju. Mnoge nove i korisne stvari uvedene su u ovu verziju kako bi se pojednostavio razvoj aplikacija, uključujući novo okruženje s dinamičkim savjetima, itd. Poboljšan je model za rad s komponentama (VCL), postalo je moguće brzo koristiti tehnologije kao što su MIDAS, DCOM i CORBA. U ovoj verziji poboljšan je i jezik Object Pascal: pojavile su se nove značajke karakteristične za moderni OOP, uvedene su nove vrste podataka, uključujući 64-bitne.

Delphi 5. Bilo je toliko promjena u Delphiju 4 da je, nažalost, bilo nekih dosadnih preklapanja i grešaka. Rezultat je bilo izdavanje 3 servisna paketa (naši pirati su ih prodavali pod zastavama Delphi 4.1, 4.2 i 4.3). Ali Delphi 5 treba smatrati najpotpunijim i najispravnijim paketom ažuriranja - u ovoj verziji sve što je započeto u Delphiju 4 stavljeno je na pamet.

Delphi 6. Izdavanjem verzije 6, Borland je započeo novu, višeplatformsku eru za Delphi, s paralelnim izdanjem Delphija za Linux (Kylix 1.0). Sada, prilikom izrade aplikacije, bilo je moguće odabrati njen tip - za Windows ili univerzalni. U skladu s tim, biblioteci CLX dodana je biblioteka VCL, koja je kompatibilna s Windowsima i Linuxom. Osim toga, u šestoj verziji konačno su se pojavile "izvorne", a ne strane ActiveX komponente za rad s Internetom, i to u obje verzije odjednom - i za VCL i za CLX. Počevši od ove verzije, sam programski jezik Object Pascal službeno se zove Delphi.

Delphi 7. Daljnji razvoj Delphija 6, poboljšane CLX biblioteke i nove odgovarajuće verzije Linux razvojnog okruženja - Kylix 3. U isto vrijeme, počevši od Delphija 7, Borland se posvetio pitanju kompatibilnosti s drugom platformom - Microsoft .NET, za koje su neke promjene napravljene kako u VCL-u, tako iu jeziku (i, sukladno tome, u prevoditelju).

Delphi 8. Prva verzija Delphija bila je usmjerena na rad s Microsoft.NET platformom. U ovoj su verziji programeri preuzeli rizik promjene sučelja okruženja, čineći ga sličnim proizvodima Microsofta - novog glavnog dioničara Borlanda. Podršku je, sukladno tome, ukinuo Kylix.

Delphi 2005. Manje od godinu dana nakon izlaska Delphija 8, objavljena je nova verzija koja je brzo vratila mogućnost rada u klasičnom IDE stilu pri razvoju aplikacija za Windows. Istodobno, Delphi 2005, u slučaju razvoja aplikacija posebno za NET platformu, omogućuje vam rad ne samo s jezikom Delphi, već i s C#. U isto vrijeme, inovacije kao što su for ... in statement i inline procedure i funkcije uvedene su u sam jezik Delphi.

Delphi 2006. Najnovija verzija Delphija koju je objavio Borland. Objavljena je i laka verzija - Turbo Delphi. Zatim je počelo putovanje kroz druge programere.

Delphi 2007. Verzija koju je objavio CodeGear. Dodana podrška za Aero sučelje za Windows Vista.

Delphi 2009. Verziju objavio Embarcodero. Implementirana je podrška za Unicode u VCL i RTL, pozivi svim Windows API funkcijama zamijenjeni su analognim u Unicodeu, dodani su generički tipovi i anonimne metode.

Delphi 2010. Podrška za Windows 7, komponente dodira i geste, dbExpress komponente sada službeno podržava Firebird.

Delphi XE (Delphi 2011). Dodana podrška za računalstvo u oblaku.

Svidio vam se članak? Podijeli
Vrh