Utilizare Delphi 5

autor Popa Daniel

1.Introducere
Lucrarea este destinatã celor care doresc sã dezvolte aplicaþii Windows utilizând mediul de programare Delphi. Am ales Delphi-ul deoarece este uºor de învãþat, fiind foarte asemãnãtor cu limbajul Pascal care este predat în liceu. Un alt motiv pentru care am ales mediul Delphi este cã în urma compilãrii programelor se obþin executabile mici ce ruleazã rapid ºi nu necesitã librãrii ca sã poatã rula(un program similar scris în Visual Basic necesitã cca. 5 Megabytes de librãrii). Pentru a putea înþelege ºi folosi acest manual este necesar ca utilizatorul sã cunoascã bine limbajul Pascal, deoarece Delphi-ul este practic limbajul Pascal orientat pe obiect. Cu toate cã Delphi-ul este un limbaj orientat pe obiect nu este necesarã cunoaºterea principiilor programãrii într-un astfel de limbaj pentru realizarea unor programe simple. Dacã se doreºte realizarea unor componente pentru Delphi sau modificarea unora dintre cele existente atunci este necesarã cunoaºterea principiilor programãrii într-un limbaj orientat pe obiect. Am ales pentru prezentare Delphi 5 Enterprise Edition deoarece este varianta cea mai completã, celelalte variante :Professional Edition, Standard Edition fiind variante prescurtate, care nu conþin toate facilitãþile variantei Enterprise. Resursele necesare instalãrii ºi rulãrii Delphi-ului sunt: · CPU - Pentium 90 MHz, recomandabil 166 MHz · Windows 9x/Me, 2000, NT4 cu Service Pack 3 sau mai nou · Memorie – 32 Mb RAM, recomandabil 64 Mb · HDD - 80 Mb (instalare minimã), recomandabil 250 Mb · Monitor VGA, recomandabil SVGA cu o rezoluþie de 800x600 · Mouse · CD-ROM

1

Utilizare Delphi 5

autor Popa Daniel

2. Prezentarea mediului DELPHI 5
La pornirea Delphi-ului acesta va arãta ca în figura de mai jos:

Bara de meniuri

Bare butoane

Paleta de componente

Pagini ale paletei de componente

Inspectorul de obiecte

Fereastra proiectului nou început

Din bara de meniuri pot fi accesate meniurile Delphi-ului, bara de butoane permiþând accesul rapid la principalele comenzi. Paleta de comenzi permite accesul rapid la cele peste 200 de componente ale mediului Delphi. Pentru o mai bunã gestionare a componentelor acestea sunt împãrþite pe mai multe pagini, existând ºi posibilitatea adãugãrii unor pagini noi ºi a unor componente noi. În partea stângã a imaginii poate fi observat inspectorul de obiecte (object inspector) cu ajutorul cãruia pot fi modificate proprietãþile obiectelor(Properties) ºi pot fi stabilite ce rutine (proceduri) vor fi executate în momentul apariþiei unor evenimente(Events).

2

Utilizare Delphi 5

autor Popa Daniel

2.1 Principalele meniuri ºi comenzi(bara de meniuri)
Meniul File Se utilizeazã a deschide, salva, închide, tipãri proiecte sau fiºiere noi sau existente, pentru adãugarea unor noi ferestre(form) sau unitãþi de program(unit) proiectului deschis În meniu putem gãsi urmãtoarele opþiuni: · New – deschide o fereastrã de dialog de unde putem alege ce obiect dorim sã creãm, sau putem selecta un vrãjitor (wizard) care sã ne ajute la crearea unui nou obiect. · New Application – creeazã un nou proiect care conþine o fereastrã goalã, un unit ºi un fiºier de proiect. · New Form – creeazã o fereastrã goalã ºi o adaugã proiectului curent · New Frame – creeazã un nou frame (fereastrã invizibilã destinatã componentelor nevizuale aflate în proiect, se utilizeazã pentru o mai bunã gestiune a componentelor folosite în cadrul proiectului) pentru proiectul curent · Open – deschide o fereastrã de dialog pentru încãrcarea unui proiect, fereastrã, unit sau fiºier text. · Open Project – deschide o fereastrã de dialog pentru încãrcarea unui proiect existent ( fiºiere cu extensia BPR sau BPK) · Reopen – deschide un meniu care conþine cele mai noi proiecte sau module utilizate · Save – salveazã fiºierul curent · Save As – salveazã fiºierul curent utilizând un nume nou · Save Project As – salveazã proiectul curent cu un nume nou · Save All – salveazã toate fiºierele deschise · Close – închide proiectul curent ºi toate fiºierele asociate · Close All – închide toate fiºierele deschise · Use Unit – adaugã unit-ul selectat la clauza uses a modulului activ · Print – tipãreºte fiºierul curent · Exit – închide proiectul ºi pãrãseºte mediul Delphi Meniul Edit Se utilizeazã pentru a manipula text sau componente în timpul creãrii programului. În meniu pot fi gãsite urmãtoarele opþiuni: · Undo/Undelete – anuleazã ultima acþiune sau ºtergere · Redo – anuleazã ultima operaþie de undo · Cut – mutã obiectul selectat în Clipboard · Copy – copiazã obiectul selectat în Clipboard · Paste – copiazã conþinutul Clipboard-ului la poziþia cursorului · Delete – ºterge obiectul selectat · Select All – selecteazã toate componentele de pe fereastrã (form) · Align to Grid – Aliniazã componentele selectate la cel mai apropiat punct din grilã · Bring to Front – mutã componenta selectatã în faþã · Send to Back – mutã componenta selectatã în spate · Align – aliniazã componentele · Size – redimensioneazã componentele selectate · Scale – redimensioneazã proporþional toate componentele din fereastrã · Tab Order – modificã ordinea în care se sare apãsând tasta Tab · Creation Order – modificã ordinea în care sunt create componentele nevizuale

3

