|
begin
RadioButton1.Caption:='SELECTAT'
|
səhifə | 3/16 | tarix | 03.01.2019 | ölçüsü | 1,42 Mb. | | #89992 |
| begin
RadioButton1.Caption:='SELECTAT';
RadioButton2.Caption:='Neselectat';
RadioButton3.Caption:='Neselectat';
end;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.Checked = True then
begin
RadioButton2.Caption:='SELECTAT';
RadioButton1.Caption:='Neselectat';
RadioButton3.Caption:='neselectat';
end;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
if RadioButton3.Checked = True then
begin
RadioButton3.Caption:='SELECTAT';
RadioButton1.Caption:='Neselectat';
RadioButton2.Caption:='Neselectat';
end;
end;
Tastati F9 si apoi selectati alternativ cele trei butoane.Pentru a schimba
fonturile,alegeti +Font din Object Inspector,clic pe butonul cu trei
puncte si alegeti Bold,size 12,color Red.Tastati F9 si verificati noua
configuratie.In continuare,puteti selecta toate optiunile dorite.
-13- Standard - TPANEL si TDBIMAGE
Pentru ca doua sau mai multe butoane sa poata fi selectate si simultan,
utilizati doua sau mai multe obiecte TRadioGroup,astfel incat butoanele
care trebuie sa fie selectate simultan sa fie amplasate in casete diferite
In acest mod se poate proiecta orice combinatie posibila.
TPanel este un obiect utilizat pentru a grupa un numar oarecare de
obiecte.TPanel asigura nu numai un cadru in care pot fi amplasate aceste
controale ci si un numar de proprietati si metode care vor fi mostenite
de catre toate obiectele pe care le contine.Pentru a prelua datele de
tip text dintr-o baza de date am prezentat deja un exemplu simplu (Prj3).
In mod similar,se pot prelua si afisa date de tip Bitmap. EXEMPLU:
Salvati o fila si proiectul (in Prj11).
Amplasati in Form un obiect TPanel si ajustati dimensiunile.Apoi alegeti
din meniul principal DataAccess si adaugati in Form un obiect TDataSource
si un obiect TTable.Din meniul principal alegeti Data Controls si selec-
tati un obiect de tip TDBIImage,apoi efectuati un click in TPanel.Ajus-
tati dimensiunile obiectului TDBIImage.In Continuare selectati un
obiect de tip TDBNavigator si amplasati acest obiect in Form,undeva sub
TPanel.Acum obiectul final este gata.Pentru a fi functional,trebuiesc
facute legaturile dintre obiecte.Selectati DataSource1 si setati campul
DataSet la valoarea Table1.Selectati obiectul TTable(Table1) si apoi
alegeti in DatabaseName DBDEMOS,in TableName EVENTS si apoi setati campul
Active la valoarea True.Selectati butonul de navigare si setati campul
DataSource la valoarea DataSource1.In final,selectati DBImage si setati
campul DataSource la DataSource1 si respectiv DataField la Event_Photo.
In mod normal,va aparea o imagine digitala in obiectul DBImage.
Tastati F4 si utilizati butonul de navigare pentru a afisa pe rand
toate fotografiile din baza de date.Exemplul utilizeaza o baza de date
de tip BitMap preexistenta.Puteti utiliza acest tip de aplicatie si
pentru a naviga printre desene sau fotografii efectuate de d-voastra si
salvate sub forma de baza de date.
Observati in acest exemplu modul in care cinci obiecte predefinite
coopereaza pentru a executa o sarcina simpla.Legatura dintre obiecte
o realizeaza obiectul DataSource,accesul la baza de date se face prin
TTable,navigarea in baza de date se face cu TDBNavigator iar imaginile
sunt afisate intr-un obiect de tip TDBImage care este gazduit de un
obiect de tip TPanel.
Observati ca intreaga aplicatie s-a realizat cu cateva click-uri de
mouse,fara sa fie nevoie sa scrieti nici o singura linie de cod.In cazul
in care programul ar fi fost editat in maniera clasica,de exemplu in
Pascal,ar fi trebuit sa programati proceduri destul de complexe pentru
a realiza legaturile corecte dintre obiecte.Astfel fiecare obiect,pentru
fiecare operatie efectuata transmite un mesaj de tip Windows,care poate
fi receptionat de catre celelalte obiecte.Alegerea mesajului potrivit si
mai ales modul de interpretare a mesajului poate fi insa uneori destul
de greu de implementat.Delphi executa automat toate aceste operatii.Nu
este necesar sa stiti ce mesaje si cum anume se folosesc.Pentru a depana
o astfel de aplicatie,este bine sa salvati intotdeauna o copie de sigu-
ranta a formei originale.De cele mai multe ori,acest gen de aplicatii
se pot corupe din cauza navigarii excesive prin diferite baze de date
cu formate diferite.
-14- Additional - TBITBTN si TSPEEDBUTTON
In primele exemple am prezentat obiectele predefinite (componentele)
din grupul de componente denumit Standard.Aceste componente sunt cele mai
frecvent utilizate si sunt afisate implicit in meniul principal.Restul
grupurilor de componente,sunt utilizate relativ mai putin frecvent,dar
sunt cel putin la fel de utile.Pentru a pastra caracterul de abecedar,
acest manual va prezenta doar exemple simpliste de implementare a lor,
fara a avea pretentia de a epuiza subiectul.Cei care doresc mai mult decat
atat,vor depune un mic efort individual,pentru a studia in amanunt pro-
prietatile si metodele fiecarui obiect,precum si modalitatile de combi-
nare a componentelor pentru a obtine rezultate maxime.Numarul acestor
combinatii posibile este practic nelimitat.
Al doilea grup de componente,poarta numele Additional si contine o
serie de obiecte asemanatoare cu cele din grupa Standard,dar cu proprie-
tati si metode noi,sau cu acces la un alt tip de date.
Primul obiect din seria Additional este TBitBtn.Este identic cu buto-
nele de tip TButton,dar poate include si o imagine de tip BitMap pe
suprafata sa.Imaginile de tip BitMap,se bucura de o serie intreaga de
proprietati aditionale prin care se specifica modul de afisare pe buton.
Puteti utiliza o imagine realizata de d-voastra sau puteti beneficia de
un grup de butoane predefinite pentru Ok,Cancel,Help,All,Refresh etc.
Pentru a selecta un astfel de buton,alegeti Kind din Object Inspector.
EXEMPLU:
Salvati o fila noua si proiectul in Prj12.Selectati si amplasati in
Form trei butoane de tip TBitBtn.Apoi selectati pe rand fiecare buton si
alegeti din Kind cate un tip de buton: bkClose,bkHelp si bkOK.
Tastati F9 si executati aplicatia.Observati ca butonul Close este
deja functional,fara sa mai fie nevoie sa scrieti procedura de Click.
Fiecare buton are si o mica imagine grafica prin care sugereaza operatia
pe care o executa.Daca doriti sa inlocuiti aceasta imagine cu una reali-
zata de d-voastra,utilizati Glyph (din Object Inspector).
Urmatorul buton din serie este TSpeedButton.Este un buton utilizat
pentru a executa comenzi sau pentru setarea unor proprietati ale obiecte-
lor.Pentru a specifica actiunea butonului se poate utiliza un text scris
in Caption sau o imagine grafica inclusa in Glyph.Acest tip de buton are
cateva proprietati in plus.Astfel,poate fi utilizat pentru a adauga sau
a sterge un buton din aplicatie,sau poate afisa o imagine grafica diferita
pentru fiecare stare a butonului (apasat,neapasat,dezactivat etc.).
In plus,butoanele de tip TSpeedButton pot actiona in grup si pot fi
grupate sub forma de paleta de butoane (Taskbar sau Toolbar).Pentru a
grupa mai multe butoane se poate utiliza unul dintre obiectele descrise
anterior TPanel sau TGroupBox.
EXEMPLU:
Salvati o fila noua si proiectul in Prj13.Apoi adaugati in Form
patru butoane de tip TSpeedButton.Scrieti pe fiecare buton un text sau
un numar ,de exemplu 1,2,3 si 4 (in Caption).Apoi selecati primul buton
si executati un dublu click in OnClick din Events.Redefiniti procedura:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
SpeedButton4.Hide;
end;
La apasarea acestui buton,butonul 4 va fi ascuns automat.
-15- Additional - TMASKEDIT
Repetati operatia pentru butonul al doilea si redefiniti procedura:
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
SpeedButton1,Free;
end;
Acest buton va sterge primul buton din aplicatie.
Repetati operatia pentru butonul al treilea (Click in On Click),apoi:
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
SpeedButton2.Free;
SpeedButton4.Show;
end.
Acest buton va sterge butonul al doilea si va reafisa butonul al patrulea.
In final,activati si butonul al patrulea si redefiniti procedura:
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
Close;
end.
Tastati F9 si rulati aplicatia.Apasati pe rand cele patru butoane.
Daca doriti sa utilizati un buton pentru a introduce butoane noi,trebuie
sa includeti in program un constructor,care va fi apoi apelat cu Create.
Urmatorul component din seria Additional este TMaskEdit.Este asemanator
cu TEdit,dar utilizeaza un sablon predefinit in care datele pot fi intro-
duse doar intr-un anumit format.Daca se renunta la acest sablon,accepta
orice fel de date la fel ca si TEdit.Este foarte util atunci cand doriti
ca un anumit tip de informatie sa fie introdusa intr-un anumit format:
Exemplu: o data calendaristica,ora curenta,numarul de telefon,un cod
special de identificare sau de acces etc.
EXEMPLU:
Salvati o fila noua si proiectul in Prj14.Selectati si adaugati in
Form doua obiecte de tip TMaskEdit.Deasupra celor doua componente de tip
TMaskEdit introduceti doua obiecte de tip TLabel in care scrieti textele:
"Introduceti data: " si respectiv "Introduceti ora: ".
Apoi selectati primul obiect TMaskEdit si alegeti din Object Inspector
EditMask.In caseta de dialog afisata puteti introduce codul prin care
specificati sablonul dorit (vezi proprietatea EditMask din Help).Daca
va multumiti cu formatul standard pentru data,alegeti Date si apoi con-
firmati cu OK.
Selectati cel de al doilea obiect si alegeti din Editmask Short Time
sau LongTime,apoi confirmati cu OK.
Tastati F9 si executati aplicatia.Observati ca in casetele de editare
apare un sablon care nu permite decat un anumit format al datelor.
Pentru a intelege si/sau edita definitia sablonului utilizati tabelul
din Help,de la proprietatea MaskEdit.
Daca utilizati un format mai special,este bine sa afisati cu TLabel
si un text in care sa explicati ce anume trebuie introdus si cum (cu
exceptia cazurilor in care sunteti singurul utilizator al aplicatiei).
Acest component se poate utiliza si pentru a solicita o parola,dar
principala sa utilizare este aceea de a forma baze de date preformatate;
de exemplu formulare tipizate,carte de telefoane,adrese,tabele etc.
-16- Additional - TSTRINGGRID-TDRAWGRID
Urmatorul component din grupul Additional este TStringGrid.Acest obiect
este destinat pentru a simplifica operatiile cu date in format tabelar.
Contine o grila configurabila formata din siruri de caractere dispuse in
linii si coloane.Acest obiect realizeaza baze de date asemenatoare cu
cele din programul EXCEL.Fiecare element din grila poarta numele de Cell
(celula) si beneficiaza de o serie de proprietati si metode specializate
pentru operatii cu si asupra datelor.In plus,TStringGrid permite si aso-
cierea unui obiect pentru fiecare element din grila.
Elementele bazei de date pot fi editate si cu ajutorul unui obiect de
tip TMaskEdit,astfel incat fiecare element din grila sa respecte un anu-
mit format (cel prestabilit prin sablonul din TMaskEdit).
EXEMPLU:
Salvati o fila noua si proiectul,in Prj15.Selectati din grupul Additio-
nal un obiect de tip TStringGrid si apoi efectuati un click de mouse in
Form.Daca doriti puteti utiliza proprietatile din Object Inspector pentru
a reconfigura dimensiunile,culorile,fonturile,numarul de linii si de
coloane,etc.Pentru a putea edita date in StringGrid,este necesar ca
proprietatea EditorMode sa fie setata True iar Options sa includa si
goEditing.Executati un dublu ckick pe +Options,apoi alegeti goEditing si
setati valoarea True.Selectati Events si efectuati un dublu click in
On Click,apoi redefiniti procedura generata astfel:
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
StringGrid1.Cells[1,0]:='Numele:';
StringGrid1.Cells[2,0]:='Prenumele:';
StringGrid1.Cells[0,1]:='Nr.1';
StringGrid1.Cells[0,2]:='Nr.2';
StringGrid1.EditorMode:=True;
end;
Tastati F9 si executati aplicatia.Executati un click de mouse in grila
si se vor afisa automat titlurile editate in celulele denumite fixe.In
plus,puteti edita in celelalte celule orice fel de date doriti.
In continuare puteti sa setati culorile si dimensiunile fonturilor,etc.
Nu ezitati sa experimentati toate proprietatile si metodele obiectului,
astfel incat sa puteti configura datele la aspectul dorit.
Daca salvati datele intr-o fila,sub forma de baza de date,acestea vor
putea fi preluate ulterior cu ajutorul unei aplicatii asemenatoare cu
cea din Prj3.
TDrawGrid este similar cu TStringGrid,dar este utilizat mai ales pentru
a afisa sub forma de tabel,alt fel de date decat sirurile de caractere.
Pentru texte se poate utiliza TStringGrid iar pentru date preluate din
baze de date se va prefera TDBGrid.
Se utilizeaa pentru a ordona niste date arbitrare.Datele pot fi in
orice format(Exemple: Numere,coduri,numere de telefon,adrese etc.).
Proprietatile si metodele acestui obiect sunt specializate pentru a
configura aspectul grilei de prezentare.Se activeaza la fel ca si YString-
Grid prin selectarea din Options a proprietatii go Edit,urmata de setarea
EditorMode:=True (vezi exemplul precedent).
Mai mult,grila poate fi utilizata pentru a accepta obiecte de tip
TObject,care pot fi introduse la o anumita locatie cu DragDrop.Astfel
se pot deplasa structuri intregi de date.
-17- Additional - TSHAPE si TIMAGE
Pentru a desena o imagine grafica oarecare intr-o fereastra se poate
utiliza TShape.Acest obiect selecteaza automat contextul de dispozitiv
grafic si creeaza automat pensula si penita grafica.Pentru a desena un
obiect oarecare este suficient sa selectati dimensiunile si culorile
dorite.Pentru forma se poate alege un cerc,o elipsa,un patrat sau un
dreptunghi cu colturi rotunjite,etc.Functioneaza asemanator cu Paint din
Windows,dar este putin mai rudimentar.
EXEMPLU:
Salvati o fila noua si proiectul in Prj16.Selectati Form1 si setati
clWhite in Color.Apoi selectati si adaugati in fereastra un obiect de
tip TShape.Selectati obiectul si alegeti in Shape din Object Inspector
stEllipse.Redimensionati obiectul din Height si Width (225/350),apoi
executati un dublu click pe +Brush si alegeti Color clLime.Pentru a
adauga un contur expresiv,executati un dublu click pe +Pen si apoi
selectati pentru penita culoarea clPurple si grosimea Width 10.
Tastati F9.In continuare,modificati culorile si aspectul dupa bunul
plac.Eventual,adaugati mai multe obiecte de tip TShape si realizati un
desen oarecare sau un grafic.Pentru a adauga valori numerice sau texte
explicative puteti adauga si obiecte de tip TLabel.
Observati ca nu este necesar sa scrieti nici o singura linie de cod.
Nu mai este necesar sa definiti si sa selectati contextul de dispozitiv
grafic.Nu este necesar sa definiti penita si pensula.Delphi a executat
singur toate aceste operatii.In plus,nu mai este necesr sa tineti evi-
denta obiectelor create si sa eliberati apoi memoria (toate obiectele
necesare pentru afisarea imaginilor grafice vor fi eliberate automat in
momentul in care se inchide fereastra.Asadar,programarea GDI este mult
mai simpla in Delphi decat in Pascal Windows.
Obiectele TShape contin si o serie de rutine de tip Events,care
permit activarea unor proceduri la un click de mouse,la selectarea sau
deplasarea obiectului etc.
Un alt component destinat pentru imaginile grafice este TImage.Se
poate utiliza pentru a afisa intr-o fereastra orice imagine grafica (file
de tip bitmap,icon,metafile etc.).Pentru a selecta din memorie fila care
contine imaginea grafica,sau fotografia digitala,se poate utiliza din
Object Inspector proprietatea Picture.
EXEMPLU:
Salvati o fila noua si proiectul in Prj17.Selectati si adaugati in
Form un obiect de tip TImage.Alegeti din Object Inspector Picture si
executati un dublu click pe (None).Delphi va afisa un obiect de selectare
denumit Picture Editor.Apasati butonul Load...si apoi navigati in Look in
pana gasiti directorul Demos din Delphi3.Deschideti directorul si alegeti
Data.In Data sunt arhivate cinci fotografii digitale denumite Cus1...la
Cus5.Alegeti una dintre ele,apoi selectati Open,apoi OK.
Daca doriti,modificati culoarea si dimensiunea ferestrei principale si
adaugati un text oarecare,editat intr-un obiect TLabel.
Tastati F9 si executati aplicatia.In mod similar,puteti realiza un
album cu fotografii de familie,un jurnal de calatorie,un text stiintific
sau didactic insotit de imagini grafice si de fotografii etc.
Daca doriti ca imaginile afisate sa fie accesibile si pentru alte con-
troale,puteti utiliza in loc de TImage,TImageList(din Win32).Imaginile
pot fi deplasate dupa un algoritm oarecare (efecte de animatie).
-18- Additional -TBEVEL si TSCROLLBOX
TBevel este un component relativ simplu,utilizat pentru a evidentia
alte componente gen casete de dialog,linii de text etc.
TBevel incadreaza obiectul respectiv si il afiseaza in relief,fie prin
ingropare fie prin bombare spre exterior.Pentru a sublinia un anumit
obiect,se poate utiliza o linie simpla,un chenar sau o caseta in relief.
Nu se utilizeaza izolat ci doar impreuna cu un alt obiect.Pentru confi-
gurarea aspectului se pot utiliza proprietatile Shape si Style din
Object Inspector.
EXEMPLU:
Adaugati un obiect TBevel intr-o fila noua,apoi adaugati un buton in
interiorul acestui obiect.Ajustati dimensiunile si apoi tastati F9 pentru
a observa aspectul final.Modificati culorile,dimensiunile si stilul sau
forma,pana cand obtineti aspectul dorit.TBevel nu are metode speciale,ci
doar cele mostenite de la ancestorii sai.Asigura gruparea unor obiecte,
sau evidentiaza un anumit component dintre celelalte componente.
TScrollBox este un obiect destinat pentru a realiza intr-o fereastra
suprafete care pot fi deplasata cu ajutorul unor butoane de navigare.Se
utilizeaza cel mai frecvent,atunci cand fereastra contine un grup mai
mare de componente si nu doriti ca butoanele de navigare sa deplasese
toate aceste componente.De exemplu,daca fereastra contine un meniu si
o bara de unelte (toolbar),se poate utiliza un obiect TScrollBox inter-
calat intre aceste doua componente,astfel incat deplasarea in interiorul
campului de date sa nu deplaseze si meniul si bara de unelte.O alta
utilizare pozibila este atunci cand doriti ca o fereastra sa contina mai
multe campuri mobile care sa poata fi deplasate independent cu ajutorul
unor butoane de navigare.Un obiect ScrollBox poate contine la randul sau
alte obiecte incluse: butoane,casete de dialog etc.
EXEMPLU:
Salvati o fila noua si proiectul in Prj18.
Dostları ilə paylaş: |
|
|