delphi 2005 manuald

Upload: adrianaracheriu

Post on 07-Apr-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 delphi 2005 manuald

    1/34

    Utilizare Delphi 5 autor Popa Daniel

    1

    1.Introducere

    Lucrarea este destinat celor care doresc s dezvolte aplicaii Windows utilizndmediul de programare Delphi. Am ales Delphi-ul deoarece este uor de nvat, fiind foarteasemntor cu limbajul Pascal care este predat n liceu. Un alt motiv pentru care am ales

    mediul Delphi este c n urma compilrii programelor se obin executabile mici ce ruleazrapid i nu necesit librrii ca s poat rula(un program similar scris n Visual Basic necesitcca. 5 Megabytes de librrii).

    Pentru a putea nelege i folosi acest manual este necesar ca utilizatorul s cunoascbine 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 cunoaterea principiilorprogramrii ntr-un astfel de limbaj pentru realizarea unor programe simple. Dac se doreterealizarea unor componente pentru Delphi sau modificarea unora dintre cele existente atunci

    este necesar cunoaterea principiilor programrii 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 conin toate facilitile variantei Enterprise.Resursele necesare instalrii i rulrii 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 rezoluie de 800x600 Mouse

    CD-ROM

  • 8/6/2019 delphi 2005 manuald

    2/34

    Utilizare Delphi 5 autor Popa Daniel

    2

    2. Prezentarea mediului DELPHI 5

    La pornirea Delphi-ului acesta va arta ca n figura de mai jos:

    Din bara de meniuri pot fi accesate meniurile Delphi-ului, bara de butoane permindaccesul 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 mprite pe mai multepagini, existnd i posibilitatea adugrii unor pagini noi i a unor componente noi.

    n partea stng a imaginii poate fi observat inspectorul de obiecte (object inspector)cu ajutorul cruia pot fi modificate proprietile obiectelor(Properties) i pot fi stabilite cerutine (proceduri) vor fi executate n momentul apariiei unor evenimente(Events).

    Bara demeniuri

    Bare butoane Paleta de componente Pagini ale paletei decomponente

    Inspectorul

    de obiecte

    Fereastra proiectului

    nou nceput

  • 8/6/2019 delphi 2005 manuald

    3/34

    Utilizare Delphi 5 autor Popa Daniel

    3

    2.1 Principalele meniuri i comenzi(bara de meniuri)

    Meniul File

    Se utilizeaz a deschide, salva, nchide, tipri proiecte sau fiiere noi sau existente, pentruadugarea unor noi ferestre(form) sau uniti de program(unit) proiectului deschis

    n meniu putem gsi urmtoarele opiuni: New deschide o fereastr de dialog de unde putem alege ce obiect dorim s crem,

    sau putem selecta un vrjitor (wizard) care s ne ajute la crearea unui nou obiect.

    New Application creeaz un nou proiect care conine o fereastr goal, un unit i unfiier 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 ncrcarea unui proiect, fereastr, unit

    sau fiier text. Open Project deschide o fereastr de dialog pentru ncrcarea unui proiect existent (

    fiiere cu extensia BPR sau BPK) Reopen deschide un meniu care conine cele mai noi proiecte sau module utilizate Save salveaz fiierul curent Save As salveaz fiierul curent utiliznd un nume nou Save Project As salveaz proiectul curent cu un nume nou

    Save All salveaz toate fiierele deschise Close nchide proiectul curent i toate fiierele asociate Close All nchide toate fiierele deschise Use Unit adaug unit-ul selectat la clauza uses a modulului activ

    Print tiprete fiierul curent Exit nchide proiectul i prsete mediul Delphi

    Meniul Edit

    Se utilizeaz pentru a manipula text sau componente n timpul crerii programului.n meniu pot fi gsite urmtoarele opiuni:

    Undo/Undelete anuleaz ultima aciune sau tergere Redo anuleaz ultima operaie de undo Cut mut obiectul selectat n Clipboard

    Copy copiaz obiectul selectat n Clipboard

    Paste copiaz coninutul Clipboard-ului la poziia 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 proporional toate componentele din fereastr Tab Order modific ordinea n care se sare apsnd tasta Tab

    Creation Order modific ordinea n care sunt create componentele nevizuale

  • 8/6/2019 delphi 2005 manuald

    4/34

    Utilizare Delphi 5 autor Popa Daniel

    4

    Flip Children mut obiecte n oglind e util pentru cazul n care nu se citete de lastnga la dreapta ci invers

    Lock Controls Secures nepenete toate componentele n poziiile curente Add to interface definete o nou metod, un nou eveniment, o nou proprietate

    pentru o component ActiveX

    Meniul SearchMeniul se utilizeaz pentru a cuta text, obiecte, erori, unit-uri, variabile i simboluri neditorul de cod(fereastra n care se editeaz codul).

    n acest meniu putem gsi opiunile: Find caut un text specificat i marcheaz prima apariie a acestuia n editorul de cod Find in Files caut textul specificat i afieaz fiecare potrivire n fereastra aflat sub

    editorul de cod

    Replace caut textul specificat i-l nlocuiee cu un altul Search Again repet ultima cutare

    Incremental Search caut textul pe msur ce este scris

    Go to Line Numbermut cursorul la linia specificat

    Find Error

    caut ultima eroare de rulare Browse Symbol caut dup un anumit simbol

    Meniul View

    Se utilizeaz pentru a afia sau ascunde diverse elemente ale mediului Delphi.n meniu putem gsi urmtoarele opiuni:

    Project Manager afieaz managerul de proiect, acesta poate fi utilizat pentru anaviga prin fiierele proiectului, pentru a le copia, terge, aduga, salva.

    Translation Manager afieaz managerul pentru traduceri Object Inspector afieaz inspectorul de obiecte To-Do List face vizibil lista cu ceea ce trebuie fcut n proiect

    Alignment Palette afieaz o fereastr n care se gsesc opiuni destinate alinieriiobiectelor

    Browser afieaz o fereastr n care pot fi vizualizate unit-urile i clasele utilizate nproiect

    Code Explorer face vizibil editorul de cod

    Component List afieaz o list cu toate componentele Delphi-ului Window List face vizibil o list cu toate ferestrele Delphi-ului care sunt deschise

    Debug Windows afieaz un meniu din care pot fi alese ce ferestre pentru depanareaprogramului vor fi afiate (puncte de ntrerupere, apeluri ale subprogramelor,variabile, fire de execuie, module, CPU, FPU )

    Desktops permite afiarea, salvarea sau tergerea diverselor moduri de aezare aferestrelor

    Toggle Form/Unit comut ntre fereastr i unit-ul corespunztoe Units afieaz o list cu toate unit-urile proiectului Forms afieaz o list cu toate ferestrele(form) existente n proiect Type Library afieaz editorul pentru librrii de tipuri (Type Library), util pentru a

    crea tipuri de informaii pentru controale ActiveX, 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

  • 8/6/2019 delphi 2005 manuald

    5/34

    Utilizare Delphi 5 autor Popa Daniel

    5

    Meniul Project

    Este utilizat pentru a compila o aplicaie. Pentru ca opiunile din meniu s poat fi folosite enecesar s fie deschis un proiect.

    n meniu avem urmtoarele comenzi: Add to Project adaug un fiier proiectului Remove from Project elimin un fiier din proiect Import Type Library afieaz o list cu librriile de tipuri nregistrate n sistem

    pentru a fi adugate la proiect.

    Add to Repository adaug proiectul la lista de obiecte ce pot fi create, din meniul

    File opiunea New. View Source afieaz sursele proiectului n editorul de cod Languages permite adugarea, eliminarea sau rennoirea DLL-urilor pentru limb

    Add New Project adaug la proiect o nou aplicaie, un nou DLL Add New Project adaug la proiect un altul existent

    Compile project compileaz doar acele fiiere care au fost modificate de la ultimacompilare

    Build project compileaz toate modulele proiectului

    Syntax Check project

    verific sintactic toate modulele proiectului Information for project afieaz informaii despre proiectul compilat (nr. de linii,

    dimensiunea programului rezultat )

    Compile All Projects compileaz toate fiierele care au fost modificate de la ultimacompilare n toate proiectele din grupul de proiecte

    Build All Projects compileaz toate fiierele n toate proiectele din grupul deproiecte

    Web Deployment Option se utilizeaz pentru a configura controalele ActiveX sau

    ActiveForm n vederea adugrii lor la serverul web.

    Web deploy adaug controalele ActiveX sau ActiveForm, dup configurarea acestora

    Options afieaz o fereastr de dialog n care se modific opiunile pentru compilare,linkeditare etc.

    Meniul Run

    Meniul permite depanarea programelor.

    n acest meniu se afl urmtoarele opiuni: Run compileaz i execut aplicaia Attach to Process afieaz o list cu procesele care pot fi depanate Parameters de aici se pot specifica: parametrii cu care va fi lansat n execuie

    aplicaia, executabilul corespunztor unu DLL, un calculator pentru depanarea ladistan

    Register ActiveX Server adaug o intrare n regitrii Windows-ului pentru controlulActiveX , e valabil comanda atunci cnd avem un proiect ActiveX.

    Unregister ActiveX Server

    terge intrarea n regitrii Windows-ului pentru controlulActiveX , e valabil comanda atunci cnd avem un proiect ActiveX.

    Install MTS Object Instaleaz obiectele MTS din proiect ntr-um pachet MTS,

    comand valabil doar dac proiectul curent este un obiect MTS(Microsoft transaction

    server)

    Step over execut un program linie cu linie, srind peste proceduri, tratndu-le ca

    fiind o singur instruciune Trace Into execut un program linie cu linie, intrnd n proceduri

  • 8/6/2019 delphi 2005 manuald

    6/34

    Utilizare Delphi 5 autor Popa Daniel

    6

    Trace to Next Source execut un program, oprindu-se la urmtoarea linie executabil

    din program

    Run To Cursor Execut programul curent pn la poziia cursorului din editorul decod

    Run Until Return execut procesul pn la ieirea din funcia curent Show Execution Point poziioneaz cursorul la linia care se execut Program Pause oprete temporar execuia programului ce ruleaz Program Reset termin execuia programului ce ruleaz i elibereaz memoria

    ocupat de ctre acesta

    Inspectdeschide o fereastr n care putem scrie numele variabilei ce se inspecteaz

    Evaluate/Modify afieaz o fereastr n care putem evalua sau modifica valoareaunei expresii.

    Add Watch afieaz o fereastr n care putem scrie mai multe variabile a cror valoridorim s le urmrim

    Add Breakpoint afieaz un meniu din care putem aduga, modifica puncte dentrerupere

    Meniul ComponentDin acest meniu se pot gestiona componentele instalate.

    Opiunile acestui meniu sunt: New Component deschide o fereastr cu ajutorul creia se pot crea noi componente

    Install Component instaleaz o nou component existent

    Import ActiveX Control adaug o librrie de tipuri de controale ActiveX

    Create Component Template salveaz componente modificate ca abloane cu un nounume, o nou icoan, pe o nou pagin

    Install Packages instaleaz un pachet de componente

    Configure Palette deschide o fereastr din care se poate configura paleta de

    componente, se pot terge, ascunde, muta componente dintr-o pagin n alta

    Meniul Database

    Din acest meniu se pot crea, modifica, urmri i vizualiza bazele de date.Meniul conine urmtoarele opiuni:

    Explore lanseaz n execuie Database Explorer sau SQL Explorer, cu ajutorulcrora se pot crea i manipula baze de date

    SQL Monitor lanseaz SQL Monitor cu ajutorul cruia se pot urmri 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 configuraia mediului de programare- A vizualiza sau modifica configuraia depanatorului- A modifica obiectele ce pot fi create cu Delphi-ul

    - A modifica lista programelor ce apar n acest meniu

    - A crea sau modifica tabele ale bazelor de date

    - A crea sau modifica pachete de componente

    - A crea sau modifica imagini

  • 8/6/2019 delphi 2005 manuald

    7/34

    Utilizare Delphi 5 autor Popa Daniel

    7

    n acest meniu putem avea: Enviroment Options specific configuraia dorit, cile ctre librrii, paleta de

    componente

    Editor Options de aici se configureaz editorul de cod (culori, taste rapide, indentri

    etc)

    Debugger Option configurare program de depanare

    Repository gestioneaz modul de organizare a obiectelor ce pot fi create cu opiuneaNew din meniul File

    Translation Repository afieaz translation repository, cu care por fi fcute traduceri Configure Tools cu ajutorul aceste opiuni pot fi adugate, terse sau modificate

    opiuni ce apar n acest meniuUnelte opionale:

    Database Desktop lanseaz un utilitar cu ajutorul cruia putem crea, vizualiza,

    sorta, modifica i interoga baze de date. Package Collection Editor editor de pachete

    Image Editor lanseaz un utilitar cu ajutorul cruia putem edita fiiere de resurse,icoane, bitmap-uri i cursoare care s fie folosite n aplicaii

    Team Source

    lanseaz un program destinat gestionrii unor proiecte dezvoltate dectre grupuri de programatori.

    Meniul Help

    Se utilizeaz pentru a accesa help-ul sistemului.n acest meniu putem gsi urmtoarele opiuni:

    Delphi Help deschide help-ul Delphi-ului

    Delphi Tools deschide help-ul destinat uneltelor din Delphi.

    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 Supportsalt la pagina web destinat programatorilor

    Delphi Direct

    legtur direct ctre pagina Delphi-ului

    Customize permite gestionarea help-ului

    Aboutinformaii despre copyright i versiune

    2.2 Bara de butoanePe bara de butoane se afl scurtturi ctre cele mai utilizate comenzi.

    New Open Reopen Save Save all

    Open project

    Add to project

    Remove from project

    Help

    Units Forms Toggle New form Run Pause Trace into Step over

  • 8/6/2019 delphi 2005 manuald

    8/34

    Utilizare Delphi 5 autor Popa Daniel

    8

    2.3 Paleta de componentePaleta de componente a Delphi-ului este mprit n mai multe pagini, n interiorul

    fiecrei pagini existnd un numr variabil de componente. Structura paginilor poate fi

    schimbat, utilizatorul avnd posibilitatea s creeze pagini noi, componente noi, poate s

    tearg componente sau poate s le reordoneze.Pentru a obine informaii generale despre pagina activ utilizatorul poate apsa tasta

    F1. Dac o component este selectat n momentul apsrii tastei F1 atunci vor fi afiateinformaii despre componenta respectiv.

    Componentele pot s fie:

    Vizibile - componenta este vizibil, sau poate fi fcut vizibil n timpul rulrii

    programului, spre exemplu butoanele

    Invizibile componenta apare sub forma unei imagini la scrierea programului,

    dar n timpul rulrii nu e vizibil, spre exemplu timer-ul

    Fiecare component are anumite atribute cu ajutorul crora controlam aplicaia : Proprietile(properties) ne permit accesul la metodele sau cmpurile unei

    clase.

    Metode(methods) proceduri i funcii asociate unui obiect

    Evenimentele(events)

    sunt aciuni ale utilizatorului, ex. apsarea unui buton,sau ale sistemului de operare recunoscute de ctre component. Fiecarecomponent are o list de evenimente pe care le recunoate i la care poaterspunde. Exist posibilitatea de a asocia un cod care s se execute fiecrui

    eveniment.n tabelul de mai jos sunt prezentate paginile paletei de componente, precum i o

    descriere scurt a coninutului fiecrei pagini.Nume Descriere

    Standard Controale standard: butoane, meniuri, etichete

    Additional Controale specializate: butoane ce pot conine imagini, liste derulanteWin32 Controale pentru Windows9x/NT: calendar, bare de stare,

    System Componente i controale destinate lucrului cu sistemul: timer, media playerData Access Componente invizibile cu ajutorul crora se poate realiza conectarea la

    diferite baze de date utiliznd Borland Database Engine (BDE)

    Data Controls Componente vizuale destinate accesului(vizualizare, tergere, modificare,adugare date) la bazele de date

    ADO Componente ce permit conectarea la baze de date folosind ActiveX Data

    Objects (ADO)

    Interbase Componente ce permit conectarea la un server Interbase fr BDE sau ADO

    Midas Componentele din aceast pagin permit lucrul cu baze de date distribuite

    InternetExpress Componentele din aceast pagin permit construirea de aplicaiiInternetExpress care sunt simultan aplicaii Web Server i clieni pentrubaze de date distribuite

    Internet Suport pentru crearea aplicaiilor pentru InternetFastNet Ofer o varietate de protocoale de acces la InternetDecision Cube Componente care vizualizeaz datele din bazele de date ajutnd la luarea

    deciziilor

    Quick Report Componente ce ajut la crearea unor rapoarte

    Win3.1 Componente pentru compatibilitatea napoi cu Delphi 1 (a nu se folosi)

    Samples Exemple de componente (sursele lor se gsesc: Delphi5\source\samples)

    ActiveX Componente model de tip ActiveX

    Servers Componente destinate accesului la diferite servere

  • 8/6/2019 delphi 2005 manuald

    9/34

    Utilizare Delphi 5 autor Popa Daniel

    9

    2.4 Inspectorul de obiecte (object inspector)

    Inspectorul de obiecte este utilizat pentru a modifica

    proprietile obiectelor i a scrie rutinele de tratare aevenimentelor. Acesta este prevzut cu dou pagini:

    Properties care permite stabilirea

    proprietilor obiectelor Events destinat gestionrii evenimentelor

    legate de componente.

    Pagina Properties

    Este prevzut cu dou coloane:

    - pe coloana stng sunt listate denumirile proprietilor

    - pe coloana dreapt avem valorile actuale ale acestora

    Atribuirea unei valori se poate face n trei moduri:

    - prin linia de editare aferent proprietii(ex. Caption)

    - prin list derulant(ex. BorderStyle)

    - prin intermediul unei ferestre de dialog(ex. Font)

    Anumite proprieti (ex. Color) admit dou modaliti de

    atribuire a unei valori, prin list derulant, sau dac se d dublu

    clic, prin fereastr de dialog.

    La unele proprieti (ex. BorderIcons, Constrains) numele este

    precedat de un semn plus. n aceste cazuri proprietatearespectiv desemneaz o list de proprieti.

    Pagina Events

    Este prevzut cu dou coloane:

    - pe coloana stng sunt listate denumirile evenimentelor

    - pe coloana dreapt avem procedurile ce trateaz evenimentele

    Atribuirea unei valori se poate face n dou moduri:

    - prin linia de editare, se d dublu clic pe coloana din dreapta, corespunztoareevenimentului pe care dorim s-l tratm, iar Delphi-ul deschide editorul de cod i nepermite scrierea codului ce se dorete a fi executat la apariia evenimentului respectiv.Antetul procedurii(metodei) de tratare a evenimentului este scris automat de ctre

    editor. Dac procedura aferent unui eveniment nu conine nici o linie de cod aceastava fi tears.

    - prin list derulant, din care se poate alege o procedur care a fost definit de

    programator anterior, dac de dorete s se execute aceeai rutin pentru mai multeevenimente.

  • 8/6/2019 delphi 2005 manuald

    10/34

    Utilizare Delphi 5 autor Popa Daniel

    10

    3. Gestiunea componentelor

    3.1 Aezarea componentelor pe o form(form)Pentru a aeza o component se poate proceda astfel:- Se efectueaz un clic de mouse pe simbolul grafic al componentei

    - Se efectueaz un clicn poziia

    n care se dorete plasarea colului st

    nga sus acomponentei.

    O alt posibilitate de a aeza o component, dar de aceast dat n centrul ferestrei este dea da dublu clic pe aceasta.

    Dac se dorete adugarea mai multor componente identice atunci se procedeaz astfel:- Se apas tasta SHIFT

    - Se efectueaz clic pe simbolul grafic al componentei dorite, dup ace se poate

    elibera tasta SHIFT

    - Se poziioneaz obiectul n poziiile dorite- Pentru revenirea la normal se va efectua un clic pe simbolul sgeii, aflat n partea

    din stnga a paginii cu componente.

    Delphi-ul conine i anumite componente destinate gruprii mai multor componente:

    GroupBox, RadioGroup i Panel. Aceste componente container permit gestionare mai uoara componentelor coninute: se pot muta simultan, pot fi modificate anumite proprietisimultan(font, culoare)

    3.2 Manipularea componentelor aezateOperaiile se pot executa asupra unei componente doar dac aceasta este selectat.

    Putem selecta o component n mai multe moduri:

    - Se efectueaz clic n interiorul componentei

    - Se alege obiectul din lista derulant a inspectorului de obiecte

    - Dac focarul este pe fereastr se poate trece de la o component la alta cu tasta TAB

    n anumite cazuri este necesar realizarea unei operaii asupra mai multor componente.Pentru aceasta este necesar selectarea obiectelor asupra crora se va efectua operaia. Putemselecta un grup de obiecte n dou moduri:

    - Cu tasta SHIFT apsat executm clic pe fiecare din componentele dorite

    - Realizm un dreptunghi imaginar prin apsarea butonului stng al mouse-ului imicarea acestuia astfel nct s cuprindem n interiorul dreptunghiuluicomponentele dorite.

    Dac de dorete selectarea tuturor obiectelor se poate alege opiunea Select All din meniulEdit.

    Asupra obiectelor selectate se pot aplica comenzile(ce se gsesc n meniul Edit):

    Cut mut obiectele selectate n clipboard

    Copy copiaz obiectele selectate n clipboard

    Paste copiaz din clipboard

    Deleteterge obiectele selectate

    Align to Grid aliniaz toate componentele la cele mai apropiate puncte de reea Bring to Front deplaseaz componentele selectate n faa celorlalte componente Send to back deplaseaz componentele selectate n spatele celorlalte componente

    Align afieaz o fereastr de dialog cu ajutorul creia un grup de componente pot fialiniate (dup cea mai din stnga, cea mai din dreapta, cea mai de sus )

    Size afieaz o fereastr de dialog cu ajutorul creia se pot redimensionacomponentele selectate(la dimensiunea celei mai mari, celei mai mici componente )

    Scale se pot scala (mri sau micora)procentual componentele selectate

  • 8/6/2019 delphi 2005 manuald

    11/34

    Utilizare Delphi 5 autor Popa Daniel

    11

    Tab Order afieaz o fereastr de dialog cu ajutorul creia putem schimba ordineade parcurgere a componentelor, acesta se parcurg n ordine cu Tab sau cu Shift+Tab

    n ordine invers

    Creation Order afieaz o fereastr de dialog din care putem schimba ordinea decreare a obiectelor

    Lock blocheaz/deblocheaz o component

    Comenzile Align to Grid, Bring to Front, Send to Back, Align, Size, Scale, TabOrder, Creation Order mai pot fi gsite i n meniul care apare dac executm clic dreaptape un obiect.

    Dac se dorete se poate face vizibil o palet de comenzi destinate alinierii obiectelor(meniul View opiunea Alingment Palette).

  • 8/6/2019 delphi 2005 manuald

    12/34

    Utilizare Delphi 5 autor Popa Daniel

    12

    4 Programarea n Delphi

    4.1 Lecia 1 Programarea orientat pe obiect (OOP)

    Noiunea de obiect. Caracteristici.

    Ideea OOP este de a pune la un loc, ntr-un singur container, att datele ct i partea decod(proceduri i funcii, care poart denumirea de metode) . Containerul se numete obiect.

    Obiectul relev utilizatorului (programatorului care utilizeaz obiectul) doar ceea ce

    este necesar, astfel nct utilizarea obiectului s fie ct mai uoar. Toate mecanismele internepe care utilizatorul nu are nevoie s le cunoasc sunt ascunse. OOP permite o abordare

    modular a programrii, ceea ce ne ferete de necesitatea rescrierii unor pri de cod.O alt caracteristic important a obiectelor este motenirea. Prin motenire se nelege

    acea proprietate a obiectelor prin care un obiect nou construit preia datele i metodele unui altobiect, printe. Aceast caracteristic ne permite scrierea rapid i uoar a unor obiecteasemntoare, care au unele date i metode comune.

    Se poate ntmpla ca anumite metode a unei clase s fie rescrise, astfel nct, chiar

    dac o clas descendent are metode cu acelai nume, s fac cu totul altceva. Aceastcaracteristic poart denumirea de polimorfism.

    Noiunea de clas. Caracteristici.O clas sau un tip de clas definesc o structur ce conine cmpuri, metode i

    proprieti. Instana unui tip de clas poart denumirea de obiect1.Un cmp este de fapt o variabil care face parte dintr-un obiect. La fel ca i cmpurile

    unui record, cmpul unei clase reprezint o dat care exist n fiecare instan a unei clase.O metod este o procedur sau o funcie asociat cu o clas. Majoritatea metodelor

    opereaz asupra obiectelor, care sunt instane ale claselor.O proprietate este o interfa pentru data asociat unui obiect(dat care de obicei este

    stocat ntr-un cmp). Proprietile au specificatori de acces care determin modul n care

    datele pot fi citite sau modificate. Din program, din afara obiectului, o proprietate apare celmai adesea la fel ca un cmp.

    Pentru obiecte se aloc dinamic blocuri de memorie a cror structur este determinat

    de tipul de clas. Fiecare obiect are o copie unic a fiecrui cmp definit n clas, dar toate

    instanele unei clase mpart aceleai metode. Obiectele sunt create i distruse cu ajutorul unormetode speciale numite constructori i destructori.

    Constructorul este o metod utilizat pentru crearea unei instane a unei clase. Arerolul de a iniializa unele cmpuri, de a aloca memorie, sau a face tot ceea ce este necesariniializrii obiectului. Nu este obligatoriu s definim un constructor, dac acesta nu a fostdefinit se utilizeaz constructorul implicit Create.

    Destructorul este o metod special care este apelat automat la distrugerea obiectului.

    De obicei destructorul este vzut ca fiind inversul constructorului, el ocupndu-se de

    dezalocarea memoriei alocate clasei. Nu este obligatoriu ca fiecare clas s aib un destructor.

    Vizibilitatea membrilor unei clase.

    Fiecare membru a unei clase are un atribut denumit vizibilitate, care este indicat de

    unul dintre cuvintele rezervate: private, protected, public, published.

    Vizibilitatea determin modul n care membrii pot fi accesai:

    1 n Pascal standard noiunea de clas nu exist, ea fiind nlocuit cu cea de obiect, de aici pot aprea anumiteconfuzii. Definiia de mai sus e valabil pentru Delphi, nu i pentru Pascal.

  • 8/6/2019 delphi 2005 manuald

    13/34

    Utilizare Delphi 5 autor Popa Daniel

    13

    Private un membru private este invizibil n afara clasei n care este declarat, altfel

    spus o metod declarat ca fiind private nu poate fi apelat din alt modul, iar un cmp

    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 ntoate clasele descendente.

    Public un membru public este vizibil n exteriorul clasei.

    Published acest mod de acces este utilizat atunci cnd se scriu componente. Toimembrii declarai n aceast zon vor fi vizibili n Object Inspector.

    n scrierea programelor Delphi este utilizat foarte mult OOP deoarece se utilizeaz nspecial componente. Aceste componente sunt obiecte (dar nu toate obiectele sunt

    componente!) care fie sunt create de utilizator, fie sunt venite mpreun cu Delphi-ul, i pot fireutilizate n orice alt program.

    Prezint mai jos o component TAnimate2 derivat din Tanimate :

    typeTAnimate2 = class(TAnimate)private

    { Private declarations, tot ceea ce e declarat mai jos nu e vizibil n afara clasei}fhintimage:Tbitmap;fhintcolor:Tcolor;fshowimage:boolean;{ Proceduri si functii}procedure SetHintImage(v:Tbitmap);procedure SetHintColor(v:Tcolor);procedure setshowimage(v:boolean);procedure afisimg(Sender:TObject);procedure CMHintShow(var Message: TMessage); message CM_HINTSHOW;

    protected{ Protected declarations }

    public{ Public declarations }

    constructor Create(AOwner:TComponent);override;destructor Destroy;override;published

    { Published declarations }{pentru a citi proprietatea HintImage se citete din variabila fhintimage, iar pentru a o scrie

    se folosete procedura SetHintImage}property HintImage:Tbitmap read fhintimage write SetHintImage;{proprietatea de mai jos are definit i o valoare implicit(clwhite - culoarea alb)}property HintTransparentColor:Tcolor read fhintcolor write SetHintColor default clwhite;property ShowHintImage:boolean read fshowimage write SetShowImage default false;property active;property align;property Anchors;property Autosize;property BorderWidth;property Center;property Color;property CommonAVI;property Constraints;property Cursor;property FileName;property Height;property HelpContext;property Hint;property Left;

  • 8/6/2019 delphi 2005 manuald

    14/34

    Utilizare Delphi 5 autor Popa Daniel

    14

    property Name;property ParentColor;property ParentShowHint;property Repetitions;property ShowHint;property StartFrame;property StopFrame;

    property Tag;property Timers;property Top;property Transparent;property Visible;property Width;{********Evenimente}property OnClose;property OnOpen;property OnStart;property OnStop;property OnClick;property OnMouseMove;

    end;

    n exemplul de mai sus ai observat c a aprut override, care ne indic c acea metod poatefi rescris, astfel nct ntr-o clas derivat metoda respectiv va putea executa un cu totul alt

    cod. Dac se dorete ca utilizatorul s fie obligat s rescrie metoda atunci se poate adugvirtual n dreptul metodei.

    ntrebri i probleme

    1. Ce este un obiect?

    2. Cum pot ascunde o metod, dar clasele derivate s o poat apela?

    3. Ce este o clas?

    4. Care este diferena dintre clasi obiect?

    5. Din ce cauz avem metode i cmpuri private?

    6. Cnd este apelat destructorul unei clase?

  • 8/6/2019 delphi 2005 manuald

    15/34

    Utilizare Delphi 5 autor Popa Daniel

    15

    4.2 Lecia 2 Form(TForm)

    Pentru descrierea formelor pot fi utilizate 50 de proprieti, care pot fi stabilite n

    perioada de elaborare a proiectului prin intermediul inspectorului de obiecte. Formele pot s

    reacioneze la 34 de evenimente. Scopul acestui capitol este prezentarea celor maiimportante proprieti, metode i evenimente referitoare la forme. Se menioneaz faptul, c

    majoritatea proprietilor i evenimentelor formelor sunt identice cu proprietile ievenimentele referitoare la majoritatea componentelor. Astfel, de exemplu, atributul Width al

    unei forme descrie limea formei, iar n context cu o component acest atribut se va referi la

    limea componentei. Evenimentul OnClick n contextul formelor se refer la efectuarea unui

    clic pe form, iar n context cu componentele evenimentul se refer la efectuarea unui clic pe

    component.

    Proprietile formelor

    Proprietatea Action

    Este utilizat pentru centralizarea rspunsurilor la comenzile date de utilizator.

    Majoritii componentelor li se poate asocia o aciune, aciunile fiind centralizate igestionate folosind componenta ActionList din pagina standard.

    Proprietatea ActiveControl

    Este utilizat atunci, cnd pe form au fost aezate mai multe componente i se doretespecificarea componentei care s fie n focar, n momentul iniial. Prin efectuarea unuiclic pe butonul sgeat jos situat n coloana de valori se poate deschide o list, careconine numele tuturor componentelor formei, care pot fi n focar. Din lista afiat,printr-un clic, se poate selecta componenta necesar. La un moment dat numai o singur

    component poate s fie n focar. Proprietatea ActiveControl poate fi utilizat i n

    execuie. Dac n aceast proprietate se ncarc un alt nume de component, atuncicomponenta respectiv va fi pus n focar. Prin testarea valorii ataat acestei proprietise poate decide care anume component este n focar la un moment dat. Dac forma nu

    este n focar, componenta memorat n ActiveControl desemneaz acea component,

    care va ajunge n focar n momentul n care forma va reobine focarul.

    Proprietatea Align

    Se utilizeaz pentru a alinia componentele sus, la stnga, jos sau la dreapta pe o form

    sau panel, acestea rmnnd pe poziie chiar dac forma sau panelul se redimensioneaz.Valoarea implicit este alNone, ceea ce nseamn c obiectul rmne acolo unde a fost

    poziionat.

    Proprietatea Anchors

    Se utilizeaz pentru a ne asigura c obiectul i pstreaz poziia relativ la marginile

    printelui(a componentei care o conine), chiar dac componenta printe este redimensionat.Cnd printele este redimensionat obiectul i pstreaz poziia relativ la marginile de care afost ancorat.

    Proprietatea AutoScroll (boolean)

    Se refer la modul de utilizare a barelor de defilare ataate formei. n cazul n care sealege valoarea True, care este i valoarea implicit, atunci n caz de nevoie, n execuie,forma va fi prevzut cu bare de defilare. Aceste bare vor apare atunci cnd utilizatorul

    a redimensionat forme pri care componentele aezate pe form devin invizibile. Dac

  • 8/6/2019 delphi 2005 manuald

    16/34

    Utilizare Delphi 5 autor Popa Daniel

    16

    se alege valoarea False, nu se vor aeza n mod automat bare de defilare la formaredimensionat. n acest caz ataarea barelor de defilare poate fi realizat prinintermediul proprietilor HorzScrollBar.

    Proprietatea AutoSize(boolean)Se utilizeaz atunci cnd se dorete ca obiectul s se redimensioneze automat. Dac epus pe true atunci se redimensioneaz automat dac coninutul se schimb.

    Proprietatea BidiMode

    Permite ajustarea modului de afiare i a comportamentului automat atunci cndaplicaia ruleaz ntr-o zon n care se citete de la dreapta la stnga i nu de la stnga ladreapta.

    Proprietate compus BorderIcons

    Se refer la existena n linia de titlu a formei meniului sistem i a butoanelor deminimizare i maximizare. Aceast proprietate este de tip mulime, valorile posibile

    fiind urmtoarele:Valoare SemnificaiebiSistemMenu Forma este prevzut cu meniul sistem (control)

    biMinimize Forma este prevzut cu un buton de minimizare

    biMaximize Forma este prevzut cu un buton de maximizare

    biHelp Dac proprietatea BorderStyle conine valoarea bsDialog sau dac suntexcluse valorile biMinimize i biMaximize, atunci n bara de titlu va apare unsemn de ntrebare. Dac se efectueaz un clic pe acest semn, cursorul de

    mouse va avea forma definit de comanda crHelp.

    Valoarea implicit a proprietii BorderIcons este (biSystemMenu, biMinimize,

    biMaximize).

    Proprietatea BorderStyle

    Se refer la stilul chenarului formei. Valorile posibile ale acestei proprieti sunturmtoarele:

    Valoare SemnificaiebsDialog Chenar neredimensionabil; chenarul standard al ferestrelor de dialog.

    bsSingle Chenar neredimensionabil, desenat cu o linie simpl.

    bsNone Chenar neredimensionabil, desenat cu linie invizibil.

    bsSizeable Chenar redimensionabil standard.

    bsToolWindow Similar cu bsSingle, dar este prevzut cu un mic titlu.

    bsSizeToolWin Similar cu bsSizeable, dar este prevzut cu un mic tilu.

    Proprietatea BorderWidth(de tip word)

    Se utilizeaz pentru controlul bordurii. Bordura este zona din imediata apropiere a

    marginilorn care nici o component nu poate fi plasat.

    Proprietatea Capiton (de tip string)

    Specific un ir de caractere care este afiat n linia de titlu al formei, de exemplu Form1. n cazul componentelor aceast proprietate desemneaz eticheta ataat componentei.n acest ultim caz litera precedat de caracterul & este litera de selecie acomponentei (litera de selecie este subliniat i componenta poate fi selectat princombinaia Alt litera subliniat).

  • 8/6/2019 delphi 2005 manuald

    17/34

    Utilizare Delphi 5 autor Popa Daniel

    17

    Proprietile ClientHeight i ClientWidth (de tip integer)Se refer la nlimea i limea zonei client a formei. Aceste valori sunt specificate npuncte. Zona client este aria utilizabil n interiorul chenarului formei.

    Proprietile Color (de tip Tcolor=longint)

    Stabilete culoarea de fond a formei. Pentru iniializarea valorii acestei proprieti pot fi

    folosite constante predefinite sau valori returnate de funcia RGB. Valoarea impliciteste clBtnFace. Dac pentru proprietatea ParentColor corespunztoare uneicomponente se ia valoarea True, i se modific valoarea proprietii Colorcorespunztoare formei proprietar al componentei, aunci se va modifica automat iculoarea componentei.

    Proprietatea Constraints

    Se utilizeaz pentru a stabili dimensiunea minim i maxim pentru o component.

    Aceste dimensiuni nu pot fi depite.

    Proprietatea Ctl3D (de tip boolean)

    Determin dac forma sau componenta are aspect tridimensional (pentru True) sau

    aspect bidimensional (pentru False). Valoarea implicit este True. Dac pentruproprietatea Parenttl3D corespunztoare unei componente se ia valoarea True, i semodific valoarea proprietii Ctl3D corespunztoare formei proprietar al

    componentei, atunci se va modifica automat i aspectul componentei.

    Proprietatea Cursor

    Stabilete imaginea utilizat pentru reprezentarea cursorului mouse-ului.Pentru selectarea unei imagini se vor folosi diferitele constante predefinite de descriere

    a cursorului. Valoarea implicit este constanta crDefault.

    Proprietatea DefaultMonitor

    Stabilete pe care monitor va fi afiat forma, n cazul aplicaiilor multimonitor.

    Proprietatea DockSite

    Stabilete dac forma poate fi inta unei operaii drag-and-dock(trage i stabilete)

    Proprietatea DragKind

    Se folosete pentru a stabili dac se iau obiecte de pe control(drag) sau se pot pune peel(dock).

    Proprietatea Enabled (de tip boolean)

    Se refer la accesibilitatea formei sau componentei. Dac se alege varianta True, care

    este i valoarea implicit, atunci forma sau componenta va reaciona la diferitele

    evenimente referioare la mouse, tastatur i ceas. Dac se alege variantaFalse

    , formasau componenta va fi inhibat i nu va rspunde la evenimentele echipamentelor deintrare. Valoarea acestei proprieti de regul este modificat n execuie, de exemplupentru a interzice utilizarea unor butoane de comand n contextul respectiv. Eticheta

    unei componente inhibate este afiat cu caractere estompate. O component inhibatulterior poate fi reactivat, moment n care eticheta componentei va fi afiat cucaractere negre.

  • 8/6/2019 delphi 2005 manuald

    18/34

    Utilizare Delphi 5 autor Popa Daniel

    18

    Proprietatea compus Font

    Stabilete fontul utilizat la textele care sunt afiate pe obiectul Canvas al formeiprecum i la textele aferente componentelor aezate pe form. Fontul utilizat poate fidefinit n perioada de elaborare a proiectului, ns poate fi modificat n execuie, prinredefinirea subproprietilor Color (culoare), Height (nlime), Name (nume), Pitch(limea caracterelor), Size (dimensiune), sau Style (stil).

    Proprietatea FormStyle

    Stabilete stilul formei. Valorile posibile ale acestei proprieti sunt urmtoarele:Valoare Semnificaie

    fsNormal Forma creaz o fereastr normal (nici MDI copil, nici MDI printe).Valoare implicit.

    fsMDIChild Forma creaz o fereastr MDI copil

    fsMDIForm Forma creaz o fereastr MDI printe

    fsStayOnTop Forma va fi afiat deasupra celorlalte forme utilizate n proiect

    Proprietile Height i Width (de tip integer)Sabilesc nlimea, respectiv lmea formei sau componentei. Aceste valori sunt

    exprimate n puncte care include i dimensiunile rezervate chenarelor.

    Proprietatea HelpContext

    Se folosete pentru a stabili un numr folosit n apelarea ajutorului(Help) context-senzitiv, pentru a determina care fereastr de ajutor este afiat dac utilizatorul apas tastaF1. Dac HelpContext are valoarea 0 atunci va fi afiat fereastra de ajutor corespunztoareprintelui.

    Proprietatea HelpFile

    Specific fiierul n care se afl ajutorul.

    Proprietatea Hint (de tip string)

    Specific un text explicativ care va fi afiat atunci cnd cursorul de mouse este aezatdeasupra unei forme sau componente. Acest text este afiat numai aunci cndproprietatea ShowHint (de tip boolean) este iniializat cu valoarea True.

    Proprietile compuse HorzScrollBar i VertScrollBarStabilesc dac forma este prevzut sau nu cu bare de defilare orizontale i/sauverticale. Subproprietile barelor de defilare sunt centralizate n tabelul urmtor:

    Proprietate Descriere

    Increment

    (o valoare cuprins ntre 1

    i 32767, valoareaimplicit este 8)

    Stabilete distana de deplasare a imaginii din form n momentul n careutilizatorul efectueaz un clic pe unul din butoanele cu sgei situate nextremitile barelor de defilare.

    Margin(de tip word, valoarea

    implicit este 0)

    Stabilete momentul de afiare al barei de defilare. Aceast proprietatedetermin numrul minim de puncte care separ componentele formei imuchia formei. n execuie, dac o component ajunge la o distan maimic dect Margin puncte de la muchie, i dac proprietatea Visibleare valoarea True, atunci se afieaz o bar de defilare.

    Position

    (de tip integer, valoarea

    implicit este 0)

    Comunic poziia actual a cursorului glisant al barei de defilare.Aceast valoare este actualizat automat n execuie, n funcie dedefilare.

    Range

    (de tip integer, valoarea

    implicit este 0)

    Dimensiunea maxim de defilare, exprimat n puncte. La bara de

    defilare vertical aceast valoare trebuie s fie mai mare dect valoarea

    proprietii Height (n caz contrar bara vertical este invizibil). La bara

  • 8/6/2019 delphi 2005 manuald

    19/34

    Utilizare Delphi 5 autor Popa Daniel

    19

    de defilare orizontal aceast valoare trebuie s fie mai mare dect

    valoarea proprietii ClientWidth (n caz contrar bara orizontal este

    invizibil). De exemplu, dac proprietatea Range a unei bare orizontale

    conine valoarea 500, limea formei este 200, atunci valorile proprietiiPosition pot fi n intervalul (0, 300).

    Tracking

    (de tip boolean, avnd

    valoarea implicit False)

    Dac se alege valoarea True, imaginea din form se deplaseaz mpreun

    cu butonul de glisare tras de utilizator. Dac se alege valoarea False,

    imaginea rmne static atta timp ct utilizatorul trage butonul deglisare, deci actualizarea imaginii defilate va avea loc numai n momentul

    eliberrii butonului glisant al barei de defilare.

    Visible

    (de tip boolean, avnd

    valoarea implicit True)

    Se refer la vizibilitatea barei de defilare. Dac se alege valoarea True, idac componenta se afl la o distan mai mic dect Margin puncte demuchia formei, atunci bara de defilare devine vizibil.

    Proprietatea Icon

    Specific simbolul grafic care va fi utilizat atunci cnd forma este minimizat.

    Proprietatea KeyPreview (de tip boolean)

    Se refer la modul de gestiune a evenimentelor referitoare la utilizarea tastaturii

    (OnKeyDown, OnKeyPress i OnKeyUp). Dac pentru aceast proprietate se alege

    valoarea True, atunci evenimentele referitoare la tastatur sunt gestionate de formaactual, i nu de componentele aezate pe form, chiar dac n momentul respectiv nfocar se afl o component. De exemplu, s presupunem c forma conine un buton decomand care este n focar. Dac utilizatorul apas o tast, evenimentele aferente

    tastrii vor fi gestionate de procedurile formei i nu de procedurile butonului decomand. Dac proprietatea este iniializat cu valoarea False, care este i valoareaimplicit, atunci evenimentele referitoare la tastare vor fi gestionate de procedurile

    componentei active, i nu de procedurile formei.

    Proprietile Left i Top (de tip integer)Stabilesc abscisa, respectiv ordonata:

    Formei fa de colul stnga sus al ecranului; Componentei fa de colul stnga sau al formei proprietar; Componentei fa de colul stnga sus al unei componente de tip container.Valorile acestor proprieti sunt date n puncte.

    Proprietatea Menu (de tip TmainMenu)

    Stabilete componenta de meniu principal care este utilizat de form la un moment dat.n perioada de elaborare a proiectului aceast proprietate este iniializat automat cuprima component MainMenu aezat pe form; n execuie valoarea acestei proprietipoate fi modificat, printr-o instruciune de atribuire, astfel c o form poate sfoloseasc mai multe componente MainMenu.

    Proprietatea NameNumele componentei. Orice component trebuie s aib un nume unic.

    Proprietatea ObjectMenuItem

    Se utilizeaz pentru a afla sau a preciza o opiune dintr-un meniu care devine activ sauinactiv atunci cnd un obiect OLE de pe formular este selectat sau deselectat.

    Proprietatea ParentBidiMode(boolean)

    Stabilete dac controlul folosete aceeai valoare pentru BidiMode ca i printele.

  • 8/6/2019 delphi 2005 manuald

    20/34

    Utilizare Delphi 5 autor Popa Daniel

    20

    Proprietatea ParentFont(boolean)

    Stabilete dac controlul folosete acelai font ca i printele

    Proprietatea PixelPerInch

    Se utilizeaz n timpul rulrii programului pentru a modifica scara de mrire a formei la

    rezoluia curent. Dac valoarea este modificat fa de valoarea implicit, forma nu vaavea aceleai proporii la diferite rezoluii. Pentru a avea efect trebuie ca proprietateaScaled s fie true.

    Proprietatea PopupMenu (de tip TpopupMenu)

    Identific componenta de meniu flotant care este utilizat de form la un moment dat.

    Se menioneaz faptul c aceast propeietate nu este iniializat automat cucomponenta PopupMenu aezat pe form. n execuie valoarea acestei proprietipoatefi modificat, printr-o instruciune de atribuire, astfel c o form poate s foloseascmai multe componente PopupMenu.

    Proprietatea Position

    Se refer la dimensiunea formei i al locul de plasare a acesteia la execuie, fa delocul i dimensiunea care au fost utilizate n momentul realizrii proiectului. Valorile posibilesunt:

    Valoare SemnificaiepoDesigned Forma va avea aceeai poziie i dimensiuni ca n momentul

    elaborrii proiectului.

    poDefault Poziia i dimensiunea ferestrei vor fi stabilite de ctre WindowspoDefaultPosOnly Poziia este stabilit de ctre Windows, se pstreaz dimensiunile.poDefaultSizeOnly Poziia este pstrat, Windows-ul alege dimensiunile.poScreenCenter Dimensiunile ferestrei se pstreaz, plasndu-se n centrul ecranului.

    Se fac ajustri pentru aplicaiile multimonitor.

    po Dimensiunile ferestrei se pstreaz, plasndu-se n centrul ecranului.Nu se fac ajustri pentru aplicaiile multimonitor.PoMainFormCenter Dimensiunile ferestrei se pstreaz, plasndu-se n centrul ferestrei

    principale a aplicaiei. Nu se fac ajustri pentru aplicaiilemultimonitor.

    PoOwnerFormCenter Dimensiunile ferestrei se pstreaz, plasndu-se n centrul ferestrei

    specificate de proprietatea Owner.

    Proprietatea PrintScale

    Se utilizeaz pentru a afla sau stabili proporiile ferestrei tiprite. Valorile posibilesunt:

    Valoare Semnificaie

    poNone Nu se scaleaz deloc.poProportional Fereastra este scalat astfel nct imaginea tiprit are aproximativ

    aceeai dimensiune ca i pe ecran.poPrintToFit Forma este tiprit folosind aceleai proporii ca pe ecran, dar

    modificate astfel nct s ncap pe pagin.

    Proprietatea Scaled

    Specific dac forma va fi redimensionat n funcie de valoarea PixelsPerInch

  • 8/6/2019 delphi 2005 manuald

    21/34

    Utilizare Delphi 5 autor Popa Daniel

    21

    Proprietatea ShowHint

    Dac are valoarea true atunci va fi afiat o scurt informaie(Hint) despre obiectuldeasupra cruia s-a oprit mouse-ul.

    Proprietatea Tag

    Utilizat pentru memorarea unei valori ntregi. Nu are un rol predestinat.

    Proprietatea UseDockManager

    Stabilete dac se utilizeaz un manager pentru operaia de drag-and-dock.

    Proprietatea Visible

    Dac este true atunci componenta este vizibil.

    Proprietatea WindowMenu

    Se folosete pentru a alfa sau stabili ce meniu se utilizeaz pentru o fereastr printen cazul aplicaiilor MDI(multiple document interface).

    Proprietatea WindowState

    Se refer la modul de afiare pe ecran a ferestrei. Poate avea urmtoarele valoriValori SemnificaiewsNormal Fereastra este afiat normal.wsMinimized Fereastra este afiat miminizatwsMaximized Fereastra este afiat maximizat.

    Metode

    Metoda BringToFront

    Aduce forma n fa.

    Metoda Close

    Se utilizeaz pentru nchiderea formei.

    Metoda Hide

    Ascunde forma.

    Metoda Refresh, Repaint

    Redeseneaz forma.

    Metoda ScaledBy(M, D:integer)

    Scaleaz toate obiectele de pe form de M/D ori. Spre exemplu dac M=15 i D=7dimensiunile tuturor componentelor se vor nmuli cu valoarea 15/7, dimensiunile fonturilorvor fi modificate de asemenea.

    Metoda SendToBack

    Trimite forma n spatele tuturor ferestrelor existente pe ecran.

    Metoda SetFocus

    Se utilizeaz pentru a selecta obiectul(controlul).

  • 8/6/2019 delphi 2005 manuald

    22/34

    Utilizare Delphi 5 autor Popa Daniel

    22

    Metoda Show

    Face vizibil forma.

    Evenimente

    Pentru fiecare dintre evenimentele prezentate mai jos Delphi-ul ne permite s scriem orutin care s trateze evenimentul respectiv. Dac n Object Inspector executm dublu clic pe

    unul dintre evenimente Delphi-ul va deschide editorul de cod n care a scris deja antetul

    procedurii care va trata evenimentul, noi urmnd s scriem partea de cod care va trata

    evenimentul. Procedura de tratare a evenimentului va avea cel puin un parametruSender:TObject care ne va indica cine a generat evenimentul, parametru care n general nu e

    folosit. Dac mai sunt necesari anumii parametri pentru a trata evenimentul atunci acetia vorfi inclui, spre exemplu pentru evenimentul OnKeyPress, care apare la apsarea unei taste, vafi transmis ca parametru i tasta(caracterul) care a care a fost apsat.

    Evenimentul OnActivate

    Apare atunci cnd forma devine activ.

    Evenimentul OnCanResize

    Apare atunci cnd se redimensioneaz controlul. Avem posibilitatea s stabilim noile

    dimensiuni (NewWidth, NewHeight :Integer) i s stabilim dac suntem de acord curedimensionarea (Resize:Boolean)

    Evenimentul OnClick

    Apare atunci cnd utilizatorul execut clic pe form.

    Evenimentul OnClose

    Apare la nchiderea formei. Modificnd parametrul Action avem posibilitatea de a

    decide ce se va executa. Parametrul Action poate avea valorile:

    Valoare Descriere

    caNone Forma nu are voie s se nchid, deci nu se ntmpl nimic.

    caHide Forma va fi ascuns. Aplicaia o mai poate accesa.caFree Forma este nchis, iar memoria alocat ei va fi eliberat

    caMinimize Forma va fi minimizat.

    Evenimentul OnCloseQuery

    Apare cnd metoda Close a fost apelat. Prin modificarea parametrului

    CanClose:Boolean decidem dac forma se poate nchide sau nu.

    Evenimentul OnConstrainedResize

    Apare imediat dup evenimentul OnCanResize. Se utilizeaz pentru aplicarealimitrilor dimensiunilor, parametrii MinWidth, MinHeight, MaxWidth, MaxHeight stabilind

    lungimea minim, nlimea minim, lungimea maxim, nlimea maxim. La ieirea dinprocedura de tratare a evenimentului vor fi aplicate constrngerile i se vor obine noiledimensiuni, dup care va apare evenimentul OnResize care va permite ajustrile finale.

    Evenimentul OnContextPopup

    Apare la clic dreapta. Parametrul MousePos:Tpoint ne va indica poziia mouse-ului ,iar valoare pe care o vom atribui parametrului Handle:Boolean va decide dac va fi afiat

  • 8/6/2019 delphi 2005 manuald

    23/34

    Utilizare Delphi 5 autor Popa Daniel

    23

    meniul(dac Handle=false, i proprietatea AutoPopup=true) sau dac nu se va executa nimic(Handle=true).

    Evenimentul OnCreate

    Apare la crearea formei.

    Evenimentul OnDblClickApare atunci cnd utilizatorul execut dubclu clic pe form.

    Evenimentul OnDeactivate

    Apare cnd forma pierde focusul.

    Evenimentul OnDestroy

    Apare cnd forma este distrus.

    Evenimentul OnDockDrop

    Apare cnd un obiect este depus pe form prin operaia de drag-and-dock. Caparametri vom avea Source care ne va indica de unde a fost luat obiectul, i poziia la care a

    fost lsat X, Y.

    Evenimentul OnDockOver

    Apare cnd un obiect este tras peste form pentru o operaie de drag-and-dock. Caparametri vom avea Source care ne va indica de unde a fost luat obiectul, poziia la care seafl X, Y i Accept care dac are valoarea true se accept operaia, altfel nu.

    Evenimentul OnDragDrop

    Apare cnd utilizatorul d drumul obiectului adus prin operaia de drag-and-drop. Caparametri vom avea Source care ne va indica de unde a fost luat obiectul, i poziia la care afost lsat X, Y.

    Evenimentul OnDragOver

    Apare cnd un obiect este tras peste form pentru o operaie de drag-and-drop. Caparametri vom avea Source care ne va indica de unde a fost luat obiectul, poziia la care seafl X, Y i Accept care dac are valoarea true se accept operaia, altfel nu.

    Evenimentul OnEndDock

    Apare cnd operaia de tragere s-a terminat. Se utilizeaz pentru a trata situaia n careoperaia de drag-and-dock s-a terminat.

    Evenimentul OnGetSiteInfo

    Apare nainte de OnDockDrop dac proprietate DockSite este true.

    Evenimentul OnHelp

    Apare cnd forma primete o cerere de ajutor (Help).

    Evenimentul OnHide

    Apare atunci cnd forma este ascuns(spre exemplu dac Visible ia valoarea false)

    Evenimentul OnKeyDown

  • 8/6/2019 delphi 2005 manuald

    24/34

    Utilizare Delphi 5 autor Popa Daniel

    24

    Apare la apsarea unei taste, dac componenta(n acest caz forma) este selectat.

    Parametrul Key ne d codul tastei apsate, iar parametrul Shift, care poate avea valorile

    ssShift, ssAlt, ssCtrl, ne indic care dintre tastele Shift, Ctrl sau Alt a mai fost apsat odat

    cu tasta. Pentru tastele care nu sunt litere sau cifre se pot folosi codurile virtuale (ex.

    VK_PAUSE, VK_RETURN, VK_ESCAPE )

    Evenimentul OnKeyPressApare dac utilizatorul apas o tast care genereaz un singur caracter. Parametrul

    Key conine caracterul tastei apsate. Dac a fost apsat o combinaie de taste, spre ex.Shift+F1, nu provoac acest eveniment.

    Evenimentul OnKeyUp

    Apare la eliberarea unei taste, dac componenta(n acest caz forma) este selectat.

    Parametrul Key ne d codul tastei apsate, iar parametrul Shift ne indic care dintre tastele

    Shift, Ctrl sau Alt a mai fost apsat odat cu tasta. Pentru tastele care nu sunt litere sau cifre

    se pot folosi codurile virtuale (ex. VK_PAUSE, VK_RETURN, VK_ESCAPE )

    Evenimentul OnMouseDown

    Apare la apsarea unui buton al mouse-ului. Parametrul Button poate avea valorilembLeft, mbRight, mbMiddle i ne indic care dintre butoanele mouse-ului au fost apsate.Parametrul Shift ne indic care dintre butoanele Ctrl, Shift sau Alt au fost apsate, iar

    parametrii X, Y ne indic poziia mouse-ului.

    Evenimentul OnMouseMove

    Apare la micarea mouse-ului peste un control(n acest caz form). Parametrul Shift neindic care dintre tastele Shift, Alt, Ctrl au fost apsate, iar parametrii X, Y ne indic poziiamouse-ului.

    Evenimentul OnMouseUp

    Apare la eliberarea unui buton al mouse-ului. Parametrul Button poate avea valorile

    mbLeft, mbRight, mbMiddle i ne indic care dintre butoanele mouse-ului au fost apsate.Parametrul Shift ne indic care dintre butoanele Ctrl, Shift sau Alt au fost apsate, iar

    parametrii X, Y ne indic poziia mouse-ului.

    Evenimentul OnMouseWheel

    Apare cnd rotia mouse-ului este rotit, dac evenimentul nu este tratat (parametrulHandle are valoare False) atunci apare evenimentul OnMouseWheelUp sau evenimentul

    OnMouseWheelDown, n funcie de direcia n care este nvrtit rotia. Parametrul Shift neindic care dintre tastele Ctlr, Alt sau Shift au fost apsate, parametrul WheelDelta ne indic

    de cte ori a fost nvrtit rotia.

    EvenimentulOnMouseWheelDown

    Apare la nvrtirea rotiei n jos, dac evenimentul OnMouseWheel nu a fost tratat.Procedura are aceei parametri ca i cea ce trateaz evenimentul OnMouseWheel

    Evenimentul OnMouseWheelUp

    Apare la nvrtirea rotiei n sus, dac evenimentul OnMouseWheel nu a fost tratat.Procedura are aceei parametri ca i cea ce trateaz evenimentul OnMouseWheel

    Evenimentul OnPaint

  • 8/6/2019 delphi 2005 manuald

    25/34

    Utilizare Delphi 5 autor Popa Daniel

    25

    Apare atunci cnd forma este redesenat.

    Evenimentul OnResize

    Apare la redimensionarea formei.

    Evenimentul OnShortCut

    Apare la apsarea unei taste nainte de evenimentul OnKeyDown. Se utilizeaz pentrua trata short-cut-urile nainte de a trata apsrile obinuite de taste.

    Evenimentul OnShow

    Apare atunci cnd forma este fcut vizibil.

    Evenimentul OnStartDock

    Apare atunci cnd utilizatorul ncepe s trag un obiect peste control, iar proprietatea

    DragKind are valoarea dkDock.

    Evenimentul OnUnDock

    Apare atunci cnd utilizatorul ncearc s ia un obiect ce se afl pe form. Parametrul

    Client ne indic obiectul ce va fi luat, parametrul NewTarget ne indic unde va fi dusobiectul, iar parametrul Allow l folosim pentru a permite operaia (dac i atribuim true), saua o interzice.

    Probleme i ntrebri

    1. Cum putem face invizibile butoanele sistem?

    2. Cum putem realiza o form de dimensiune 100x100 care s nu poat fi

    redimensionat?

    3. Scriei o aplicaie care s afieze poziia mouse-ului ca titlu a formei.

    4. Scriei o aplicaie care s se nchid dac se apas butonul stng al mouse-ului peform.

    5. Scriei o aplicaie care s aib o form(fereastr) care s fug de mouse-ulutilizatorului ori de cte ori acesta ajunge cu mouse-ul pe ea.

  • 8/6/2019 delphi 2005 manuald

    26/34

    Utilizare Delphi 5 autor Popa Daniel

    26

    4.3 Lecia 3 - Butonul

    Butonul este des utilizat pentru a iniia diverse aciuni la apsare. n Delphi exist trei tipuride butoane:

    Imagine Tip buton Descriere

    Button butonul standard

    BitBtn denumirea vine de la Bitmap Button i permite aezarea unuibitmap (imagini) n interiorul butonului. Exist posibilitatea

    de a stabili cte o imagine pentru fiecare stare a butonului:

    ridicat, apsat, dezactivat.

    SpeedButton permite adugarea unei (a unor) imagini care poate (pot)

    acoperi ntreg butonul. Butoanele de acest tip se pot grupa.

    Deoarece o mare parte din proprietile, metodele i evenimentele butoanelor sunt comune cucele de la form voi trata doar ceea ce apare nou.

    4.3.1 Button(TButton)

    Se utilizeaz pentru a pune un buton standard pe form.

    Proprietile butonului

    Proprietatea Action

    Este utilizat pentru centralizarea rspunsurilor la comenzile date de utilizator.

    Majoritii componentelor li se poate asocia o aciune, aciunile fiind centralizate i gestionatefolosind componenta ActionList din pagina standard.

    Proprietatea Anchors

    Se utilizeaz pentru a ne asigura c obiectul i pstreaz poziia relativ la marginileprintelui(a componentei care o conine), chiar dac componenta printe este redimensionat.Cnd printele este redimensionat obiectul i pstreaz poziia relativ la marginile de care afost ancorat.

    Proprietatea BidiMode

    Permite ajustarea modului de afiare i a comportamentului automat atunci cndaplicaia ruleaz ntr-o zon n care se citete de la dreapta la stnga i nu de la stnga la

    dreapta.

    Proprietatea Cancel(boolean)

    Dac are valoarea true atunci la apsarea butonului Escape va avea loc evenimentul

    OnClick

    Proprietatea Capiton (de tip string)

    Specific un ir de caractere care este afiat pe buton, de exemplu Button1. n cazulcomponentelor aceast proprietate desemneaz eticheta ataat componentei. n acest ultim

  • 8/6/2019 delphi 2005 manuald

    27/34

    Utilizare Delphi 5 autor Popa Daniel

    27

    caz litera precedat de caracterul & este litera de selecie a componentei (litera de selecieeste subliniat i componenta poate fi selectat prin combinaia Alt litera subliniat).

    Proprietatea Constraints

    Se utilizeaz pentru a stabili dimensiunea minim i maxim pentru o component.Aceste dimensiuni nu pot fi depite.

    Proprietatea Cursor

    Stabilete imaginea utilizat pentru reprezentarea cursorului mouse-ului.Pentru selectarea unei imagini se vor folosi diferitele constante predefinite de descriere a

    cursorului. Valoarea implicit este constanta crDefault.

    Proprietatea Default

    Dac are valoarea true atunci la apsarea tastei Enter va avea loc evenimentul

    OnClick.

    Proprietatea DragCursor

    Specific ce imagine s fie utilizat pentru buton atunci cnd acesta este tras (dragg)

    Proprietatea DragKind

    Se folosete pentru a stabili dac se iau obiecte de pe control(drag) sau se pot pune peel(dock).

    Proprietatea DragMode

    Stabilete dac utilizatorul poate executa operaia de drag(tragere). Dac valoareaproprietii este dnManual utilizatorul nu poate executa operaia, iar dac valoarea proprietii estedmAutomatic atunci poate executa operaia de drag.

    Proprietatea Enabled (de tip boolean)

    Se refer la accesibilitatea componentei. Dac se alege varianta True, care este ivaloarea implicit, atunci componenta va reaciona la diferitele evenimente referitoare lamouse, tastatur i ceas. Dac se alege varianta False, componenta va fi inhibat i nu va

    rspunde la evenimentele echipamentelor de intrare. Valoarea acestei proprieti de regul

    este modificat n execuie, de exemplu pentru a interzice utilizarea unor butoane decomand n contextul respectiv. Eticheta unei componente inhibate este afiat cu caractereestompate. O component inhibat ulterior poate fi reactivat, moment n care eticheta

    componentei va fi afiat cu caractere negre.

    Proprietatea compus Font

    Stabilete fontul utilizat la textele care sunt afiate pe obiectul Canvas al formeiprecum i la textele aferente componentelor aezate pe form. Fontul utilizat poate fi definitn perioada de elaborare a proiectului,

    ns poate fi modificat

    n execuie, prin redefinireasubproprietilor Color (culoare), Height (nlime), Name (nume), Pitch (limea

    caracterelor), Size (dimensiune), sau Style (stil).

    Proprietile Height i Width (de tip integer)Sabilesc nlimea, respectiv lmea formei sau componentei. Aceste valori suntexprimate n puncte care include i dimensiunile rezervate chenarelor.

  • 8/6/2019 delphi 2005 manuald

    28/34

    Utilizare Delphi 5 autor Popa Daniel

    28

    Proprietatea HelpContext

    Se folosete pentru a stabili un numr folosit n apelarea ajutorului(Help) context-senzitiv, pentru a determina care fereastr de ajutor este afiat dac utilizatorul apas tastaF1. Dac HelpContext are valoarea 0 atunci va fi afiat fereastra de ajutor corespunztoareprintelui.

    Proprietatea ModalResultProprietatea se poate utiliza pentru a nchide o fereastr modal (care a fost fcut

    vizibil cu metoda ShowModal), returnnd valoarea din ModalResult n cmpul ModalResult

    al ferestrei modale. Nu este necesar s scriem cod care s trateze apsarea butonului. Pentru

    clarificare vezi Exemplul 1.

    Proprietatea poate avea mai multe valori:

    Constant Valoare Ce face

    mrNone 0 Nimic

    MrOk idOK Utilizatorul a ieit apsnd butonul OKmrCancel idCancel Utilizatorul a ieit apsnd butonul CANCELmrAbort idAbort Utilizatorul a ieit apsnd butonul ABORTmrRetry idRetry Utilizatorul a ieit apsnd butonul RETRYmrIgnore idIgnore Utilizatorul a ieit apsnd butonul IGNOREMrYes idYes Utilizatorul a ieit apsnd butonul YESMrNo idNo Utilizatorul a ieit apsnd butonul NO

    Proprietatea ParentShowHint(boolean)

    Se utilizeaz pentru a ne asigura c fie toate componentele afieaz Hint-ul fie toate nul afieaz. Dac ParentShowHint e true atunci obiectul foloseste ShowHintul printelui,altfel decizia de a afia Hint-ul va fi luat n funcie de ShowHint-ul propriu.

    Proprietatea TabOrder

    Poate lua valori n intervalul 1..32767 i stabilete la a cta apsare a tastei Tab se

    ajunge la obiectul(controlul) respectiv. Primul obiect adugat are valoarea proprietiiTabOrder 0, urmtorul 1, al treilea 2 s.a.m.d.

    Proprietatea TabStop(boolean)

    Se folosete pentru a permite sau interzice accesul la control prin folosirea tastei Tab.

    Metode

    Metoda Click

    Simuleaz apsarea butonului.

    Evenimente

    Evenimentul OnEnter

    Apare atunci cnd controlul(n cazul nostru butonul) primete focus-ul, spre exemplucnd se ajunge cu Tab pe el.

    Evenimentul OnExit

  • 8/6/2019 delphi 2005 manuald

    29/34

    Utilizare Delphi 5 autor Popa Daniel

    29

    Apare atunci cnd controlul pierde focus-ul, spre exemplu cnd un alt control de pe

    fereastr primete focus-ul.Pentru lmuriri vezi exemplul 2.

    Exemple

    Exemplul 1

    Urmtoarea aplicaie va folosi proprietatea ModalResult a butonului.Creai o nou aplicaie care are dou form-uri(ferestre): Form1 i Form2.

    Pe Form1 punei un buton a crui evenimentOnClick e tratat de procedura:

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    if form2.ShowModal=mrok then

    form1.Caption:='OK'

    else form1.Caption:='No';

    end;

    Pe Form2 punei dou butoane, unul avndModalResult=mrOk, iar cellalt avnd

    ModalResult=mrNo.

    Compilai, lansai n execuie i testai funcionarea programului apsnd succesiv pe celedou butoane din fereastra a doua(Form2).

    Exemplul 2

    Pentru a ilustra folosirea evenimentelor OnEnter i OnExit creai o nou aplicaie pe acrei fereastr punei dou butoane: Button1 i Button2, iar pentru Button2 scriei codulurmtor pentru tratarea evenimentelor OnEnter i OnExit:

    procedure TForm1.Button2Enter(Sender: TObject);

    begin

    button2.Caption:='Enter';

    end;

    procedure TForm1.Button2Exit(Sender: TObject);

    begin

    button2.Caption:='Exit';

    end;

    Compilai programul, lansai-ln execuie dup care trecei de la un buton la altul folosindtasta Tab.

    4.3.2 BitBtn(TBitBtn)Are aceleai proprieti, metode i evenimente ca i butonul clasic, n plus adugndu-

    se posibilitatea de a avea o imagine(bitmap) pe buton.

    Proprieti

  • 8/6/2019 delphi 2005 manuald

    30/34

    Utilizare Delphi 5 autor Popa Daniel

    30

    Proprietatea Glyph

    Care stabilete ce imagine va fi afiat pe buton. Putem avea maxim patru imagini nfiierul bitmap, toate imaginile fiind de aceeai dimensiune, aezate pe aceeai linie una lngcealalt. Pe buton va fi afiat una dintre imagini n funcie de starea butonului.

    Poziiaimaginii

    Starea

    butonului

    Descriere

    Prima Sus Aceasta imagine apare dac butonul e n poziia ridicat. Dac nuexist alte imagini atunci aceast imagine este utilizat i pentru

    celelalte stri.

    A doua Dezactivat Apare dac butonul nu poate fi selectat (proprietatea enable = false)

    A treia Apsat Apare cnd s-a fcut clic pe buton.

    A patra Jos Apare dac butonul a rmas jos.

    Proprietate Kind

    Stabilete ce imagine se va afia pe buton, precum i valoarea ModalResult. Poateavea urmtoarele valori:

    Valoare Buton Descriere

    bkCustomVa fi afiat imaginea din Glyph, valoarea ModalResult trebuiestabilit manual

    bkAbortSe poate utiliza pentru anularea unei aciuni.

    bkAllEste recomandat a se utiliza pentru selecia a mai multoropiuni.

    bkCancelValoarea proprietii Cancel este setat automat la valoarea true,

    ModalResult va avea valoarea mrCancel

    bkCloseLa apsarea butonului fereastra se va nchide. Valoarea

    proprietii Default este true.

    bkHelpLa apsarea butonului va fi apelat Help-ul programului.

    bkIgnore Este recomandat a se utiliza dac a aprut o eroare iarutilizatorul dorete s continue operaia

    bkNoValoarea proprietii Cancel este setat automat la valoarea true,

    ModalResult va avea valoarea mrNo

    bkOkValoarea proprietii Default este pus automat pe valoarea true,

    ModalResult va avea valoarea mrOk

    bkRetryEste recomandat a se utiliza dac a aprut o eroare iar

    utilizatorul dorete s rencerce operaia.

    bkYesValoarea proprietii Default este pus automat pe valoarea true,

    ModalResult va avea valoarea mrOk

    Proprietatea Layout

    Stabilete poziia imaginii pe buton. Poate avea urmtoarele valori:Valoare Descriere

    blGlyphLeft Pune imaginea n partea stng a textului.

    BlGlyphRight Pune imaginea n partea dreapt a textului.

    BlGlyphTop Pune imaginea deasupra textului.

    BlGlyphBottom Pune imaginea sub text.

    Proprietatea Margin

  • 8/6/2019 delphi 2005 manuald

    31/34

    Utilizare Delphi 5 autor Popa Daniel

    31

    Stabilete distana, n pixeli, ntre imagine i marginea butonului. Dac valoarea este 1 (valoare implicit) atunci imaginea i textul vor fi centrate

    Proprietatea NumGlyphs

    Indic numrul de imagini care se afl n bitmap-ul memorat n Glyph. Numrul de

    imagini poate fi ntre 1(valoare implicit) i 4.

    Proprietatea Spacing

    Stabilete numrul de pixeli dintre imagine i text, implicit are valoarea 4. Dac arevaloarea 1 atunci textul va fi centrat ntre imagine i marginea butonului.

    Proprietatea Style

    Determin modul n care este afiat imaginea pe buton. Poate avea urmtoarelevalori:

    Valoare Descriere

    bsAutoDetect Dac folosim Windows 3.1 bitmap-ul va avea nfiarea din Windows 3.1,altfel va avea noua nfiare.

    bsWin31 Va folosi nfiarea standard din Windows 3.1bsNew Va folosi noua nfiare

    4.3.3 SpeedButton(TSpeedButton)Fa de butonul clasic TSpeedButton-ul introduce proprieti care s-i permit lucrul

    n grupuri de butoane, spre exemplu n bare de butoane.

    Proprieti

    Proprietatea AllowAllUp

    Determin dac toate butoanele ce fac parte dintr-un grup pot s fie toate ridicatesimultan sau nu. Dac are valoare true atunci butoanele ce fac parte din acelai grup pot fitoate ridicate, altfel unul dintre butoane va fi apsat, iar la apsarea unui alt buton butonul

    apsat se va ridica. Dac cmpul GroupIndex este 0 atunci AllowAllUp nu are nici un efect.

    Proprietatea Down

    Se folosete pentru a afla dac butonul este apsat sau nu. Proprietatea este valabildoar dac proprietatea GroupIndex este diferit de 0.

    Proprietatea Flat

    Dac are valoarea true butonul nu va fi afiat 3D. Dac proprietatea are valoarea trueputem folosi imagini(bitmap) care s ilustreze starea butonului.

    Proprietatea GroupIndex

    Permite s selectm din ce grup face parte butonul. Dac are valoarea 0 atunci fiecare

    buton acioneaz separat, iar dac are o valoare mai mare ca 0 atunci desemneaz numrulgrupului din care face parte butonul. Dac utilizatorul apas un buton din grup acesta rmne

    apsat pn cnd un alt buton din grup va fi apsat.

    Proprietatea Transparent

    Specific dac fundalul butonului este transparent sau nu.

  • 8/6/2019 delphi 2005 manuald

    32/34

    Utilizare Delphi 5 autor Popa Daniel

    32

    ntrebri i probleme

    1. Cum procedm ca un buton s nu poat fi selectat dect cu mouse-ul?.

    2. S se scrie o aplicaie care afind o fereastr pe care se afl un buton care fuge ori

    de cte ori utilizatorul a ajuns cu mouse-ul pe el, dar nu poate iei n afara ferestrei.

    3. S se scrie o aplicaie care afieaz o fereastr pe care se afl trei butoane din careunul singur poate fi selectat la un moment dat i care afieaz un mesaj, ca titlu alferestrei, n funcie de ce buton este apsat.

    4. S se scrie o aplicaie care are butoane ce au alt culoare dect a ferestrei.

  • 8/6/2019 delphi 2005 manuald

    33/34

    Utilizare Delphi 5 autor Popa Daniel

    33

    4.4 Lecia 4 Edit

    Se utilizeaz pentru a permite programului s preia un text de la utilizator. Se poate

    utiliza i pentru a afia un text.

    Proprieti

    Proprietatea AutoFocus

    Dac are valoarea true atunci textul va fi selectat cnd controlul va primi focus-ul. Se

    pune pe valoarea true dac e mai probabil ca utilizatorul s nlocuiasc textul existent dect s

    adauge ceva la el.

    Proprietatea AutoSize

    Dac are valoarea true atunci controlul i va modifica nlimea dac nlimeatextului se schimb, dac nu exist posibilitatea ca textul s fie trunchiat.

    Proprietatea BorderStyle

    Determin dac controlul va avea o bordur, i atunci are valoarea bsSingle, sau nu, iatunci are valoarea bsNone.

    Proprietatea CharCase

    Determin ce fel de litere se pot folosi(mari, mici sau combinat). Proprietatea poate

    lua urmtoarele valori:

    Valoare Descriere

    ecLowerCase Literele sunt transformate n litere mici

    ecNormal Se pot utiliza att litere mari ct i litere miciecUpperCase Literele sunt transformate n litere mari

    Proprietatea HideSelectionDetermin dac textul rmne selectat atunci cnd controlul pierde focusul. Dac are

    valoare false atunci la pierderea focusului textul rmne selectat. Se poate accesa textul

    selectat prin intermediul proprietii SelText. Poziia de nceput a seleciei este memorat nproprietatea SelStart, iar lungimea textului selectat e memorat n SelLength.

    Proprietile ImeMode i ImeNameSe utilizeaz pentru a stabili anumite opiuni pentru editorul IME ce se utilizeaz

    pentru limbile asiatice.

    Proprietatea MaxLength

    Stabilete numrul maxim de caractere ce poate fi introdus. Dac are valoarea 0 atunci

    nu exist nici un fel de limitare.

    Proprietatea OEMConvert

    Dac are valoare true atunci caracterelor vor fi traduse din ANSI n OEM i inverspentru a elimina caracterele ce nu pot fi folosite la denumirea unui fiier.

    Proprietile ParentBiDiMode, ParentColor, ParentCtl3D, ParentFont, ParentShowHint

    Au valoarea true dac se dorete ca proprietatea a crei nume apare dup Parent saib aceeai valoare ca i a printelui(cu a componentei pe care se afl aezat)

  • 8/6/2019 delphi 2005 manuald

    34/34

    Utilizare Delphi 5 autor Popa Daniel

    Proprietatea PasswordChar

    Specific ce caracter se va afia dac se dorete citirea unei parole care nu trebuie sapar pe ecran. Dac are valoarea #0 atunci caracterele se vor afia normal.

    Proprietatea ReadOnly

    Dac are valoarea true nu se va putea modifica coninutul Edit-ului.

    Proprietatea Text

    Conine textul ce se afieaz n Edit. Proprietatea poate fi utilizat pentru a prelua ceeace a tastat utilizatorul.