unit-uri. În acest meniu putem gãsi opþiunile: · Find – cautã un text specificat ºi marcheazã prima apariþie a acestuia în editorul de cod · Find in Files – cautã textul specificat ºi afiºeazã fiecare potrivire în fereastra aflatã sub editorul de cod · Replace – cautã textul specificat ºi-l înlocuieºe cu un altul · Search Again – repetã ultima cãutare · Incremental Search – cautã textul pe mãsurã ce este scris · Go to Line Number – mutã cursorul la linia specificatã · Find Error – cautã ultima eroare de rulare · Browse Symbol – cautã dupã un anumit simbol Meniul View Se utilizeazã pentru a afiºa sau ascunde diverse elemente ale mediului Delphi. FPU ) · Desktops – permite afiºarea. o nouã proprietate pentru o componentã ActiveX Meniul Search Meniul se utilizeazã pentru a cãuta text. variabile ºi simboluri în editorul de cod(fereastra în care se editeazã codul). CPU. fire de execuþie. salva. obiecte. util pentru a crea tipuri de informaþii pentru controale ActiveX. pentru a le copia. adãuga. În meniu putem gãsi urmãtoarele opþiuni: · Project Manager – afiºeazã managerul de proiect. variabile. un nou eveniment. acesta poate fi utilizat pentru a naviga prin fiºierele proiectului. salvarea sau ºtergerea diverselor moduri de aºezare a ferestrelor · Toggle Form/Unit – comutã între fereastrã ºi unit-ul corespunzãtoe · Units – afiºeazã o listã cu toate unit-urile proiectului · Forms – afiºeazã o listã cu toate ferestrele(form) existente în proiect · Type Library – afiºeazã editorul pentru librãrii de tipuri (Type Library). obiecte MTS ºi alte obiecte COM · New Edit Window – deschide încã un editor de cod · Toolbars – deschide un meniu din care pot fi selectate ce bare de butoane vor fi afiºate 4 . module. erori. · Translation Manager – afiºeazã managerul pentru traduceri · Object Inspector – afiºeazã inspectorul de obiecte · To-Do List – face vizibilã lista cu ceea ce trebuie fãcut în proiect · Alignment Palette – afiºeazã o fereastrã în care se gãsesc opþiuni destinate alinierii obiectelor · Browser – afiºeazã o fereastrã în care pot fi vizualizate unit-urile ºi clasele utilizate în proiect · Code Explorer – face vizibil editorul de cod · Component List – afiºeazã o listã cu toate componentele Delphi-ului · Window List – face vizibilã o listã cu toate ferestrele Delphi-ului care sunt deschise · Debug Windows – afiºeazã un meniu din care pot fi alese ce ferestre pentru depanarea programului vor fi afiºate (puncte de întrerupere.Utilizare Delphi 5 · · · autor Popa Daniel Flip Children – mutã obiecte „în oglindã” e util pentru cazul în care nu se citeºte de la stânga la dreapta ci invers Lock Controls Secures – „înþepeneºte” toate componentele în poziþiile curente Add to interface – defineºte o nouã metodã. ºterge. apeluri ale subprogramelor.

· Add to Repository – adaugã proiectul la lista de obiecte ce pot fi create. · View Source – afiºeazã sursele proiectului în editorul de cod · Languages – permite adãugarea. Pentru ca opþiunile din meniu sã poatã fi folosite e necesar sã fie deschis un proiect. În acest meniu se aflã urmãtoarele opþiuni: · Run – compileazã ºi executã aplicaþia · Attach to Process – afiºeazã o listã cu procesele care pot fi depanate · Parameters – de aici se pot specifica: parametrii cu care va fi lansatã în execuþie aplicaþia. linkeditare etc. un nou DLL … · Add New Project – adaugã la proiect un altul existent · Compile project – compileazã doar acele fiºiere care au fost modificate de la ultima compilare · Build project – compileazã toate modulele proiectului · Syntax Check project – verificã sintactic toate modulele proiectului · Information for project – afiºeazã informaþii despre proiectul compilat (nr. tratându-le ca fiind o singurã instrucþiune · Trace Into – executã un program linie cu linie. dupã configurarea acestora · Options – afiºeazã o fereastrã de dialog în care se modificã opþiunile pentru compilare. de linii. eliminarea sau reînnoirea DLL-urilor pentru limbã · Add New Project – adaugã la proiect o nouã aplicaþie.Utilizare Delphi 5 autor Popa Daniel Meniul Project Este utilizat pentru a compila o aplicaþie. · Web deploy – adaugã controalele ActiveX sau ActiveForm. dimensiunea programului rezultat …) · Compile All Projects – compileazã toate fiºierele care au fost modificate de la ultima compilare în toate proiectele din grupul de proiecte · Build All Projects – compileazã toate fiºierele în toate proiectele din grupul de proiecte · Web Deployment Option – se utilizeazã pentru a configura controalele ActiveX sau ActiveForm în vederea adãugãrii lor la serverul web. intrând în proceduri 5 . e valabilã comanda atunci când avem un proiect ActiveX. Meniul Run Meniul permite depanarea programelor. · Unregister ActiveX Server – ºterge intrarea în regiºtrii Windows-ului pentru controlul ActiveX . sãrind peste proceduri. un calculator pentru depanarea la distanþã · Register ActiveX Server – adaugã o intrare în regiºtrii Windows-ului pentru controlul ActiveX . din meniul File opþiunea New. comandã valabilã doar dacã proiectul curent este un obiect MTS(Microsoft transaction server) · Step over – executã un program linie cu linie. e valabilã comanda atunci când avem un proiect ActiveX. executabilul corespunzãtor unu DLL. În meniu avem urmãtoarele comenzi: · Add to Project – adaugã un fiºier proiectului · Remove from Project – eliminã un fiºier din proiect · Import Type Library – afiºeazã o listã cu librãriile de tipuri înregistrate în sistem pentru a fi adãugate la proiect. · Install MTS Object – Instaleazã obiectele MTS din proiect într-um pachet MTS.

A modifica lista programelor ce apar în acest meniu .A modifica obiectele ce pot fi create cu Delphi-ul .Utilizare Delphi 5 · · · · · · · · · · autor Popa Daniel Trace to Next Source – executã un program. o nouã icoanã. urmãri ºi vizualiza bazele de date. Opþiunile acestui meniu sunt: · New Component – deschide o fereastrã cu ajutorul cãreia se pot crea noi componente · Install Component – instaleazã o nouã componentã existentã · Import ActiveX Control – adaugã o librãrie de tipuri de controale ActiveX · Create Component Template – salveazã componente modificate ca ºabloane cu un nou nume. pe o nouã paginã · Install Packages – instaleazã un pachet de componente · Configure Palette – deschide o fereastrã din care se poate configura paleta de componente. cu ajutorul cãrora se pot crea ºi manipula baze de date · SQL Monitor – lanseazã SQL Monitor cu ajutorul cãruia se pot urmãri alocarea resurselor ºi starea comenzilor date prin SQL Links · Form Wizard – se utilizeazã pentru crearea rapidã a unor ferestre de vizualizare a bazelor de date Meniul Tools Meniul tools se utilizeazã pentru: .A vizualiza sau modifica configuraþia depanatorului . Add Watch – afiºeazã o fereastrã în care putem scrie mai multe variabile a cãror valori dorim sã le urmãrim Add Breakpoint – afiºeazã un meniu din care putem adãuga.A crea sau modifica imagini 6 . oprindu-se la urmãtoarea linie executabilã din program Run To Cursor – Executã programul curent pânã la poziþia cursorului din editorul de cod Run Until Return – executã procesul pânã la ieºirea din funcþia curentã Show Execution Point – poziþioneazã cursorul la linia care se executã Program Pause – opreºte temporar execuþia programului ce ruleazã Program Reset – terminã execuþia programului ce ruleazã ºi elibereazã memoria ocupatã de cãtre acesta Inspect – deschide o fereastrã în care putem scrie numele variabilei ce se inspecteazã Evaluate/Modify – afiºeazã o fereastrã în care putem evalua sau modifica valoarea unei expresii. se pot ºterge. muta componente dintr-o paginã în alta Meniul Database Din acest meniu se pot crea. ascunde. modifica puncte de întrerupere Meniul Component Din acest meniu se pot gestiona componentele instalate.A crea sau modifica pachete de componente .A crea sau modifica tabele ale bazelor de date . Meniul conþine urmãtoarele opþiuni: · Explore – lanseazã în execuþie Database Explorer sau SQL Explorer. modifica.A vizualiza sau modifica configuraþia mediului de programare .

paleta de componente · Editor Options – de aici se configureazã editorul de cod (culori. · Package Collection Editor – editor de pachete · Image Editor – lanseazã un utilitar cu ajutorul cãruia putem edita fiºiere de resurse. vizualiza. cãile cãtre librãrii. modifica ºi interoga baze de date. bitmap-uri ºi cursoare care sã fie folosite în aplicaþii · Team Source – lanseazã un program destinat gestionãrii unor proiecte dezvoltate de cãtre grupuri de programatori. indentãri etc) · Debugger Option – configurare program de depanare · Repository – gestioneazã modul de organizare a obiectelor ce pot fi create cu opþiunea New din meniul File · Translation Repository – afiºeazã translation repository. ºterse sau modificate opþiuni ce apar în acest meniu Unelte opþionale: · Database Desktop – lanseazã un utilitar cu ajutorul cãruia putem crea. În acest meniu putem gãsi urmãtoarele opþiuni: · Delphi Help – deschide help-ul Delphi-ului · Delphi Tools – deschide help-ul destinat uneltelor din Delphi.Utilizare Delphi 5 autor Popa Daniel În acest meniu putem avea: · Enviroment Options – specificã configuraþia doritã. taste rapide. icoane. sorta. Meniul Help Se utilizeazã pentru a accesa help-ul sistemului. Open project New Open Reopen Save Save all Remove from project Help Add to project Units Forms Toggle New form Run 7 Pause Trace into Step over . · Windows API/SDK Help – deschide help-ul pentru apelurile API Windows · Borland Home Page – salt la pagina web a Borland-ului (Inprise-ului) · Delphi Home Page – salt la pagina web a Delphi-ului · Delphi Developer Support – salt la pagina web destinatã programatorilor · Delphi Direct – legãturã directã cãtre pagina Delphi-ului · Customize – permite gestionarea help-ului · About – informaþii despre copyright ºi versiune 2.2 Bara de butoane Pe bara de butoane se aflã scurtãturi cãtre cele mai utilizate comenzi. cu care por fi fãcute traduceri · Configure Tools – cu ajutorul aceste opþiuni pot fi adãugate.

3 Paleta de componente Paleta de componente a Delphi-ului este împãrþitã în mai multe pagini. În tabelul de mai jos sunt prezentate paginile paletei de componente. apãsarea unui buton.componenta este vizibilã.Utilizare Delphi 5 autor Popa Daniel 2. liste derulante Additional Controale pentru Windows9x/NT: calendar.1 Exemple de componente (sursele lor se gãsesc: Delphi5\source\samples) Samples Componente model de tip ActiveX ActiveX Componente destinate accesului la diferite servere Servers 8 . modificare. Win32 Componente ºi controale destinate lucrului cu sistemul: timer. ex. utilizatorul având posibilitatea sã creeze pagini noi. spre exemplu butoanele · Invizibile – componenta apare sub forma unei imagini la scrierea programului. sau poate fi fãcutã vizibilã în timpul rulãrii programului. Fiecare componentã are o listã de evenimente pe care le recunoaºte ºi la care poate rãspunde. Componentele pot sã fie: · Vizibile . meniuri. bare de stare. media player System Componente invizibile cu ajutorul cãrora se poate realiza conectarea la Data Access diferite baze de date utilizând Borland Database Engine (BDE) Data Controls Componente vizuale destinate accesului(vizualizare. Dacã o componentã este selectatã în momentul apãsãrii tastei F1 atunci vor fi afiºate informaþii despre componenta respectivã. ºtergere. Pentru a obþine informaþii generale despre pagina activã utilizatorul poate apãsa tasta F1. Descriere Nume Controale standard: butoane. etichete Standard Controale specializate: butoane ce pot conþine imagini. poate sã ºteargã componente sau poate sã le reordoneze. componente noi. · Metode(methods) – proceduri ºi funcþii asociate unui obiect · Evenimentele(events) – sunt acþiuni ale utilizatorului. adãugare date) la bazele de date Componente ce permit conectarea la baze de date folosind ActiveX Data ADO Objects (ADO) Componente ce permit conectarea la un server Interbase fãrã BDE sau ADO Interbase Componentele din aceastã paginã permit lucrul cu baze de date distribuite Midas InternetExpress Componentele din aceastã paginã permit construirea de aplicaþii InternetExpress care sunt simultan aplicaþii Web Server ºi clienþi pentru baze de date distribuite Suport pentru crearea aplicaþiilor pentru Internet Internet Oferã o varietate de protocoale de acces la Internet FastNet Decision Cube Componente care vizualizeazã datele din bazele de date ajutând la luarea deciziilor Componente ce ajutã la crearea unor rapoarte Quick Report Componente pentru compatibilitatea înapoi cu Delphi 1 (a nu se folosi) Win3. dar în timpul rulãrii nu e vizibilã. Structura paginilor poate fi schimbatã. sau ale sistemului de operare recunoscute de cãtre componentã. în interiorul fiecãrei pagini existând un numãr variabil de componente. spre exemplu timer-ul Fiecare componentã are anumite atribute cu ajutorul cãrora controlam aplicaþia : · Proprietãþile(properties) – ne permit accesul la metodele sau câmpurile unei clase. Existã posibilitatea de a asocia un cod care sã se execute fiecãrui eveniment. precum ºi o descriere scurtã a conþinutului fiecãrei pagini.

Pagina Events Este prevãzutã cu douã coloane: .pe coloana dreaptã avem valorile actuale ale acestora Atribuirea unei valori se poate face în trei moduri: . . corespunzãtoare evenimentului pe care dorim sã-l tratãm. 9 .pe coloana stângã sunt listate denumirile evenimentelor .prin intermediul unei ferestre de dialog(ex. se dã dublu clic pe coloana din dreapta. prin fereastrã de dialog. dacã de doreºte sã se execute aceeaºi rutinã pentru mai multe evenimente. BorderIcons. prin listã derulantã.prin linia de editare. Font) Anumite proprietãþi (ex. Antetul procedurii(metodei) de tratare a evenimentului este scris automat de cãtre editor.prin listã derulantã. din care se poate alege o procedurã care a fost definitã de programator anterior. Pagina Properties Este prevãzutã cu douã coloane: . Color) admit douã modalitãþi de atribuire a unei valori.4 Inspectorul de obiecte (object inspector) Inspectorul de obiecte este utilizat pentru a modifica proprietãþile obiectelor ºi a scrie rutinele de tratare a evenimentelor. iar Delphi-ul deschide editorul de cod ºi ne permite scrierea codului ce se doreºte a fi executat la apariþia evenimentului respectiv. În aceste cazuri proprietatea respectivã desemneazã o listã de proprietãþi. Constrains) numele este precedat de un semn plus.Utilizare Delphi 5 autor Popa Daniel 2. Caption) .pe coloana dreaptã avem procedurile ce trateazã evenimentele Atribuirea unei valori se poate face în douã moduri: .prin listã derulantã(ex. sau dacã se dã dublu clic. BorderStyle) . Dacã procedura aferentã unui eveniment nu conþine nici o linie de cod aceasta va fi ºtearsã. Acesta este prevãzut cu douã pagini: · Properties – care permite stabilirea proprietãþilor obiectelor · Events – destinatã gestionãrii evenimentelor legate de componente.prin linia de editare aferentã proprietãþii(ex.pe coloana stângã sunt listate denumirile proprietãþilor . La unele proprietãþi (ex.

Delphi-ul conþine ºi anumite componente destinate grupãrii mai multor componente: GroupBox. Dacã se doreºte adãugarea mai multor componente identice atunci se procedeazã astfel: . culoare) 3. Asupra obiectelor selectate se pot aplica comenzile(ce se gãsesc în meniul Edit): · Cut – mutã obiectele selectate în clipboard · Copy – copiazã obiectele selectate în clipboard · Paste – copiazã din clipboard · Delete – ºterge obiectele selectate · Align to Grid – aliniazã toate componentele la cele mai apropiate puncte de reþea · Bring to Front – deplaseazã componentele selectate în faþa celorlalte componente · Send to back – deplaseazã componentele selectate în spatele celorlalte componente · Align – afiºeazã o fereastrã de dialog cu ajutorul cãreia un grup de componente pot fi aliniate (dupã cea mai din stânga. dar de aceastã datã în centrul ferestrei este de a da dublu clic pe aceasta. cea mai de sus …) · Size – afiºeazã o fereastrã de dialog cu ajutorul cãreia se pot redimensiona componentele selectate(la dimensiunea celei mai mari. Gestiunea componentelor 3. aflat în partea din stânga a paginii cu componente. Pentru aceasta este necesarã selectarea obiectelor asupra cãrora se va efectua operaþia.Cu tasta SHIFT apãsatã executãm clic pe fiecare din componentele dorite .Realizãm un dreptunghi imaginar prin apãsarea butonului stâng al mouse-ului ºi miºcarea acestuia astfel încât sã cuprindem în interiorul dreptunghiului componentele dorite.Se apasã tasta SHIFT . cea mai din dreapta.Se efectueazã clic în interiorul componentei .Se efectueazã un clic de mouse pe simbolul grafic al componentei . Aceste componente container permit gestionare mai uºoarã a componentelor conþinute: se pot muta simultan. dupã ace se poate elibera tasta SHIFT .Pentru revenirea la normal se va efectua un clic pe simbolul sãgeþii. Putem selecta o componentã în mai multe moduri: .Se efectueazã clic pe simbolul grafic al componentei dorite. pot fi modificate anumite proprietãþi simultan(font.Se efectueazã un clic în poziþia în care se doreºte plasarea colþului stânga sus a componentei.Dacã focarul este pe fereastrã se poate trece de la o componentã la alta cu tasta TAB În anumite cazuri este necesarã realizarea unei operaþii asupra mai multor componente.1 Aºezarea componentelor pe o formã(form) Pentru a aºeza o componentã se poate proceda astfel: .Se alege obiectul din lista derulantã a inspectorului de obiecte . Dacã de doreºte selectarea tuturor obiectelor se poate alege opþiunea Select All din meniul Edit. Putem selecta un grup de obiecte în douã moduri: .Se poziþioneazã obiectul în poziþiile dorite .Utilizare Delphi 5 autor Popa Daniel 3. O altã posibilitate de a aºeza o componentã. celei mai mici componente …) · Scale – se pot scala (mãri sau micºora)procentual componentele selectate 10 .2 Manipularea componentelor aºezate Operaþiile se pot executa asupra unei componente doar dacã aceasta este selectatã. RadioGroup ºi Panel.

Size. 11 . Dacã se doreºte se poate face vizibilã o paletã de comenzi destinate alinierii obiectelor( meniul View opþiunea Alingment Palette). acesta se parcurg în ordine cu Tab sau cu Shift+Tab în ordine inversã · Creation Order – afiºeazã o fereastrã de dialog din care putem schimba ordinea de creare a obiectelor · Lock – blocheazã/deblocheazã o componentã Comenzile Align to Grid. Scale. Creation Order mai pot fi gãsite ºi în meniul care apare dacã executãm clic dreapta pe un obiect. Tab Order. Bring to Front.Utilizare Delphi 5 · autor Popa Daniel Tab Order – afiºeazã o fereastrã de dialog cu ajutorul cãreia putem schimba ordinea de parcurgere a componentelor. Send to Back. Align.

Instanþa unui tip de clasã poartã denumirea de obiect1. Nu este obligatoriu sã definim un constructor. Din program. Obiectul relevã utilizatorului (programatorului care utilizeazã obiectul) doar ceea ce este necesar. care poartã denumirea de metode) . Nu este obligatoriu ca fiecare clasã sã aibã un destructor. care este indicatã de unul dintre cuvintele rezervate: private. de aici pot apãrea anumite confuzii. astfel încât utilizarea obiectului sã fie cât mai uºoarã. sã facã cu totul altceva. La fel ca ºi câmpurile unui record. Vizibilitatea determinã modul în care membrii pot fi accesaþi: În Pascal standard noþiunea de clasã nu existã. Noþiunea de clasã. Se poate întâmpla ca anumite metode a unei clase sã fie rescrise. Destructorul este o metodã specialã care este apelatã automat la distrugerea obiectului. sau a face tot ceea ce este necesar iniþializãrii obiectului. ceea ce ne fereºte de necesitatea rescrierii unor pãrþi de cod. Fiecare membru a unei clase are un atribut denumit vizibilitate. published. Ideea OOP este de a pune la un loc. chiar dacã o clasã descendentã are metode cu acelaºi nume. O clasã sau un tip de clasã definesc o structurã ce conþine câmpuri. Aceastã caracteristicã poartã denumirea de polimorfism. protected. dacã acesta nu a fost definit se utilizeazã constructorul implicit Create. Fiecare obiect are o copie unicã a fiecãrui câmp definit în clasã. o proprietate apare cel mai adesea la fel ca un câmp. Caracteristici. dar toate instanþele unei clase împart aceleaºi metode. O altã caracteristicã importantã a obiectelor este moºtenirea. de a aloca memorie. atât datele cât ºi partea de cod(proceduri ºi funcþii. Un câmp este de fapt o variabilã care face parte dintr-un obiect. O metodã este o procedurã sau o funcþie asociatã cu o clasã. Aceastã caracteristicã ne permite scrierea rapidã ºi uºoarã a unor obiecte asemãnãtoare. Definiþia de mai sus e valabilã pentru Delphi.Utilizare Delphi 5 autor Popa Daniel 4 Programarea în Delphi 4. astfel încât. metode ºi proprietãþi. ea fiind înlocuitã cu cea de obiect. Vizibilitatea membrilor unei clase. Prin moºtenire se înþelege acea proprietate a obiectelor prin care un obiect nou construit preia datele ºi metodele unui alt obiect. Caracteristici. Constructorul este o metodã utilizatã pentru crearea unei instanþe a unei clase. el ocupându-se de dezalocarea memoriei alocate clasei. nu ºi pentru Pascal. Majoritatea metodelor opereazã asupra obiectelor. O proprietate este o interfaþã pentru data asociatã unui obiect(datã care de obicei este stocatã într-un câmp). care sunt instanþe ale claselor. pãrinte. Are rolul de a iniþializa unele câmpuri. OOP permite o abordare modularã a programãrii.1 Lecþia 1 – Programarea orientatã pe obiect (OOP) Noþiunea de obiect. într-un singur container. câmpul unei clase reprezintã o datã care existã în fiecare instanþã a unei clase. 1 12 . public. care au unele date ºi metode comune. Proprietãþile au specificatori de acces care determinã modul în care datele pot fi citite sau modificate. Toate mecanismele interne pe care utilizatorul nu are nevoie sã le cunoascã sunt ascunse. Obiectele sunt create ºi distruse cu ajutorul unor metode speciale numite constructori ºi destructori. Pentru obiecte se alocã dinamic blocuri de memorie a cãror structurã este determinatã de tipul de clasã. din afara obiectului. Containerul se numeºte obiect. De obicei destructorul este vãzut ca fiind inversul constructorului.

Toþi membrii declaraþi în aceastã zonã vor fi vizibili în Object Inspector. property Cursor. property Anchors. Public – un membru public este vizibil în exteriorul clasei. property HelpContext.Utilizare Delphi 5 · · · · autor Popa Daniel Private – un membru private este invizibil în afara clasei în care este declarat. property FileName. property Height. property ShowHintImage:boolean read fshowimage write SetShowImage default false.override. property Left. tot ceea ce e declarat mai jos nu e vizibil în afara clasei} fhintimage:Tbitmap. property BorderWidth. Published – acest mod de acces este utilizat atunci când se scriu componente. procedure SetHintColor(v:Tcolor). message CM_HINTSHOW. property active. altfel spus o metodã declaratã ca fiind private nu poate fi apelatã din alt modul. property Autosize. protected { Protected declarations } public { Public declarations } constructor Create(AOwner:TComponent). property Color. { Proceduri si functii} procedure SetHintImage(v:Tbitmap). destructor Destroy. property align. procedure afisimg(Sender:TObject). published { Published declarations } {pentru a citi proprietatea HintImage se citeºte din variabila fhintimage.override. property Constraints. property CommonAVI. {proprietatea de mai jos are definitã ºi o valoare implicitã(clwhite . fhintcolor:Tcolor. iar un câmp sau proprietate nu pot fi citite sau scrise din alt modul Protected – un membru protected este vizibil doar în clasa în care a fost declarat ºi în toate clasele descendente. Aceste componente sunt obiecte (dar nu toate obiectele sunt componente!) care fie sunt create de utilizator. iar pentru a o scrie se foloseºte procedura SetHintImage} property HintImage:Tbitmap read fhintimage write SetHintImage. ºi pot fi reutilizate în orice alt program.culoarea albã)} property HintTransparentColor:Tcolor read fhintcolor write SetHintColor default clwhite. procedure setshowimage(v:boolean). property Hint. În scrierea programelor Delphi este utilizatã foarte mult OOP deoarece se utilizeazã în special componente. procedure CMHintShow(var Message: TMessage). Prezint mai jos o componentã TAnimate2 derivatã din Tanimate : type TAnimate2 = class(TAnimate) private { Private declarations. property Center. fie sunt venite împreunã cu Delphi-ul. 13 . fshowimage:boolean.

autor Popa Daniel În exemplul de mai sus aþi observat cã a apãrut override. Care este diferenþa dintre clasã ºi obiect? 5. property Timers. Din ce cauzã avem metode ºi câmpuri private? 6. property Visible. property ParentShowHint.Utilizare Delphi 5 property Name. property OnStop. property Width. end. property OnMouseMove. care ne indicã cã acea metodã poate fi rescrisã. Ce este un obiect? 2. property OnClick. dar clasele derivate sã o poatã apela? 3. astfel încât într-o clasã derivatã metoda respectivã va putea executa un cu totul alt cod. property StartFrame. Cum pot ascunde o metodã. property StopFrame. {********Evenimente} property OnClose. property Repetitions. property Transparent. property ParentColor. Dacã se doreºte ca utilizatorul sã fie obligat sã rescrie metoda atunci se poate adãugã virtual în dreptul metodei. property Tag. Ce este o clasã? 4. Când este apelat destructorul unei clase? 14 . property ShowHint. property OnStart. Întrebãri ºi probleme 1. property Top. property OnOpen.

printr-un clic. în momentul iniþial. componenta memoratã în ActiveControl desemneazã acea componentã. Proprietatea ActiveControl poate fi utilizatã ºi în execuþie. Din lista afiºatã. Scopul acestui capitol este prezentarea celor mai importante proprietãþi. atributul Width al unei forme descrie lãþimea formei. cã majoritatea proprietãþilor ºi evenimentelor formelor sunt identice cu proprietãþile ºi evenimentele referitoare la majoritatea componentelor. În cazul în care se alege valoarea True. Proprietãþile formelor Proprietatea Action Este utilizatã pentru centralizarea rãspunsurilor la comenzile date de utilizator. care pot fi stabilite în perioada de elaborare a proiectului prin intermediul inspectorului de obiecte. Prin testarea valorii ataºatã acestei proprietãþi se poate decide care anume componentã este în focar la un moment dat. Valoarea implicitã este alNone. care este ºi valoarea implicitã. La un moment dat numai o singurã componentã poate sã fie în focar. Majoritãþii componentelor li se poate asocia o acþiune. Proprietatea Anchors Se utilizeazã pentru a ne asigura cã obiectul îºi pãstreazã poziþia relativ la marginile pãrintelui(a componentei care o conþine). Proprietatea ActiveControl Este utilizatã atunci. Proprietatea Align Se utilizeazã pentru a alinia componentele sus. metode ºi evenimente referitoare la forme. Proprietatea AutoScroll (boolean) Se referã la modul de utilizare a barelor de defilare ataºate formei. Dacã 15 . Formele pot sã “reacþioneze” la 34 de evenimente. care conþine numele tuturor componentelor formei. atunci în caz de nevoie. iar în context cu o componentã acest atribut se va referi la lãþimea componentei. Aceste bare vor apare atunci când utilizatorul a redimensionat forme pri care componentele aºezate pe formã devin invizibile. Când pãrintele este redimensionat obiectul îºi pãstreazã poziþia relativ la marginile de care a fost ancorat. de exemplu. Evenimentul OnClick în contextul formelor se referã la efectuarea unui clic pe formã. care pot fi în focar. care va ajunge în focar în momentul în care forma va reobþine focarul. iar în context cu componentele evenimentul se referã la efectuarea unui clic pe componentã. când pe formã au fost aºezate mai multe componente ºi se doreºte specificarea componentei care sã fie în focar. atunci componenta respectivã va fi pusã în focar. Dacã forma nu este în focar. Prin efectuarea unui clic pe butonul “sãgeatã jos” situat în coloana de valori se poate deschide o listã. Se menþioneazã faptul. jos sau la dreapta pe o formã sau panel. Dacã în aceastã proprietate se încarcã un alt nume de componentã.Utilizare Delphi 5 autor Popa Daniel 4. acestea rãmânând pe poziþie chiar dacã forma sau panelul se redimensioneazã. ceea ce înseamnã cã obiectul rãmâne acolo unde a fost poziþionat. la stânga.2 Lecþia 2 – Form(TForm) Pentru descrierea formelor pot fi utilizate 50 de proprietãþi. acþiunile fiind centralizate ºi gestionate folosind componenta ActionList din pagina standard. în execuþie. Astfel. forma va fi prevãzutã cu bare de defilare. se poate selecta componenta necesarã. chiar dacã componenta pãrinte este redimensionatã.

Chenar redimensionabil standard. În cazul componentelor aceastã proprietate desemneazã eticheta ataºatã componentei. Aceastã proprietate este de tip mulþime. Chenar neredimensionabil. Chenar neredimensionabil. Valorile posibile ale acestei proprietãþi sunt urmãtoarele: Valoare bsDialog bsSingle bsNone bsSizeable bsToolWindow bsSizeToolWin Semnificaþie Chenar neredimensionabil. nu se vor aºeza în mod automat bare de defilare la forma redimensionatã.Utilizare Delphi 5 autor Popa Daniel se alege valoarea False. biMinimize. dar este prevãzut cu un mic tilu. Proprietatea BidiMode Permite ajustarea modului de afiºare ºi a comportamentului automat atunci când aplicaþia ruleazã într-o zonã în care se citeºte de la dreapta la stânga ºi nu de la stânga la dreapta. valorile posibile fiind urmãtoarele: Valoare biSistemMenu biMinimize biMaximize biHelp Semnificaþie Forma este prevãzutã cu meniul sistem (control) Forma este prevãzutã cu un buton de minimizare Forma este prevãzutã cu un buton de maximizare Dacã proprietatea BorderStyle conþine valoarea bsDialog sau dacã sunt excluse valorile biMinimize ºi biMaximize. desenat cu o linie simplã. 16 . atunci în bara de titlu va apare un semn de întrebare. Dacã e pusã pe true atunci se redimensioneazã automat dacã conþinutul se schimbã. desenat cu linie invizibilã. de exemplu Form 1. Bordura este zona din imediata apropiere a marginilor în care nici o componentã nu poate fi plasatã. Proprietatea Capiton (de tip string) Specificã un ºir de caractere care este afiºat în linia de titlu al formei. Dacã se efectueazã un clic pe acest semn. biMaximize). În acest ultim caz litera precedatã de caracterul “&” este litera de selecþie a componentei (litera de selecþie este subliniatã ºi componenta poate fi selectatã prin combinaþia Alt – litera subliniatã). Proprietatea BorderWidth(de tip word) Se utilizeazã pentru controlul bordurii. Similar cu bsSizeable. Similar cu bsSingle. cursorul de mouse va avea forma definitã de comanda crHelp. dar este prevãzut cu un mic titlu. Proprietatea AutoSize(boolean) Se utilizeazã atunci când se doreºte ca obiectul sã se redimensioneze automat. Valoarea implicitã a proprietãþii BorderIcons este (biSystemMenu. chenarul standard al ferestrelor de dialog. Proprietatea BorderStyle Se referã la stilul chenarului formei. În acest caz ataºarea barelor de defilare poate fi realizatã prin intermediul proprietãþilor HorzScrollBar. Proprietate compusã BorderIcons Se referã la existenþa în linia de titlu a formei meniului sistem ºi a butoanelor de minimizare ºi maximizare.

Valoarea implicitã este True. Proprietatea Enabled (de tip boolean) Se referã la accesibilitatea formei sau componentei.Utilizare Delphi 5 autor Popa Daniel Proprietãþile ClientHeight ºi ClientWidth (de tip integer) Se referã la înãlþimea ºi lãþimea zonei client a formei. Dacã se alege varianta False. Aceste valori sunt specificate în puncte. ºi se modificã valoarea proprietãþii Ctl3D corespunzãtoare formei proprietar al componentei. Valoarea implicitã este clBtnFace. Proprietatea Cursor Stabileºte imaginea utilizatã pentru reprezentarea cursorului mouse-ului. Proprietatea Ctl3D (de tip boolean) Determinã dacã forma sau componenta are aspect tridimensional (pentru True) sau aspect bidimensional (pentru False). Eticheta unei componente inhibate este afiºatã cu caractere estompate. de exemplu pentru a interzice utilizarea unor butoane de comandã în contextul respectiv. atunci forma sau componenta va reacþiona la diferitele evenimente referioare la mouse. Pentru selectarea unei imagini se vor folosi diferitele constante predefinite de descriere a cursorului. Zona client este aria utilizabilã în interiorul chenarului formei. moment în care eticheta componentei va fi afiºatã cu caractere negre. Valoarea implicitã este constanta crDefault. Proprietatea DockSite Stabileºte dacã forma poate fi þinta unei operaþii drag-and-dock(trage ºi stabileºte) Proprietatea DragKind Se foloseºte pentru a stabili dacã se iau obiecte de pe control(drag) sau se pot pune pe el(dock). forma sau componenta va fi inhibatã ºi nu va rãspunde la evenimentele echipamentelor de intrare. aunci se va modifica automat ºi culoarea componentei. Proprietatea DefaultMonitor Stabileºte pe care monitor va fi afiºatã forma. care este ºi valoarea implicitã. Aceste dimensiuni nu pot fi depãºite. Pentru iniþializarea valorii acestei proprietãþi pot fi folosite constante predefinite sau valori returnate de funcþia RGB. Dacã se alege varianta True. ºi se modificã valoarea proprietãþii Color corespunzãtoare formei proprietar al componentei. tastaturã ºi ceas. Dacã pentru proprietatea ParentColor corespunzãtoare unei componente se ia valoarea True. Proprietãþile Color (de tip Tcolor=longint) Stabileºte culoarea de fond a formei. atunci se va modifica automat ºi aspectul componentei. O componentã inhibatã ulterior poate fi reactivatã. Dacã pentru proprietatea Parenttl3D corespunzãtoare unei componente se ia valoarea True. Valoarea acestei proprietãþi de regulã este modificatã în execuþie. 17 . Proprietatea Constraints Se utilizeazã pentru a stabili dimensiunea minimã ºi maximã pentru o componentã. în cazul aplicaþiilor multimonitor.

Dacã HelpContext are valoarea 0 atunci va fi afiºatã fereastra de ajutor corespunzãtoare pãrintelui. prin redefinirea subproprietãþilor Color (culoare). Height (înãlþime). dacã o componentã ajunge la o distanþã mai micã decât Margin puncte de la muchie. nici MDI pãrinte). valoarea implicitã este 8) Margin (de tip word. Dimensiunea maximã de defilare. ºi dacã proprietatea Visible are valoarea True. Name (nume). Acest text este afiºat numai aunci când proprietatea ShowHint (de tip boolean) este iniþializatã cu valoarea True. Aceastã proprietate determinã numãrul minim de puncte care separã componentele formei ºi muchia formei. Proprietatea Hint (de tip string) Specificã un text explicativ care va fi afiºat atunci când cursorul de mouse este aºezat deasupra unei forme sau componente. exprimatã în puncte. Aceste valori sunt exprimate în puncte care include ºi dimensiunile rezervate chenarelor. Subproprietãþile barelor de defilare sunt centralizate în tabelul urmãtor: Proprietate Increment (o valoare cuprinsã între 1 ºi 32767. Size (dimensiune). Proprietãþile compuse HorzScrollBar ºi VertScrollBar Stabilesc dacã forma este prevãzutã sau nu cu bare de defilare orizontale ºi/sau verticale. fsMDIChild fsMDIForm fsStayOnTop Forma creazã o fereastrã MDI copil Forma creazã o fereastrã MDI pãrinte Forma va fi afiºatã deasupra celorlalte forme utilizate în proiect. În execuþie. fsNormal Valoare implicitã. Valorile posibile ale acestei proprietãþi sunt urmãtoarele: Semnificaþie Valoare Forma creazã o fereastrã normalã (nici MDI copil. valoarea implicitã este 0) Descriere Stabileºte distanþa de deplasare a imaginii din formã în momentul în care utilizatorul efectueazã un clic pe unul din butoanele cu sãgeþi situate în extremitãþile barelor de defilare. La bara de defilare verticalã aceastã valoare trebuie sã fie mai mare decât valoarea proprietãþii Height (în caz contrar bara verticalã este invizibilã). Proprietãþile Height ºi Width (de tip integer) Sabilesc înãlþimea. atunci se afiºeazã o barã de defilare. Aceastã valoare este actualizatã automat în execuþie. în funcþie de defilare. valoarea implicitã este 0) 18 . Proprietatea FormStyle Stabileºte stilul formei. Comunicã poziþia actualã a cursorului glisant al barei de defilare. Proprietatea HelpContext Se foloseºte pentru a stabili un numãr folosit în apelarea ajutorului(Help) contextsenzitiv. Pitch (lãþimea caracterelor). valoarea implicitã este 0) Range (de tip integer. însã poate fi modificat în execuþie. La bara Position (de tip integer. pentru a determina care fereastrã de ajutor este afiºatã dacã utilizatorul apasã tasta F1.Utilizare Delphi 5 autor Popa Daniel Proprietatea compusã Font Stabileºte fontul utilizat la textele care sunt afiºate pe obiectul Canvas al formei precum ºi la textele aferente componentelor aºezate pe formã. respectiv lãþmea formei sau componentei. sau Style (stil). Fontul utilizat poate fi definit în perioada de elaborare a proiectului. Proprietatea HelpFile Specificã fiºierul în care se aflã ajutorul. Stabileºte momentul de afiºare al barei de defilare.

dacã proprietatea Range a unei bare orizontale conþine valoarea 500. Dacã pentru aceastã proprietate se alege valoarea True. respectiv ordonata: · Formei faþã de colþul stânga sus al ecranului. Proprietatea Icon Specificã simbolul grafic care va fi utilizat atunci când forma este minimizatã. atunci valorile proprietãþii Position pot fi în intervalul (0. având cu butonul de glisare tras de utilizator. În perioada de elaborare a proiectului aceastã proprietate este iniþializatã automat cu prima componentã MainMenu aºezatã pe formã. în execuþie valoarea acestei proprietãþi poate fi modificatã. printr-o instrucþiune de atribuire. Proprietatea KeyPreview (de tip boolean) Se referã la modul de gestiune a evenimentelor referitoare la utilizarea tastaturii (OnKeyDown. ºi Visible (de tip boolean. 300). · Componentei faþã de colþul stânga sus al unei componente de tip container. Proprietatea Menu (de tip TmainMenu) Stabileºte componenta de meniu principal care este utilizat de formã la un moment dat. OnKeyPress ºi OnKeyUp). lãþimea formei este 200. Proprietatea Name Numele componentei. sã presupunem cã forma conþine un buton de comandã care este în focar. Dacã se alege valoarea True. astfel cã o formã poate sã foloseascã mai multe componente MainMenu. chiar dacã în momentul respectiv în focar se aflã o componentã. atunci evenimentele referitoare la tastare vor fi gestionate de procedurile componentei active. deci actualizarea imaginii defilate va avea loc numai în momentul eliberãrii butonului glisant al barei de defilare. De exemplu. valoarea implicitã False) imaginea rãmâne staticã atâta timp cât utilizatorul trage butonul de glisare. atunci bara de defilare devine vizibilã. 19 . Se referã la vizibilitatea barei de defilare. Dacã se alege valoarea False. · Componentei faþã de colþul stânga sau al formei proprietar. Proprietatea ParentBidiMode(boolean) Stabileºte dacã controlul foloseºte aceeaºi valoare pentru BidiMode ca ºi pãrintele. Proprietatea ObjectMenuItem Se utilizeazã pentru a afla sau a preciza o opþiune dintr-un meniu care devine activã sau inactivã atunci când un obiect OLE de pe formular este selectat sau deselectat. evenimentele aferente tastãrii vor fi gestionate de procedurile formei ºi nu de procedurile butonului de comandã. Dacã utilizatorul apasã o tastã. Orice componentã trebuie sã aibã un nume unic. ºi nu de componentele aºezate pe formã. Dacã proprietatea este iniþializatã cu valoarea False. Dacã se alege valoarea True. Proprietãþile Left ºi Top (de tip integer) Stabilesc abscisa. Valorile acestor proprietãþi sunt date în puncte. având dacã componenta se aflã la o distanþã mai micã decât Margin puncte de valoarea implicitã True) muchia formei. care este ºi valoarea implicitã. atunci evenimentele referitoare la tastaturã sunt gestionate de forma actualã. imaginea din formã se deplaseazã împreunã Tracking (de tip boolean. ºi nu de procedurile formei.Utilizare Delphi 5 autor Popa Daniel de defilare orizontalã aceastã valoare trebuie sã fie mai mare decât valoarea proprietãþii ClientWidth (în caz contrar bara orizontalã este invizibilã). De exemplu.

dar poPrintToFit modificate astfel încât sã încapã pe paginã. plasându-se în centrul ecranului. plasându-se în centrul ferestrei specificate de proprietatea Owner. Nu se fac ajustãri pentru aplicaþiile multimonitor. Proprietatea Position Se referã la dimensiunea formei ºi al locul de plasare a acesteia la execuþie. Valorile posibile sunt: Valoare Semnificaþie Nu se scaleazã deloc. Se menþioneazã faptul cã aceastã propeietate nu este iniþializatã automat cu componenta PopupMenu aºezatã pe formã. Dimensiunile ferestrei se pãstreazã. Proprietatea PopupMenu (de tip TpopupMenu) Identificã componenta de meniu flotant care este utilizatã de formã la un moment dat. po Nu se fac ajustãri pentru aplicaþiile multimonitor. Pentru a avea efect trebuie ca proprietatea Scaled sã fie true. poNone Fereastra este scalatã astfel încât imaginea tipãritã are aproximativ poProportional aceeaºi dimensiune ca ºi pe ecran. plasându-se în centrul ferestrei PoMainFormCenter principale a aplicaþiei. PoOwnerFormCenter Dimensiunile ferestrei se pãstreazã. Proprietatea PrintScale Se utilizeazã pentru a afla sau stabili proporþiile ferestrei tipãrite. faþã de locul ºi dimensiunea care au fost utilizate în momentul realizãrii proiectului. Dimensiunile ferestrei se pãstreazã. astfel cã o formã poate sã foloseascã mai multe componente PopupMenu. poDefaultPosOnly Poziþia este pãstratã. printr-o instrucþiune de atribuire. forma nu va avea aceleaºi proporþii la diferite rezoluþii. plasându-se în centrul ecranului. poDefaultSizeOnly Dimensiunile ferestrei se pãstreazã. În execuþie valoarea acestei proprietãþipoate fi modificatã. Proprietatea Scaled Specificã dacã forma va fi redimensionatã în funcþie de valoarea PixelsPerInch 20 . Dacã valoarea este modificatã faþã de valoarea implicitã. se pãstreazã dimensiunile. Windows-ul alege dimensiunile.Utilizare Delphi 5 autor Popa Daniel Proprietatea ParentFont(boolean) Stabileºte dacã controlul foloseºte acelaºi font ca ºi pãrintele Proprietatea PixelPerInch Se utilizeazã în timpul rulãrii programului pentru a modifica scara de mãrire a formei la rezoluþia curentã. Forma este tipãritã folosind aceleaºi proporþii ca pe ecran. poScreenCenter Se fac ajustãri pentru aplicaþiile multimonitor. Poziþia ºi dimensiunea ferestrei vor fi stabilite de cãtre Windows poDefault Poziþia este stabilitã de cãtre Windows. Valorile posibile sunt: Valoare Semnificaþie Forma va avea aceeaºi poziþie ºi dimensiuni ca în momentul poDesigned elaborãrii proiectului.

Proprietatea WindowMenu Se foloseºte pentru a alfa sau stabili ce meniu se utilizeazã pentru o fereastrã pãrinte în cazul aplicaþiilor MDI(multiple document interface). Metoda Refresh. Repaint Redeseneazã forma. Spre exemplu dacã M=15 ºi D=7 dimensiunile tuturor componentelor se vor înmulþi cu valoarea 15/7. Metoda ScaledBy(M. D:integer) Scaleazã toate obiectele de pe formã de M/D ori. Poate avea urmãtoarele valori Valori Semnificaþie wsNormal Fereastra este afiºatã normal. dimensiunile fonturilor vor fi modificate de asemenea. Metode Metoda BringToFront Aduce forma în faþã. Proprietatea UseDockManager Stabileºte dacã se utilizeazã un manager pentru operaþia de drag-and-dock. wsMinimized Fereastra este afiºatã miminizatã wsMaximized Fereastra este afiºatã maximizatã. Metoda SetFocus Se utilizeazã pentru a selecta obiectul(controlul). Nu are un rol predestinat. Metoda SendToBack Trimite forma în spatele tuturor ferestrelor existente pe ecran.Utilizare Delphi 5 autor Popa Daniel Proprietatea ShowHint Dacã are valoarea true atunci va fi afiºatã o scurtã informaþie(Hint) despre obiectul deasupra cãruia s-a oprit mouse-ul. Proprietatea Visible Dacã este true atunci componenta este vizibilã. 21 . Metoda Hide Ascunde forma. Proprietatea WindowState Se referã la modul de afiºare pe ecran a ferestrei. Metoda Close Se utilizeazã pentru închiderea formei. Proprietatea Tag Utilizatã pentru memorarea unei valori întregi.

spre exemplu pentru evenimentul OnKeyPress. caHide Forma este închisã. Avem posibilitatea sã stabilim noile dimensiuni (NewWidth. parametrii MinWidth. Prin modificarea parametrului CanClose:Boolean decidem dacã forma se poate închide sau nu. va fi transmis ca parametru ºi tasta(caracterul) care a care a fost apãsatã. MaxWidth. Dacã în Object Inspector executãm dublu clic pe unul dintre evenimente Delphi-ul va deschide editorul de cod în care a scris deja antetul procedurii care va trata evenimentul. Aplicaþia o mai poate accesa. care apare la apãsarea unei taste. Evenimentul OnClose Apare la închiderea formei. MinHeight.Utilizare Delphi 5 autor Popa Daniel Metoda Show Face vizibilã forma. iar valoare pe care o vom atribui parametrului Handle:Boolean va decide dacã va fi afiºat 22 . deci nu se întâmplã nimic. lungimea maximã. NewHeight :Integer) ºi sã stabilim dacã suntem de acord cu redimensionarea (Resize:Boolean) Evenimentul OnClick Apare atunci când utilizatorul executã clic pe formã. noi urmând sã scriem partea de cod care va trata evenimentul. Dacã mai sunt necesari anumiþi parametri pentru a trata evenimentul atunci aceºtia vor fi incluºi. Modificând parametrul Action avem posibilitatea de a decide ce se va executa. Evenimentul OnCanResize Apare atunci când se redimensioneazã controlul. Se utilizeazã pentru aplicarea limitãrilor dimensiunilor. La ieºirea din procedura de tratare a evenimentului vor fi aplicate constrângerile ºi se vor obþine noile dimensiuni. înãlþimea minimã. dupã care va apare evenimentul OnResize care va permite ajustãrile finale. iar memoria alocatã ei va fi eliberatã caFree Forma va fi minimizatã. Procedura de tratare a evenimentului va avea cel puþin un parametru Sender:TObject care ne va indica cine a generat evenimentul. caMinimize Evenimentul OnCloseQuery Apare când metoda Close a fost apelatã. MaxHeight stabilind lungimea minimã. înãlþimea maximã. caNone Forma va fi ascunsã. Evenimentul OnConstrainedResize Apare imediat dupã evenimentul OnCanResize. Parametrul Action poate avea valorile: Valoare Descriere Forma nu are voie sã se închidã. Evenimentul OnActivate Apare atunci când forma devine activã. parametru care în general nu e folosit. Evenimente Pentru fiecare dintre evenimentele prezentate mai jos Delphi-ul ne permite sã scriem o rutinã care sã trateze evenimentul respectiv. Evenimentul OnContextPopup Apare la clic dreapta. Parametrul MousePos:Tpoint ne va indica poziþia mouse-ului .

poziþia la care se aflã X. altfel nu. ºi poziþia la care a fost lãsat X. Evenimentul OnDragDrop Apare când utilizatorul dã drumul obiectului adus prin operaþia de drag-and-drop. altfel nu. Evenimentul OnDblClick Apare atunci când utilizatorul executã dubclu clic pe formã. Evenimentul OnHelp Apare când forma primeºte o cerere de ajutor (Help). Evenimentul OnHide Apare atunci când forma este ascunsã(spre exemplu dacã Visible ia valoarea false) Evenimentul OnKeyDown 23 . Evenimentul OnCreate Apare la crearea formei. Y. Se utilizeazã pentru a trata situaþia în care operaþia de drag-and-dock s-a terminat. Ca parametri vom avea Source care ne va indica de unde a fost luat obiectul. Evenimentul OnDestroy Apare când forma este distrusã. poziþia la care se aflã X. Y. Ca parametri vom avea Source care ne va indica de unde a fost luat obiectul. Evenimentul OnGetSiteInfo Apare înainte de OnDockDrop dacã proprietate DockSite este true. Ca parametri vom avea Source care ne va indica de unde a fost luat obiectul. ºi poziþia la care a fost lãsat X. Evenimentul OnDragOver Apare când un obiect este tras peste formã pentru o operaþie de drag-and-drop. Y ºi Accept care dacã are valoarea true se acceptã operaþia.Utilizare Delphi 5 autor Popa Daniel meniul(dacã Handle=false. Evenimentul OnDockOver Apare când un obiect este tras peste formã pentru o operaþie de drag-and-dock. Evenimentul OnEndDock Apare când operaþia de tragere s-a terminat. ºi proprietatea AutoPopup=true) sau dacã nu se va executa nimic (Handle=true). Evenimentul OnDeactivate Apare când forma pierde focusul. Ca parametri vom avea Source care ne va indica de unde a fost luat obiectul. Y ºi Accept care dacã are valoarea true se acceptã operaþia. Evenimentul OnDockDrop Apare când un obiect este depus pe formã prin operaþia de drag-and-dock.

Alt sau Shift au fost apãsate. Procedura are aceeºi parametri ca ºi cea ce trateazã evenimentul OnMouseWheel Evenimentul OnMouseWheelUp Apare la învârtirea rotiþei în sus. Parametrul Shift ne indicã care dintre butoanele Ctrl. iar parametrul Shift. care poate avea valorile ssShift. ne indicã care dintre tastele Shift. Y ne indicã poziþia mouse-ului. iar parametrul Shift ne indicã care dintre tastele Shift. VK_RETURN. mbMiddle ºi ne indicã care dintre butoanele mouse-ului au fost apãsate. iar parametrii X.Utilizare Delphi 5 autor Popa Daniel Apare la apãsarea unei taste. în funcþie de direcþia în care este învârtitã rotiþa. Parametrul Button poate avea valorile mbLeft. Parametrul Key conþine caracterul tastei apãsate. Evenimentul OnMouseUp Apare la eliberarea unui buton al mouse-ului. ssCtrl. VK_PAUSE. Shift sau Alt au fost apãsate. Ctrl sau Alt a mai fost apãsatã odatã cu tasta. Parametrul Shift ne indicã care dintre butoanele Ctrl. Parametrul Button poate avea valorile mbLeft. parametrul WheelDelta ne indicã de câte ori a fost învârtitã rotiþa. VK_ESCAPE … ) Evenimentul OnMouseDown Apare la apãsarea unui buton al mouse-ului. dacã componenta(în acest caz forma) este selectatã. Y ne indicã poziþia mouse-ului. Shift+F1. dacã evenimentul OnMouseWheel nu a fost tratat. iar parametrii X. dacã evenimentul OnMouseWheel nu a fost tratat. mbMiddle ºi ne indicã care dintre butoanele mouse-ului au fost apãsate. Ctrl au fost apãsate. Pentru tastele care nu sunt litere sau cifre se pot folosi codurile virtuale (ex. nu provoacã acest eveniment. dacã componenta(în acest caz forma) este selectatã. Parametrul Key ne dã codul tastei apãsate. VK_PAUSE. Y ne indicã poziþia mouse-ului. mbRight. Parametrul Key ne dã codul tastei apãsate. Parametrul Shift ne indicã care dintre tastele Shift. Alt. Pentru tastele care nu sunt litere sau cifre se pot folosi codurile virtuale (ex. dacã evenimentul nu este tratat (parametrul Handle are valoare False) atunci apare evenimentul OnMouseWheelUp sau evenimentul OnMouseWheelDown. Evenimentul OnMouseWheel Apare când rotiþa mouse-ului este rotitã. iar parametrii X. Evenimentul OnMouseMove Apare la miºcarea mouse-ului peste un control(în acest caz formã). Parametrul Shift ne indicã care dintre tastele Ctlr. VK_ESCAPE … ) Evenimentul OnKeyPress Apare dacã utilizatorul apasã o tastã care genereazã un singur caracter. ssAlt. spre ex. VK_RETURN. Shift sau Alt au fost apãsate. mbRight. Evenimentul OnMouseWheelDown Apare la învârtirea rotiþei în jos. Evenimentul OnKeyUp Apare la eliberarea unei taste. Dacã a fost apãsatã o combinaþie de taste. Ctrl sau Alt a mai fost apãsatã odatã cu tasta. Procedura are aceeºi parametri ca ºi cea ce trateazã evenimentul OnMouseWheel Evenimentul OnPaint 24 .

Probleme ºi întrebãri 1. parametrul NewTarget ne indicã unde va fi dus obiectul. Cum putem realiza o formã de dimensiune 100x100 care sã nu poatã fi redimensionatã? 3. 4. Parametrul Client ne indicã obiectul ce va fi luat. sau a o interzice. autor Popa Daniel Evenimentul OnShortCut Apare la apãsarea unei taste înainte de evenimentul OnKeyDown. Scrieþi o aplicaþie care sã aibã o formã(fereastrã) care sã „fugã” de mouse-ul utilizatorului ori de câte ori acesta ajunge cu mouse-ul pe ea. Evenimentul OnResize Apare la redimensionarea formei. 25 . Scrieþi o aplicaþie care sã se închidã dacã se apasã butonul stâng al mouse-ului pe formã. iar proprietatea DragKind are valoarea dkDock. Evenimentul OnShow Apare atunci când forma este fãcutã vizibilã. 5. iar parametrul Allow îl folosim pentru a permite operaþia (dacã îi atribuim true).Utilizare Delphi 5 Apare atunci când forma este redesenatã. Evenimentul OnUnDock Apare atunci când utilizatorul încearcã sã ia un obiect ce se aflã pe formã. Se utilizeazã pentru a trata short-cut-urile înainte de a trata apãsãrile obiºnuite de taste. Evenimentul OnStartDock Apare atunci când utilizatorul începe sã tragã un obiect peste control. Scrieþi o aplicaþie care sã afiºeze poziþia mouse-ului ca titlu a formei. Cum putem face invizibile butoanele sistem? 2.

3. Proprietatea Anchors Se utilizeazã pentru a ne asigura cã obiectul îºi pãstreazã poziþia relativ la marginile pãrintelui(a componentei care o conþine). Proprietatea Cancel(boolean) Dacã are valoarea true atunci la apãsarea butonului Escape va avea loc evenimentul OnClick Proprietatea Capiton (de tip string) Specificã un ºir de caractere care este afiºat pe buton. Majoritãþii componentelor li se poate asocia o acþiune.Utilizare Delphi 5 autor Popa Daniel 4.3 Lecþia 3 . În Delphi existã trei tipuri de butoane: Imagine Tip buton Button BitBtn Descriere butonul standard denumirea vine de la Bitmap Button ºi permite aºezarea unui bitmap (imagini) în interiorul butonului. apãsat. metodele ºi evenimentele butoanelor sunt comune cu cele de la form voi trata doar ceea ce apare nou. dezactivat. acþiunile fiind centralizate ºi gestionate folosind componenta ActionList din pagina standard. 4. În acest ultim 26 . Când pãrintele este redimensionat obiectul îºi pãstreazã poziþia relativ la marginile de care a fost ancorat.Butonul Butonul este des utilizat pentru a iniþia diverse acþiuni la apãsare. SpeedButton Deoarece o mare parte din proprietãþile. Proprietatea BidiMode Permite ajustarea modului de afiºare ºi a comportamentului automat atunci când aplicaþia ruleazã într-o zonã în care se citeºte de la dreapta la stânga ºi nu de la stânga la dreapta. Proprietãþile butonului Proprietatea Action Este utilizatã pentru centralizarea rãspunsurilor la comenzile date de utilizator. permite adãugarea unei (a unor) imagini care poate (pot) acoperi întreg butonul. În cazul componentelor aceastã proprietate desemneazã eticheta ataºatã componentei. chiar dacã componenta pãrinte este redimensionatã. de exemplu Button1. Existã posibilitatea de a stabili câte o imagine pentru fiecare stare a butonului: ridicat.1 Button(TButton) Se utilizeazã pentru a pune un buton standard pe form. Butoanele de acest tip se pot grupa.

O componentã inhibatã ulterior poate fi reactivatã. Valoarea implicitã este constanta crDefault. Dacã se alege varianta False. iar dacã valoarea proprietãþii este dmAutomatic atunci poate executa operaþia de drag. atunci componenta va reacþiona la diferitele evenimente referitoare la mouse. însã poate fi modificat în execuþie. care este ºi valoarea implicitã. Proprietatea Cursor Stabileºte imaginea utilizatã pentru reprezentarea cursorului mouse-ului. Valoarea acestei proprietãþi de regulã este modificatã în execuþie. Proprietatea compusã Font Stabileºte fontul utilizat la textele care sunt afiºate pe obiectul Canvas al formei precum ºi la textele aferente componentelor aºezate pe formã. Proprietatea Default Dacã are valoarea true atunci la apãsarea tastei Enter va avea loc evenimentul OnClick. Height (înãlþime). Proprietatea Enabled (de tip boolean) Se referã la accesibilitatea componentei. Fontul utilizat poate fi definit în perioada de elaborare a proiectului. Proprietatea Constraints Se utilizeazã pentru a stabili dimensiunea minimã ºi maximã pentru o componentã. Size (dimensiune). moment în care eticheta componentei va fi afiºatã cu caractere negre. Proprietatea DragMode Stabileºte dacã utilizatorul poate executa operaþia de drag(tragere). componenta va fi inhibatã ºi nu va rãspunde la evenimentele echipamentelor de intrare. Proprietãþile Height ºi Width (de tip integer) Sabilesc înãlþimea. Eticheta unei componente inhibate este afiºatã cu caractere estompate.Utilizare Delphi 5 autor Popa Daniel caz litera precedatã de caracterul “&” este litera de selecþie a componentei (litera de selecþie este subliniatã ºi componenta poate fi selectatã prin combinaþia Alt – litera subliniatã). Aceste dimensiuni nu pot fi depãºite. tastaturã ºi ceas. 27 . Name (nume). sau Style (stil). prin redefinirea subproprietãþilor Color (culoare). Dacã se alege varianta True. respectiv lãþmea formei sau componentei. de exemplu pentru a interzice utilizarea unor butoane de comandã în contextul respectiv. Dacã valoarea proprietãþii este dnManual utilizatorul nu poate executa operaþia. Pentru selectarea unei imagini se vor folosi diferitele constante predefinite de descriere a cursorului. Aceste valori sunt exprimate în puncte care include ºi dimensiunile rezervate chenarelor. Proprietatea DragCursor Specificã ce imagine sã fie utilizatã pentru buton atunci când acesta este tras (dragg) Proprietatea DragKind Se foloseºte pentru a stabili dacã se iau obiecte de pe control(drag) sau se pot pune pe el(dock). Pitch (lãþimea caracterelor).

Proprietatea TabStop(boolean) Se foloseºte pentru a permite sau interzice accesul la control prin folosirea tastei Tab. al treilea 2 s.Utilizare Delphi 5 autor Popa Daniel Proprietatea HelpContext Se foloseºte pentru a stabili un numãr folosit în apelarea ajutorului(Help) contextsenzitiv. Metode Metoda Click Simuleazã apãsarea butonului.. pentru a determina care fereastrã de ajutor este afiºatã dacã utilizatorul apasã tasta F1.32767 ºi stabileºte la a câta apãsare a tastei Tab se ajunge la obiectul(controlul) respectiv. Proprietatea poate avea mai multe valori: Constantã Valoare Ce face mrNone 0 Nimic MrOk idOK Utilizatorul a ieºit apãsând butonul OK mrCancel idCancel Utilizatorul a ieºit apãsând butonul CANCEL mrAbort idAbort Utilizatorul a ieºit apãsând butonul ABORT mrRetry idRetry Utilizatorul a ieºit apãsând butonul RETRY mrIgnore idIgnore Utilizatorul a ieºit apãsând butonul IGNORE MrYes idYes Utilizatorul a ieºit apãsând butonul YES MrNo idNo Utilizatorul a ieºit apãsând butonul NO Proprietatea ParentShowHint(boolean) Se utilizeazã pentru a ne asigura cã fie toate componentele afiºeazã Hint-ul fie toate nu îl afiºeazã. Pentru clarificare vezi Exemplul 1. Proprietatea ModalResult Proprietatea se poate utiliza pentru a închide o fereastrã modalã (care a fost fãcutã vizibilã cu metoda ShowModal). returnând valoarea din ModalResult în câmpul ModalResult al ferestrei modale. spre exemplu când se ajunge cu Tab pe el. altfel decizia de a afiºa Hint-ul va fi luatã în funcþie de ShowHint-ul propriu. Evenimentul OnExit 28 . Primul obiect adãugat are valoarea proprietãþii TabOrder 0.a.m. Dacã HelpContext are valoarea 0 atunci va fi afiºatã fereastra de ajutor corespunzãtoare pãrintelui. Nu este necesar sã scriem cod care sã trateze apãsarea butonului. urmãtorul 1.d. Proprietatea TabOrder Poate lua valori în intervalul –1. Dacã ParentShowHint e true atunci obiectul foloseste ShowHint–ul pãrintelui. Evenimente Evenimentul OnEnter Apare atunci când controlul(în cazul nostru butonul) primeºte focus-ul.

4. lansaþi-l în execuþie dupã care treceþi de la un buton la altul folosind tasta Tab.Caption:='No'.Button2Exit(Sender: TObject).Utilizare Delphi 5 autor Popa Daniel Apare atunci când controlul pierde focus-ul. Exemple Exemplul 1 Urmãtoarea aplicaþie va folosi proprietatea ModalResult a butonului.Caption:='OK' else form1. procedure TForm1. unul având ModalResult=mrOk. Compilaþi. end.Button2Enter(Sender: TObject). metode ºi evenimente ca ºi butonul clasic. lansaþi în execuþie ºi testaþi funcþionarea programului apãsând succesiv pe cele douã butoane din fereastra a doua(Form2). begin if form2. în plus adãugânduse posibilitatea de a avea o imagine(bitmap) pe buton. iar celãlalt având ModalResult=mrNo. begin button2. begin button2. Pentru lãmuriri vezi exemplul 2.Button1Click(Sender: TObject).Caption:='Enter'. Creaþi o nouã aplicaþie care are douã form-uri(ferestre): Form1 ºi Form2.2 BitBtn(TBitBtn) Are aceleaºi proprietãþi.3.ShowModal=mrok then form1. end. iar pentru Button2 scrieþi codul urmãtor pentru tratarea evenimentelor OnEnter ºi OnExit: procedure TForm1. Pe Form1 puneþi un buton a cãrui eveniment OnClick e tratat de procedura: procedure TForm1. Compilaþi programul.Caption:='Exit'. Exemplul 2 Pentru a ilustra folosirea evenimentelor OnEnter ºi OnExit creaþi o nouã aplicaþie pe a cãrei fereastrã puneþi douã butoane: Button1 ºi Button2. Pe Form2 puneþi douã butoane. end. spre exemplu când un alt control de pe fereastrã primeºte focus-ul. Proprietãþi 29 .

ModalResult va avea valoarea mrCancel La apãsarea butonului fereastra se va închide. aºezate pe aceeaºi linie una lângã cealaltã. BlGlyphTop Pune imaginea deasupra textului. ModalResult va avea valoarea mrOk Proprietatea Layout Stabileºte poziþia imaginii pe buton. Poziþia Starea Descriere imaginii butonului Prima Sus Aceasta imagine apare dacã butonul e în poziþia ridicat. valoarea ModalResult trebuie bkCustom stabilitã manual Se poate utiliza pentru anularea unei acþiuni. ModalResult va avea valoarea mrOk Este recomandat a se utiliza dacã a apãrut o eroare iar utilizatorul doreºte sã reîncerce operaþia. BlGlyphBottom Pune imaginea sub text. Poate avea urmãtoarele valori: Valoare Descriere blGlyphLeft Pune imaginea în partea stângã a textului. Valoarea proprietãþii Default este pusã automat pe valoarea true. Putem avea maxim patru imagini în fiºierul bitmap. Proprietate Kind Stabileºte ce imagine se va afiºa pe buton. precum ºi valoarea ModalResult. Pe buton va fi afiºatã una dintre imagini în funcþie de starea butonului. A doua Dezactivat Apare dacã butonul nu poate fi selectat (proprietatea enable = false) A treia Apãsat Apare când s-a fãcut clic pe buton. Proprietatea Margin 30 . toate imaginile fiind de aceeaºi dimensiune. A patra Jos Apare dacã butonul a rãmas jos. La apãsarea butonului va fi apelat Help-ul programului. ModalResult va avea valoarea mrNo Valoarea proprietãþii Default este pusã automat pe valoarea true.Utilizare Delphi 5 autor Popa Daniel Proprietatea Glyph Care stabileºte ce imagine va fi afiºatã pe buton. Este recomandat a se utiliza dacã a apãrut o eroare iar utilizatorul doreºte sã continue operaþia Valoarea proprietãþii Cancel este setatã automat la valoarea true. Valoarea proprietãþii Default este true. Dacã nu existã alte imagini atunci aceastã imagine este utilizatã ºi pentru celelalte stãri. Valoarea proprietãþii Cancel este setatã automat la valoarea true. Poate avea urmãtoarele valori: Valoare Buton Descriere Va fi afiºatã imaginea din Glyph. BlGlyphRight Pune imaginea în partea dreaptã a textului. bkAbort bkAll bkCancel bkClose bkHelp bkIgnore bkNo bkOk bkRetry bkYes Este recomandat a se utiliza pentru selecþia a mai multor opþiuni.

Utilizare Delphi 5 autor Popa Daniel Stabileºte distanþa.1 bitmap-ul va avea înfãþiºarea din Windows 3. Proprietãþi Proprietatea AllowAllUp Determinã dacã toate butoanele ce fac parte dintr-un grup pot sã fie toate ridicate simultan sau nu.3 SpeedButton(TSpeedButton) Faþã de butonul clasic TSpeedButton-ul introduce proprietãþi care sã-i permitã lucrul în grupuri de butoane. Dacã câmpul GroupIndex este 0 atunci AllowAllUp nu are nici un efect. Proprietatea Spacing Stabileºte numãrul de pixeli dintre imagine ºi text. Proprietatea Style Determinã modul în care este afiºatã imaginea pe buton. 31 . iar la apãsarea unui alt buton butonul apãsat se va ridica. Dacã are valoarea –1 atunci textul va fi centrat între imagine ºi marginea butonului. Proprietatea Down Se foloseºte pentru a afla dacã butonul este apãsat sau nu. între imagine ºi marginea butonului. Numãrul de imagini poate fi între 1(valoare implicitã) ºi 4. Dacã are valoarea 0 atunci fiecare buton acþioneazã separat.1. altfel unul dintre butoane va fi apãsat. Proprietatea Transparent Specificã dacã fundalul butonului este transparent sau nu. Poate avea urmãtoarele valori: Valoare Descriere bsAutoDetect Dacã folosim Windows 3. bsWin31 Va folosi înfãþiºarea standard din Windows 3. în pixeli. Dacã are valoare true atunci butoanele ce fac parte din acelaºi grup pot fi toate ridicate. altfel va avea noua înfãþiºare.1 bsNew Va folosi noua înfãþiºare 4. Dacã utilizatorul apasã un buton din grup acesta rãmâne apãsat pânã când un alt buton din grup va fi apãsat. Dacã proprietatea are valoarea true putem folosi imagini(bitmap) care sã ilustreze starea butonului. iar dacã are o valoare mai mare ca 0 atunci desemneazã numãrul grupului din care face parte butonul. Proprietatea Flat Dacã are valoarea true butonul nu va fi afiºat 3D. implicit are valoarea 4. Proprietatea GroupIndex Permite sã selectãm din ce grup face parte butonul. Dacã valoarea este – 1 (valoare implicitã) atunci imaginea ºi textul vor fi centrate Proprietatea NumGlyphs Indicã numãrul de imagini care se aflã în bitmap-ul memorat în Glyph. Proprietatea este valabilã doar dacã proprietatea GroupIndex este diferitã de 0. spre exemplu în bare de butoane.3.

Sã se scrie o aplicaþie care afiºând o fereastrã pe care se aflã un buton care „fuge” ori de câte ori utilizatorul a ajuns cu mouse-ul pe el. ca titlu al ferestrei. 32 .Utilizare Delphi 5 autor Popa Daniel Întrebãri ºi probleme 1. Sã se scrie o aplicaþie care are butoane ce au altã culoare decât a ferestrei. dar nu poate ieºi în afara ferestrei. 4. 3. în funcþie de ce buton este apãsat. Cum procedãm ca un buton sã nu poatã fi selectat decât cu mouse-ul?. Sã se scrie o aplicaþie care afiºeazã o fereastrã pe care se aflã trei butoane din care unul singur poate fi selectat la un moment dat ºi care afiºeazã un mesaj. 2.

Se poate utiliza ºi pentru a afiºa un text.4 Lecþia 4 –Edit Se utilizeazã pentru a permite programului sã preia un text de la utilizator. Se pune pe valoarea true dacã e mai probabil ca utilizatorul sã înlocuiascã textul existent decât sã adauge ceva la el. Dacã are valoare false atunci la pierderea focusului textul rãmâne selectat. iar lungimea textului selectat e memoratã în SelLength. ParentColor. mici sau combinat). ºi atunci are valoarea bsNone. Proprietatea BorderStyle Determinã dacã controlul va avea o bordurã. Poziþia de început a selecþiei este memoratã în proprietatea SelStart. Proprietãþile ImeMode ºi ImeName Se utilizeazã pentru a stabili anumite opþiuni pentru editorul IME ce se utilizeazã pentru limbile asiatice. Proprietatea OEMConvert Dacã are valoare true atunci caracterelor vor fi „traduse” din ANSI în OEM ºi invers pentru a elimina caracterele ce nu pot fi folosite la denumirea unui fiºier. ParentShowHint Au valoarea true dacã se doreºte ca proprietatea a cãrei nume apare dupã Parent sã aibã aceeaºi valoare ca ºi a pãrintelui(cu a componentei pe care se aflã aºezat) 33 . Proprietatea MaxLength Stabileºte numãrul maxim de caractere ce poate fi introdus. Se poate accesa textul selectat prin intermediul proprietãþii SelText. dacã nu existã posibilitatea ca textul sã fie trunchiat. Proprietatea poate lua urmãtoarele valori: Valoare Descriere ecLowerCase Literele sunt transformate în litere mici ecNormal Se pot utiliza atât litere mari cât ºi litere mici ecUpperCase Literele sunt transformate în litere mari Proprietatea HideSelection Determinã dacã textul rãmâne selectat atunci când controlul pierde focusul. Proprietatea CharCase Determinã ce fel de litere se pot folosi(mari. Proprietatea AutoSize Dacã are valoarea true atunci controlul îºi va modifica înãlþimea dacã înãlþimea textului se schimbã. Proprietãþi Proprietatea AutoFocus Dacã are valoarea true atunci textul va fi selectat când controlul va primi focus-ul.Utilizare Delphi 5 autor Popa Daniel 4. Dacã are valoarea 0 atunci nu existã nici un fel de limitare. ParentCtl3D. Proprietãþile ParentBiDiMode. ºi atunci are valoarea bsSingle. sau nu. ParentFont.

Proprietatea poate fi utilizatã pentru a prelua ceea ce a tastat utilizatorul.Utilizare Delphi 5 autor Popa Daniel Proprietatea PasswordChar Specificã ce caracter se va afiºa dacã se doreºte citirea unei parole care nu trebuie sã aparã pe ecran. Proprietatea ReadOnly Dacã are valoarea true nu se va putea modifica conþinutul Edit-ului. 34 . Proprietatea Text Conþine textul ce se afiºeazã în Edit. Dacã are valoarea #0 atunci caracterele se vor afiºa normal.

Sign up to vote on this title
UsefulNot useful