Sunteți pe pagina 1din 16

Capitolul 1

DELPHI, MEDIU DE PROGRAMARE VISUAL


Ce este Delphi?
O priire rapi!" asupra MDI Delphi
Fereastra principal
Inspectorul de Obiecte
Spaiul de lucru Delphi
Pri#ul pro$ra#
Crearea programului
Modificarea programului
nchiderea programului
Al !oilea pro$ra#
Crearea programului
Modificarea programului
O s%urt" pre&e'tare a li#(a)ului O()e%t Pas%al
U*I+,urile -' Delphi
A'ato#ia u'ui U*I+ Delphi
1.1. CE ES+E DELPHI?
Delphi este un produs program realizat de firma Borland pentru scrierea
aplicaiilor Windos! Cu Delphi se pot scrie programe pentru Windos mult mai rapid
"i mai u"or! Se pot crea console de aplicaii Win#$ sau programe de interfee grafice
pentru utilizator! C%nd se creaz& acestea din urm cu Delphi& se dispune de toat
puterea pe care o ofer limba'ul de programare (Ob'ect )ascal* +ntr,un mediu de
dez-oltare rapid a aplicaiilor! .cest lucru presupune c se poate crea interfaa
utilizator a unui program (interfaa utilizator +nseamn meniurile& csuele de dialog&
fereastra principal etc!* folosind tehnicile drag,and,drop pentru o dez-oltare rapid a
aplicaiilor (D/.*! Se pot pune pe form,uri butoane .cti-e0 pentru a crea programe
specializate cum ar fi motoare de cutare pe eb! Delphi le ofer pe gratis1 Delphi
genereaz rapid coduri compilate! )rodusul program Delphi se bazeaz pe limba'ul de
programare Ob'ect )ascal cu toate a-anta'ele oferite de programarea pe obiecte a
acestuia +n scopul dez-oltrii rapide a aplicaiilor! /eu"e"te s ascund micile detalii ce
constituie inima unui program Windos& dar nu poate scrie programe +n locul
programatorului! )entru a fi un programator bun trebuie +n-at "i programarea +n
Delphi!
1./. O PRIVIRE RAPID ASUPRA MDI DELPHI
.ceast seciune conine o pri-ire rapid a Mediului de Dezvoltare Integrat
Delphi (MDI Delphi*! C%nd se deschide pentru prima dat programul& pe ecran se -a
afi"a at%t o form goal c%t "i un MDI Delphi (Fig nr 1.1 Mediul de Dezvoltare
Integrat Delphi*!
2
Fig nr 1.1 Mediul de Dezvoltare Integrat Delphi
MDI (mediul de dez-oltare integrat* Delphi se compune din trei pri
(Fereastra principal, Inspectorul de Obiecte, Spaiul de lucru Delphi).
1./.1. 0EREAS+RA PRI*CIPAL
Fereastra de sus poate fi considerat ca fiind fereastra principal Fig nr 1.2.
Componentele ferestrei principale)! 3a conine barele de unelte "i paleta ecomponente!
)e prima bar a acestei ferestre se afl denumirea proiectului Delphi +n lucru (de
e4emplu1 )ro'ect2*! Sub bara de titlu este plasat meniul principal!
Barele de unelte Delphi ofer& printr,un clic5& aciuni asupra obiectelor cum ar
fi de e4emplu deschiderea& sal-area "i compilarea!
Paleta de componente conine o serie lung de componente ce se pot pune pe
form,uri! (Componentele sunt te4t label,uri& controale de editare& list bo4,uri&
butoane etc!*! )entru comoditate componentele sunt +mprite +n grupuri! De,a
lungul prii de sus a paletei de componente sunt a"ezate butoanele! Diferitele
componente care se ofer se pot e4plora e4ecut%ndu,se un clic5 pe ele! )entru
a pune o component pe form& se -a e4ecuta un clic5 pe butonul componentei
+n cadrul paletei de componente "i apoi +nc un clic5 pe form,ul +n care se
dore"te s apar acea component!
.ceast fereastr poate fi mutat +n orice poziie a ecranului prin tehnica drag,
and,drop (fi4%nd cursorul pe bara de titlu "i trg%ndu,l +n noua locaie*!
$
0ereastra pri'%ipal12
6arele de unelte "i )aleta de componente
I'spe%torul !e O(ie%te
Spa3iul !e lu%ru Delphi
(Form Designer*
Fig nr 1.2. Componentele ferestrei principale
+er#e' 'ou2 O component este o pies binar de softare ce +ndepline"te funcii
specifice predefinite& cum ar fi te4t label& buton de editare sau un list bo4!
1././. I*SPEC+ORUL DE O4IEC+E
Sub fereastra principal "i +n partea st%ng a ecranului se gse"te I'spe%torul
!e O(ie%te 5Fig nr. 1.. !"iectul Inspector6! Cu a'utorul lui se -or modifica
proprietile componentelor "i ale unor e-enimente! Se -a folosi constant +n timpul
lucrului cu Delphi! Inspectorul de Obiecte are dou seciuni1 Properties "i #vents!
$ec%iunea Properties prezint proprietile componentei acti-e la un moment
dat! Propriet%ile unei componente controleaz modul cum opereaz acea
component! De e4emplu& schimbarea proprietii Color a unei componente
schimb culoarea fundalului acelei componente! 7ista de proprieti disponibile
-ariaz de la component la component& de"i componentele au& de obicei& "i
c%te-a elemente comune (de e4emplu1 proprietile Width,lime "i 8eight,
+nlime*!
$ec%iunea #vents conine o list de e-enimente pentru o component!
3-enimentele apar pe msur ce utilizatorul interacioneaz cu o component!
De e4emplu& c%nd se d clic5 pe o component se genereaz un e-eniment care
spune dac s,a dat clic5 pe component! Se poate scrie un cod care s
rspund la aceste e-enimente& +ndeplinind aciuni specifice c%nd apare un
e-eniment! 7a fel ca la proprieti& e-enimentele la care se poate rspunde
-ariaz de la component la component!
+er#e'i 'oi2
Proprietate determin modul de operare a unei componente!
9n eveniment este ceea ce apare ca rezultat al interaciunii unei componente cu
utilizatorul sau cu Windos!
9n m&nuitor de evenimente este o seciune de cod care se apeleaz +n aplicaia
curent ca rspuns la un e-eniment!
#
6arele de unelte )aleta de componente
Fig nr. 1.. !"iectul Inspector
1./.7. SPA8IUL DE LUCRU DELPHI
)artea principal a MDI Delphi este spa3iul !e lu%ru 5Fig nr 1.'. Masa de
lucru a sistemului Delphi6! Iniial& spaiul de lucru afi"eaz Form Designer,ul!
Fig nr 1.'. Masa de lucru a sistemului Delphi
.cest Form Designer a'ut la crearea form,urilor! n Delphi& o form reprezint o
fereastr +n program! Forma poate fi fereastra principal a programului& o csu de
:
Seciunea proprietilor
Seciunea e-enimentelor
dialog sau orice alt tip de fereastr! Form Designer se folose"te pentru a plasa& a muta
"i a stabili mrimile componentelor& ca parte a procesului de creare a form,ului!
n spatele Form Designer,ului se ascunde #ditorul de Cod (Code 3ditor*!
3ditorul de Cod este locul unde se -a tipri codul atunci c%nd se scriu programe (Fig
1.(. Fereastra #ditorului de cod*!
Inspectorul de !"iecte) Form Designer) Paleta de Componente *i #ditorul de
Cod lucreaz interacti- pe msur ce se construiesc aplicaiile!
Fig nr 1.(. Fereastra #ditorului de cod
.cum& dup ce s,a -zut din ce este alctuit MDI Delphi& se -a trece la crearea
primului program +n Delphi!
1.7. PRIMUL PROGRAM
1.7.1. CREAREA PROGRAMULUI
Dac este pornit Delphi pe ecran ar trebui s apar un form gol! Din oficiu&
acesta este numit Form1! (;umele form,ului are +nsemntate +n Delphi& dar se -a
prezenta acest lucru mai t%rziu!* 7a st%nga form,ului& Inspectorul de Obiecte arat
propriet%ile pentru form! Se -a e4ecuta un clic5 pe bara de titlu a Inspectorului de
Obiecte! )roprietatea Caption iese +n e-iden "i se -a obser-a cursorul care clipe"te!
(Dac proprietatea Caption nu se -ede& -a trebui derulat Inspectorul de Obiecte "i
localizat aceast proprietate! )roprietile sunt listate +n ordine alfabetic!* 7a acest
prim program propunem ca la proprietatea Caption s se scrie <Pro$ra# !i!a%ti% 19
pentru a schimba titlul form,ului +Fig nr. 1.,. Primul program Delphi-.
=
3ditorul de cod
*ot12 )e msur ce se -or modifica proprietile& Delphi -a afi"a imediat
rezultatele schimbrii strilor proprietilor& unde este cazul! Dup ce se -a tipri
noul titlu se -a obser-a c +n fereastra de titlu a form,ului apare ceea ce s,a scris
la proprietatea Caption!
9rmtoarea aciune -a fi un clic5 pe butonul .un de pe bara de unelte (cea cu
sgeat -erde*! (Se poate& de asemenea& s se apese tasta F/ sau s se aleag comanda
.un din meniul principal!*! Ca efect al acestei aciuni Delphi a construit un program!
Se afi"eaz form,ul iar titlul acestuia -a fi <Pro$ra# !i!a%ti% 195 Fig nr. 1.0.
#1ecu%ia primului program6! n acest caz& programul +n derulare arat aproape identic
cu form,ul gol& el apare +n acela"i loc ca "i form,ul +n Form Designer! (34ist o
diferen pentru c Form Designer afi"eaz un grid de aliniere +n timp ce programul +n
derulare nu face acest lucru!*! .stfel s,a scris primul program& nu este mult& dar este
totu"i un program Windos! Fereastra principal a programului poate fi mutat
trag%nd de bara de titlu a ei& poate fi mininizat& ma4imizat "i +nchis prin apsarea
butonului Close! Se -a putea chiar localiza programul +n Windos 34plorer (probabil
c -a fi +n directorul 23Delphi,3Pro4ects ca Pro4ect1.e1e* "i se -a putea da dublu,clic5
pe el ca s funcioneze!
Fig nr .1.,. Primul program Delphi 5n Form Designer
Fig nr. 1.0. #1ecu%ia primului program
1.7./. MODI0ICAREA PROGRAMULUI
)oate c schimbarea titlului formei +n <Pro$ra# !i!a%ti% 19 a +nsemnat foarte
puin! n continuare se va aduga o etichet pe form! n acest scop& prin apsarea
butonului Close& aflat +n colul din dreapta sus a ferestrei& se -a putea +nchide e4ecuia
>
programului <Pro$ra# !i!a%ti% 19& dac +nc mai merge! )e ecran se -a afi"a din nou
Form Designer put%ndu,se trece la modificarea form,ului!
)entru a face programul mai -iabil& se -a aduga un te4t& chiar +n centrul
ferestrei! n acest scop este necesar s se adauge un te1t la"el la form!
Etape !e lu%ru2
2! Mai +nt%i se -a da un clic5 pe Standard +n )aleta de Componente! .l treilea
buton cu componente de pe palet are un caracter A pe el& prin intermediul lui
se -or crea etichetele! Dac se a"eaz cursorul mouse,ului pe acel buton -a
aprea scris 6a"el.
$! Se -a da clic5 pe butonul respecti- "i apoi se -a da clic5 oriunde pe form!
3fectul acestei aciuni -a fi plasarea unei componente label pe form a-%nd ca
titlu& din oficiu& 6a"el1!
#! n continuare se -a consulta Inspectorul de Obiecte pentru a se modifica
proprietile etichetei create! n acest moment Inspectorul de Obiecte indic
proprietile pentru 7abel2 (+nainte arta proprietile pentru Form2*! Din nou
iese +n e-iden proprietatea Caption!
:! Se -a e4ecuta un clic5 pe bara de titlu a Inspectorului de Obiecte "i se -a
selecta proprietatea Caption (dac nu a fost scoas +n e-iden*! n coloana de
-alori a proprietii se -a scrie ceea ce se dore"te ca eticheta s afi"eze de
e4emplu1 <4u' e'it la lu%ru -' Delphi9. .cum label,ul din form afi"eaz
mesa'ul :4u' e'it la lu%ru -' Delphi9 5Fig nr 1.7. Introducerea unei
etichete pe form6!
=! ?ot din Inspectorul de Obiecte& se -a putea schimba mrimea te4tului din label!
n acest scop se -a da dublu,clic5 pe proprietatea Font! )roprietatea se -a
e4tinde& indic%nd dedesubt atributele caracterelor! Se selecteaz tipul font,ului&
de e4emplu1 <?imes ;e /oman@& stilul se -a selecta 6old Italic!
>! Se localizeaz proprietatea $ize sub Font "i se schimb mrimea caracterelor la
$: (+n prezent este A*! De +ndat ce se -a apsa 3nter sau se -a da un clic5 pe
form& label,ul se schimb la noua dimensiune!
Fig nr 1.7. Introducerea unei etichete pe form
B! Dac nu este centrat pe form 7abel,ul -a putea fi mutat! 3fectu%ndu,se un
dublu clic5 de mouse pe componenta 7abel aceasta se -a a"eza pe mi'locul
formei (dac mi'locul formei este de'a ocupat& noua component -a apare +n
locaia din dreapta 'os*!
A! Se e4ecut sal-area 9;I?,ului (codului surs al programului realizat* cu
File3$ave 8s.. n csua intitulat CFile name9: din fereasta programelor se -a
scrie numele programului creat! Se iese select%nd butonul $ave din cadrul
acelea"i ferestre!
B
D! Se e4ecut sal-area proiectului cu a'utorul comenzilor File3$ave Pro4ect 8s2
Sistemul deschide fereastra $ave Pro4ect; 8s unde se -a gsi eticheta CFile
name1@ urmat de o csu de editare& +n interiorul acesteia se -a tasta numele
noului proiect! Se prse"te fereastra acion%nd butonul Sa-e! 3fectul acestor
sal-ri +l constituie realizarea codului program pentru <;I= *i proiect
+programul surs cu e1tensia !"S-!
Se trece la rularea programului! n acest scop din meniul principal se aleg comenzile
.un3.un. Codul program realizat anterior -a fi compilat "i lansat +n e4ecuie! n urma
acestei operaii programul surs este transformat +n program e4ecutabil cu e4tensia
#$#! )e ecran se -a afi"a forma realizat! .cum se -a obser-a <4u' e'it la lu%ru -'
Delphi9 afi"at +n centrul form,ului +Fig nr 1./. #1ecu%ia programului cu etichet-.
Fig nr 1./. #1ecu%ia programului cu etichet
1.7.7. ;*CHIDEREA PROGRAMULUI
n -ederea trecerii la un alt program& trebuie s se +nchid proiectul curent din
MDI Delphi! Se -a alege comanda File3Close 8ll) din meniul principal! n cazul +n care
s,au efectuat alte modificri pe proiectul realizat se -a da clic5 pe ;o dac nu se
dore"te sal-area schimbrilor sau >es dac se dore"e sal-area acestora!
1.<. PROGRAMUL AL DOILEA
1.<.1. CREAREA PROGRAMULUI AL DOILEA
Scopul acestui e4erciiu este s apar cu-intele <Vi&uali&are =isier@ "i
<A%tuali&are =isier9 pe form la acionarea unor butoane! .cest e4erciiu -a oferi "i un
model de urmat c%nd se -or testa diferite fr%nturi de cod pe programele urmtoarele!
n prima etap pe form se -or insera butoane "i etichete! n acest scop se -or parcurge
urmtorii pa"i1
2! Se alege File3;e? 8pplication din meniul principal pentru a deschide o
nou aplicaie (se -a da un clic5 pe ;o dac nu se dore"te sal-area
proiectului actual*! Se afi"eaz o nou form +n Design!
$! Din )aleta de Componente Standard se -a selecta iconul ce are pe el O>
simboliz%nd componenta Buttons!
#! Se -a plasa cursorul oriunde pe form "i se d un clic5! )e form -a apare un
buton& intitulat Button1! Se repet operaia pentru 6utton$!
:! Se -a alege componenta 7abel "i se -a plasa +n dreapta butoanelor!
Componenta 7abel are& din oficiu& titlul 6a"el1! Inserarea altor componente
A
de acela"i tip -or a-ea ca titlu numele componentei urmat de cifrele $& #
"!a!m!d!
n acest moment pe form se afl dou componente de tip buton "i cinci componente de
tip etichet!
1.<./. MODI0ICAREA PROGRAMULUI AL DOILEA
n prima -ersiune a lui <Pro$ra# !i!a%ti% 19 s,a folosit Inspectorul de
Obiecte pentru a schimba proprietatea Caption a unui 7abel! .ceast modificare s,a
aplicat +n Design=ime "i astfel a fost -zut imediat ce s,a rulat programul! n acest
e4erciiu se -a schimba titlul uneia dintre etichete cu a'utorul codului& modificare
e4ecutat +n .un=ime .
*ot11 C%nd se schimb proprietile unei componente prin Inspectorul de Obiecte "i
Form Designer& se spune c se face o schimbare Design%i&e! C%nd se modific o
proprietate prin cod& care se e4ecut la rularea programului& se spune c se face o
modificare 'un%i&e!
)entru a schim"a proprietatea Caption +n .un=ime& se -a proceda astfel1
2! Se -a da dublu clic5 pe butonul de pe form,ul acti-! Imediat Delphi genereaz
un m&nuitor de evenimente pentru e-enimentul OnClic5 al butonului!
Codul generat arat astfel1
pro%e!ure +0or#.4utto'Cli%?5Se'!er2 +o()e%t6@
(e$i'
A
e'!E
$! M&nuitorul de evenimente !nClic@ este o seciune a codului care -a fi
e4ecutat de fiecare dat c%nd se apas pe buton (+n timp ce programul se
deruleaz*! Cursorul de editare este plasat +ntre +nceputul "i sf%r"itul
declaraiilor ((e$i'..e'!@6 "i a"teapt ca programatorul s tipreasc codul! Se
-a introduce la cursor urmtorul cod1
La(el*.Captio' 2B CA%tuali&are =isierD@
unde * este numrul etichetei (dac butonul cruia i se ata"eaz eticheta este
butonul cu numrul ;& +n cazul e4emplului curent ; este =* !
Codul program pentru e-enimentul de apsare al butonului nr2 -a fi1
pro%e!ure +0or#1.4utto'1Cli%?5Se'!er2 +O()e%t6@
(e$i'
La(elE.Captio'2BFVi&uali&are =isierF@
e'!@
e'!.
.ceast sec-en de instruciuni indic faptul c la acionarea butonului cu
numrul 2 se -a cupla eticheta nr =! n acest scop& +n seciunea e-enimentelor (3-ents*
se -a selecta& din lista de e-enimente OnClic5& e-enimentul corespunztor "i anume
6utton2Clic5 (Fig nr 1.1A. Cuplarea evenimentului !nClic@ la Button1*!
D
Fig nr 1.1A. Cuplarea evenimentului !nClic@ la Button1
.cela"i efect se obine dac etichetei i se aribuie nume prin cod program& iar la
e-enimentul OnClic5 al butonului se -a selecta numele etichetei ata"ate!
Se deschide procedura etichetei& e4ecut%nd un dublu clic5 e ea +n cadrul form,
ului! n cadrul acesteia se -a scrie sec-ena de cod 1
(abel).*aption+,-"ctualizare fi.ier-/
Se re-ine la form acion%nd tasta F2$!
Se fi4eaz cursorul pe Button2 iar din !"4ect Inspector se selecteaz seciunea
#vents! 7a e-enimentul !nClic@ se -a selecta numele etichetei ata"ate "i anume
6a"el2Clic@ +Fig nr. 1.11. $electarea evenimentului !nClic@ pentru Button2-!
Faloarea e-enimentului OnClic5 +n cele dou -ariante este diferit!
Fig nr. 1.11. $electarea evenimentului !nClic@ pentru Button2
#! 3ticheta CCreare =iGier@ a fost realizat cu proprietatea Caption din !"4ect
Inspector fiind afi"at +n form chiar de la creare! .ceast -ariant de atribuire a
-alorii etichetelor se cheam Design%i&e. 3tichetele C.ctualizare fisier@ "i
<Fizualizare fi"ier@ au fost create cu metoda de lucru 'un%i&e put%nd fi
-izibile doar la rularea programului! Diferena dintre cele dou metode const
+n faptul c .un=ime solicit cod program "i -a afi"a -alorile doar +n e4ecuie
(Fig nr. 1.12. Diferen%a dintre Design%i&e .i 'un%i&e prin e1emplul
etichetelor*!
:! n continuare se -a da un clic5 pe butonul .un din bara de unelte pentru a rula
programul! C%nd programul ruleaz& se -a obser-a c etichetele +nc au titlul
7abel= respecti- 7abel$! Schimbarea denumirii etichetei +n -alorile ata"ate se -a
face dup ce s,a dat un clic5 pe butoanele crora li s,a ata"at eticheta (Fig nr
1.1. Programul nr 2 5n e1ecu%ie*. 3ste necesar s fie acionate cele dou
butoane ata"ate etichetelor pentru ca -alorile s fie -izibile!
2G
Fig nr. 1.12. Diferen%a dintre Design%i&e .i 'un%i&e prin e1emplul etichetelor
Fig nr 1.1. Programul nr 2 5n e1ecu%ie
Fig nr 1.1'. .un=ime la etichete
n urma acionrii butoanelor 2 "i $ se -or afi"a "i cele dou -alori ata"ate (Fig
nr 1.1'. .un=ime la etichete*! Dac lui 7abel= nu i s,a ata"at cod program& -aloarea
ata"at etichetei -a fi -izualizat doar prin intermediul componentei 6utton2! 3tichetei
cu numele 7abel$ i,a fost ata"at cod program! De aceea -aloarea acesteia poate fi
-izualizat fie acion%nd butonul ata"at& fie acion%nd direct eticheta!
O(s2 Orice modificare efectuat +n cadrul formelor de lucru solicit sal-area at%t a
9;I?,ului c%t "i a proiectului +nainte de lansarea +n e4ecuie!
22
1.E. O SCUR+ PREHE*+ARE A LIM4AIULUI O4IEC+
PASCAL
)rin 2DD: 6orland a +nceput s lucreze la o unealt de dezvoltare rapid a
aplica%iilor (D/.* pe care a numit,o Delphi! C%nd s,a stabilit c arhitectura bazat pe
componente era cea mai bun metod de a implementa D/.& a fost necesar s se cad
de acord "i asupra limba'ului de programare care urma s fie inima sistemului!
7a -remea aceea 6orland era singurul -%nztor& +n mas& care comercializa un
compilator )ascal! 6orland era cunoscut ca fiind compania care producea cele mai
bune unelte )ascal! 6orland era mai mult sau mai puin proprietarul lui )ascal! Cu
toate c 6orland nu deinea limba'ul )ascal +ntr,un sens legal& se simea c +l
stp%ne"te& datorit poziiei sale +n lumea )ascal& "i a-ea libertatea s opereze noi
trsturi sau s aduc +mbuntiri! n plus& nu era nici un comitet de standarde pentru
)ascal& nici mcar un standard scris care s defineasc limba'ul )ascal! ."a c 6orland
a creat Delphi folosind )ascal ca limba' de baz (numele i,a rmas totu"i "i a de-enit
numele oficial al produsului*!
nainte ca Delphi s ia fiin& 6orland modificase de'a limba'ul )ascal +n direcii
poziti-e! De e4emplu& 6orland de'a e4tinsese )ascal,ul prin crearea unui nou limba'
numit !"4ect Pascal! Se poate spune c Ob'ect )ascal este pentru )ascal ceea ce este
limba'ul CHH pentru limba'ul de programare C! Ob'ect )ascal a adugat clase lui
)ascal& orient%ndu,l spre lumea limba'elor de programare orientate pe obiecte (OO)*!
)e msur ce Delphi se dez-olta& erau adugate noi comportamente ale limba'ului "i
cu-inte cheie& pentru a face fa modelului de componente! )rin modificarea limba'ului
)ascal& pentru ca acesta s se potri-easc cu modelul de componente& 6orland a reu"it
s implementeze D/.! n esen& limba'ul Ob'ect )ascal a fost modificat& dup ne-oi&
pe msur ce au aprut problemele legate de design& +n timpul dez-oltrii produsului
numit Delphi! /ezultatul a fost un limba' care lucreaz perfect cu modelul de
componente!
Cu toate c modificarea limba'ului )ascal a putut fi considerat ca un pas
+ndrzne pentru 6orland& nu a fost fr precedent! Mai +nainte& Microsoft a preluat
limba'ul 6.SIC "i l,a modificat pentru a produce un nou limba' numit Fisual 6asic!
.cest nou limba' a fost aproape de nerecunoscut c%nd a fost comparat cu originalul
limba' 6.SIC care i,a ser-it ca baz!
6orland "i,a asumat un risc +n modificarea lui )ascal! 7a urma urmei acesta a
a-ut o baz loial de clieni crora s,ar fi putut s nu le plac schimbrile fcute! Ii
totu"i 6orland a fost +ntr,o poziie solid pe piaa )ascal "i a mers +nainte cu planurile
sale! /ezultatul a fost un succes uluitor!
Ob'ect )ascal este un limba' de programare puternic! 3l este unic pentru c este
at%t puternic c%t "i relati- u"or de +n-at!
Ob'ect )ascal d posibilitatea s se profite de programarea orientat pe obiecte
la ma4im! .cest lucru are beneficiile sale pentru c ofer posibilitatea s se creeze
obiecte care pot fi folosite +n programul curent "i refolosite +n programele urmtoare!
+er#e' 'ou2 9n o"iect este o pies binar de softare care +ndepline"te
anumite sarcini de programare! (Componentele sunt obiecte& dar nu toate obiectele
sunt componente!*
9n obiect +i arat utilizatorului (programatorului care utilizeaz obiectul* numai
at%t c%t este ne-oieE de aceea utilizarea obiectului este simplificat! ?oate mecanismele
interne pe care utilizatorul nu trebuie s le "tie sunt ascunse! ?oate acestea sunt incluse
+n conceptul programrii orientate pe obiecte! )rogramele Delphi sunt foarte mult
2$
a4ate pe OO) ()rogramarea Orientat Obiect* pentru c Delphi folose"te foarte mult
componentele! Dup ce s,a creeat o component& ea poate fi reutilizat +n orice
program Delphi! O component poate fi& de asemenea& e4tins prin mo"tenire pentru a
se crea o nou component cu trsturi adiionale! Chiar mai mult& componentele +"i
ascund detaliile interne "i +l las pe programator s se concentreze asupra aciunii lor!
1.J. U*I+,URILE ;* DELPHI
. programa +nseamn mai mult dec%t a se tipri un cod! 3ste de fapt
combinaia dintre conceptualizarea unei sarcini de programare "i tiprirea codului care
s +ndeplineasc ulterior sarcina! Codul tiprit -a fi reinut +ntr,un fi"ier te4t!
Compilatorul ia acest fi"ier te4t "i +l transform +ntr,un cod pe care computerul +l poate
+nelege! Fi"ierul te4t pe care Delphi +l transform +ntr,un cod se nume"te U*I+
(unitate*!
+er#e' 'ou2 9n <;I= 5unitate* este un fi"ier te4t care poate fi transformat +ntr,un
cod program!
O aplicaie cu programe de Interfe%e Brafice Pentru <tilizator (IGPU* +n
Delphi -a conine cel puin dou 9;I? , uri!
01I%2ul surs a proiectului care -a conine codul sursei proiectului! Se -a
putea -izualiza 9;I?,ul surs a proiectului aleg%ndu,se !ro3ect24ie5 Source din
meniul principal! ;u se recomand s se modifice 9;I?,ul surs al proiectului! Dac
accidental se modific 9;I?,ul surs al proiectului& s,ar putea ca aplicaia s nu mai
funcioneze! (.numite tehnici de programare a-ansat cer +ns modificarea codului
surs a proiectului*!
.l doilea tip de 9;I? care apare +ntotdeauna +ntr,o aplicaie IJ)9 +n Delphi
este 01I%2ul for&2ului principal! 9;I?,ul form,ului este o unitate de cod surs cu o
form asociat! .cest tip de unit are e4tensia fi"ierului .!"S "i -a fi cel mai des folosit
+n programele Delphi! O aplicaie Delphi IJ)9 -a a-ea +ntotdeauna un 9;I? al form,
ului (pentru form,ul principal*& dar poate a-ea una sau mai multe 9;I?,uri de form,uri
adiionale! De e4emplu o aplicaie care afi"eaz o csu .bout -a a-ea un 9;I?
pentru form,ul principal "i unu pentru csua .bout!
*ot12 ?ermenul C.plicaie Delphi IJ)9@ este folosit pentru a distinge o
aplicaie IJ)9 de o aplicaie consol! O aplicaie consol este o aplicaie de #$ bKts
Windos care funcioneaz +ntr,o fereastr consol (DOS bo4*! O aplicaie consol nu
are form principal "i poate sau nu s conin alte form,uri! O aplicaie consol are
oricum una sau mai multe 9;I?,uri!
34ist "i un al treilea tip de 9;I? ce -a putea fi folosit +n aplicaiile Delphi!
.cesta este un tip de <;I= care con%ine numai codul surs! 3l -a fi apelat de alte
9;I?,uri din proiect!

1.K. S+RUC+URA U*UI U*I+ DELPHI
9;I?,urile Delphi trebuie s urmeze un format predefinit astfel +nc%t
compilatorul s poat s le citeasc "i s le transforme codul! 9n 01I% al unui proiect
Delphi conine cu-%ntul cheie progra& urmat de numele 9;I?,ului "i un bloc al
2#
codului marcat de cu-intele cheie de +nceput (begin* "i sf%r"it (end*! Se poate -edea
cum arat un 9;I? aleg%nd Cie?DPro4ect $ource din meniul principal Delphi! 9;I?,ul
surs pentru un proiect Delphi din oficiu arat ca +n .ne4a2!
*ot12 ;umrul r%ndurilor din .ne4a2 nu face parte din 9;I?! Sunt trecute
acolo numai pentru referin! 7imba'ele )ascal nu numeroteaz r%ndurile!
Anexa 1. Sursa proiectului pentru un proiect Delphi din
oficiu
01: program Project1;
02:
03: uses
04: Forms,
05: Unit1 in `Unit1.pas' {Form1;
0!:
0": {#$ %.$&'
0(:
0): *egin
10: +pp,ication.-nitia,i.e;
11: +pp,ication./reateForm01Form1, Form12;
12: +pp,ication.$un;
13: en3.
n r%ndul 2& cu-%ntul cheie al programului identific acest 9;I? ca principalul
9;I? surs al programului! ;umele unit,ului& Pro4ect1& urmeaz dup cu-%ntul cheie
program (Delphi +i atribuie proiectului un nume din oficiu p%n c%nd -a fi sal-at cu un
alt nume*! ncep%nd cu r%ndul #& se obser- o seciune identificat de cu-%ntul cheie
uses. Orice nume de 9;I? care urmeaz acestora& p%n la acolade& sunt alte 9;I?,uri
dec%t cele pe care le cere acest 9;I? pentru a le transforma! Cu-intele cheie folosite
-or fi descrise +n detaliu mai t%rziu!
)e r%ndul B se obser- o directi- a compilatorului care +i spune lui Delphi s
includ fi"a surs a proiectului (LM/ N!/3SO*!
/%ndul D conine cu-%ntul cheie de +nceput ("egin* "i r%ndul 2# +l conine pe cel
de sf%r"it (end*! Se obser- c& end& cu-%ntul cheie de sf%r"it este urmat de un punct!
(9n 9;I? poate a-ea mai multe "locuri de cod marcate ca "egin *i end dar o singur
instruc%iune end final.* Codurile din r%ndurile 2G& 22 "i 2$ iniializeaz aplicaia&
creeaz form,ul principal al aplicaiei "i o lanseaz +n e4ecuie! )entru a scrie programe
Delphi nu trebuie cunoscute detaliile acestui cod!
*ot12 Cu-intele cheie de +nceput (begin* "i sf%r"it (end* marcheaz un "loc de
cod! 9n bloc de cod poate conine numai c%te-a r%nduri de cod sau c%te-a sute (sau
chiar mii de r%nduri*!
9n alt tip de 9;I? )ascal este prezentat +n ane4a $! Dac se alege File E ;e?
from din meniul principal& c%nd apare dialogul ;e? Items se -a cuta icoana 9;I? "i
se -a da dublu,clic5 pe ea! Delphi -a crea un nou 9;I? "i +l -a afi"a +n 3ditorul de
Cod! .ne4a $ arat codul generat pentru acest 9;I?!
A'eLa /. U' U*I+ Pas%al $ol 5U*I+ surs16
01: unit Unit2;
02:
03: inter4ace
04:
05: imp,ementation
0!:
0": en3.
2:
Codul din .ne4a $ difer de cel din .ne4a 2 prin faptul c are marcat
seciunea de interface "i i&ple&entation! 9n 9;I? care nu este 9;I? principal de
surs trebuie s conin o sec%iune de interfa% "i o sec%iune de implementare! .ne4a $
difer de .ne4a 2 prin faptul c +n aceasta (.ne4a $* nu e4ist o instruciune de
+nceput de bloc (6egin*! 9;I?,ul principal al unui program trebuie s conin +n mod
obligatoriu cu-inte Begin "i end& dar un 9;I? surs trebuie s conin doar un end!
SUMAR
n acest capitol s,a fcut cuno"tin cu mediul de lucru Delphi! S,au prezentat
cele trei componente princilale MDI! Ca un prim pas +n programarea -isual Delphi s,
au realizat dou programe scurte e4emplific%nd funcionarea componentelor standard
de tip etichet "i buton! n e4emplul al doilea s,a scos +n e-iden diferena dintre
/un?ime "i Design?ime! Deoarece Delphi are la baz Ob'ect )ascal s,a fcut o scurt
prezentare a limba'ului! 9;I9,urile Delphi sunt generate de program& inter-enia
programatorului fiind foarte rar solicitat! )e scurt& s,a prezentat structura unui 9;I?
Delphi!
CHES+IO*AR
2! Ce este DelphiP
$! Din ce se compune MDI DelphiP
#! Care sunt componentele ferestrei princilaleP
:! C%te seciuni are Ob'ect Inspector "i care este rolul acestoraP
=! Cum se cheam fereastra de lucru +n DelphiP
>! 9nde se gse"te 3ditorul de cod "i cum poate fi fcut -isibilP
B! Care este diferena dintre Design?ime "i /un?imeP
A! Ce se realizeaz +n urma proiectrii unei aplicaiiP
D! Ce se e4ecut ca urmare a operaiilor de sal-areP
2G! Ce se e4ecut dup lansarea +n e4ecuie a programuluiP
22! Ce este un 9;I?P
2$! Ce este obligatoriu +n cadrul unui 9;I? DelphiP
EMERCI8II
Creai o aplicaie Delphi care s conin dou etichete "i dou butoane!
.plicaia s fie intitulat <34erciiu de 7aborator nr 2@! 6utoanele s aib
numele OQ& iar etichetelor s li se atribuie -aloare prin cod program! )entru
una dintre etichete -aloarea s +i fie aribuit la codul butonului& iar la cea de,a
doua -aloarea s +i fie atribuit +n procedura etichetei!
Schimbai +n Obiectul Inspector dimensiunea "i tipul caracterelor pentru
etichete "i butoane!
Schimbai culoarea de fundal a etichetelor!
n seciunea e-enimentelor realizai cuplarea butoanelor cu etichetele
Sal-ai "i lansai +n e4ecuie aplicaia creat
2=
2>

S-ar putea să vă placă și