Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
COMPONENTELE MEDIULUI INTEGRAT C++ BUILDER
1. Obiectivele lucrarii:
a) Insusirea modului de utilizare a celor mai importante componente ale mediului integrat C++ BUILDER .
b) Realizarea unui program simplu care utilizeaza componente de tip TButton, TEdit, Tlabel, RadioButton etc.
2.Aparatura si suporturile utilizate
a) PC in configuratia unitate centrala,monitor, tastatura;
b) Precizarile din prezentul indrumar;
c) Manual de prezentare a mediului integrat C++ BUILDER.
3.Breviar
3.1. Facilitatile mediului C++Builder
Borland C++Builder este un mediu de programare vizual, orientat obiect, pentru dezvoltarea rapida de aplicatii (RAD) cu scop general si aplicatii client/server pentru Windows95 si WindowsNT. Folosind C++Builder se pot crea aplicatii Windows eficiente sciind un minim de cod. Facilitatile semnificative oferite de acestea sunt prezentate succint in cele ce urmeaza.
Aceasta este favorizata de principalele instrumente furnizate de mediul de dezvoltare integrat (IDE) C++Builder si anume :
- Visual Form Designer;
- Object Inspector;
- Component Palette;
- Project Manager;
- Code Editor;
- Debugger.
Acestea dau posibilitatea utilizatorului sa dezvolte rapid aplicatii avand totodata un control complet asupra codului si resurselor.
Proiectare drag-and-drop
Utilizatorul poate crea aplicatii prin simpla tragere (drag and drop) a componentelor din Component Palette pe Form designer urmata de setarea propietatilor din Object Inspector. Handler-ele de evenimente sunt automat create, iar codul lor este complet accesibil. Acest mod de proiectare a unei aplicatii nu restrictioneaza in nici un fel accesul programatorului la codul sursa, o aplicatie putand fi scrisa si fara a folosi componente vizuale.
Dezvoltarea rapida a aplicatiilor inseamna suport pentru propietatile, metodele si evenimentele obiectelor (PME). Propietatile permit setarea usoara a caracteristicilor componentelor. Metodele executa actiuni asupra obiectelor. Evenimentele permit ca aplicatia sa raspunda la mesajele Windows, sau la schimbari de stare a obiectelor. Folosirea modelului PME furnizeaza un robust si intuitiv mediu de dezvoltare pentru aplicatiile Windows.
Mediul C++Builder ofera un ghid practic, care contine peste 3000 de pagini de documentatie despre IDE, VCL, baze de date si tehnici de programare.
Mediul C++Builder
pune la dispozitie codurile sursa pentru VCL
- Visual Component Library, furnizand astfel o unica privire inauntrul
modului in care lucreaza C++Builder. VCL furnizeaza peste 100 de componente
reutilizabile care ajuta programatorul sa construieasca aplicatii robuste
intr-un timp scurt. Aceste
componente pot fi modificate pentru a corespunde necesitatilor din cele mai
diverse. C++Builder -ul incude o
3.2. IDE (Mediul de Dezvoltare Integrat)
Elementele mediului integrat de dezvoltare sunt:
Meniu principal (Main Menu);
Forma (Form);
Editorul de cod (Code Editor);
Bara cu instrumente (Toolbar);
Paleta cu componente (Component Palette);
Tabelul cu proprietati ale obiectelor (Object Inspector);
Administratorul de program (Program Manager);
3.2.1. MAIN MENU
In figura 1.1 se prezinta functiile specifice meniului principal.
Fig. 1.1.
Semnificatiile butoanelor din Main Meniu sunt urmatroarele:
File pentru a deschide, crea, salva, inchide project-uri si fisiere;
Edit pentru prelucrare de texte si componente;
Search pentru localizare de text, erori, obiecte, variabile, unit-uri,
in editorul de cod;
View pentru a afisa, sau ascunde elemente ale mediului;
Project pentru a compila o aplicatie;
Run pentru a executa si a depana o aplicatie.
Component pentru a crea sau a instala o componenta.
DataBase pentru manipulare de baze de date.
Workgroups pentru manipularea proiectelor mari.
Tools pentru a rula programele utilitare disponibile, fara a parasi mediul C++Builder;
Options pentru a controla comportamentul mediului de dezvoltare;
Help pentru a obtine ajutor in diversele faze de utilizare a mediului.
3.2.2. Forma
Inreaga parte vizibila a unei aplicatii este construita pe un obiect special numit forma(ca cea din figura 1.2).
O forma libera este creata de fiecare data cand este lansat in executie mediul C++Builder. O aplicatie poate avea mai multe forme. Adaugarea de noi forme unei aplicatii se face selectand comanda New Form din meniul File. Pe forma se pot aseza si aranja componente vizulale si non-vizuale care alcatuiesc interfata cu utilizatorul. Fiecarei forme ii sunt asociate doua fisiere cu exensiile .cpp respectiv .h (in cazul formei de mai sus unit1.cpp si unit1.h)
Fig. 1.2.
3.2.3. Editorul de cod
Mediul C++Builder are o fereastra unde programatorul poate scrie codul unei aplicatii.. Editorul de cod este un editor ASCII complet si poate deschide mai multe fisiere simultan. Fiecarui fisier deschis ii este atasat, in partea de sus a ferestrei, un buton cu numele lui. Trecerea de la un fisier la altul se face prin click pe butonul atasat fisierului. La intrarea in C++Builder, sau la crearea unui nou
Fig 1.3.
project, editorul arata ca in figura 1.3. In momentul in care adaugam un unit, sau o forma in editorul de cod se va creea o noua fereastra.
Prin executia unui click dreapta in editorul de cod mediul C++Builder pune a dispozitie un meniu cu comenzile cele mai des folosite la editarea, depanarea, executia a unei aplicatii.
Prin selectia optiunii Properties, din acest meniu, avem acces la setarile de baza ale editorului, si anume la culori, fonturi etc. - figura 1.4..
Fig. 1.4.
3.2.4. Bara cu instrumente
Aceasta reprezinta o scurtatura la comenzile aflate in MainMenu. In varianta implicita comenzile pe care le contine sunt cele specificate in figura 1.5.
Fig. 1.5
3.2.5. Paleta cu componente
Componentele sunt elemente utilizate pentru a crea aplicatii C++Builder. O componenta este de fapt un element de tip UI (user interface). Pot fi vizuale (de exemplu butoanele, cutiile de dialog), sau pot fi non-vizuale (de exemplu timer-ul). Spunem despre o componenta ca este vizuala, daca ea este vizibila, sau va fi vizibila la momentul executiei, iar o componenta este non-vizuala, daca la momentul proiectarii aplicatiei apare pe forma ca un desen, iar in momentul executiei aplicatiei devine invizibila (de exemplu TTimer din pagina System), sau este invizibila pana in momentul in care este apelata (de exemplu TOpenDialog sau TSaveDialog din pagina Dialogs). Fiecare componenta are atribute care permit controlul aplicatiei. Componentele sunt grupate in pagini. In forma implicita paginile sunt: Standard, Win95, Additional, Dat Access, Data Control, Win31, Internet, Dialogs, System, QReport, ActiveX - figura 1.6
Fig. 1.6.
De exemplu cele mai folosite componente sunt cele din pagina Standard, care contine cutii de dialog, meniuri, butoane etc. Pentru a obtine help despre fiecare dintre ele, executati click pe componenta dorita, iar apoi apasati pe F1.
O componenta speciala este si forma, care are la randul ei ataste propietati, metode, evenimente etc.
Asezarea unei componente pe o forma se poate face in mai multe moduri. - daca dorim plasarea componentei in mijlocul formei atunci executam dublu click pe forma respectiva.
- daca dorim sa plasam componenta in alt loc decat centrul formei, atunci executam un click pe componenta, iar apoi inca un clik in locul dorit pe forma. Coltul din stanga sus al componentei va coincide cu locul unde am executat cel de-al doilea click. In aceste doua cazuri dimensiunile componentei vor fi cele implicite. Se pot modifica aceste dimensiuni, fie din Object Inspector (vezi mai jos), fie cu ajutorul mouse-ului.
In cazul in care stergem o componenta de pe forma, sablonul handler-ului de evenimente asociat componentei va ramane (insa fara codul sursa existent inainte) deoarece acesta ar putea fi apelat de catre alte metode. Daca programatorul intervine in codul sursa si sterge acest handler, compilatorul va da o eroare.
3.2.6. Tabelul cu proprietati ale obiectelor
Acest tabel (Object Inspector) care face legatura intre interfata aplicatiei si codul scris de programator are doua functii:
seteaza propitetatile componentelor aflate in forma.
creeaza si ajuta la navigatul prin handler-ele de evenimente. Un handler de evenimente se executa in momentul in care apare un eveniment (de exemplu apasarea unei taste, a unui buton de mouse etc.).
Object Selector
In capatul de sus al lui se afla Object Selector care contine toate componentele de pe forma impreuna cu tipul lor.
Object Inspector are doua pagini - figurile 1.7, 1.8.:
Properties page (figura 1.7) permite stabilirea (setarea) propietatilor unei componente, si anume: dimensiunile ei, pozitia in cadrul formei, fonturile folosite, numele etc. Alte propietati pot
Fig. 1.7.
fi setate al momentul executiei programului prin scrierea de cod sursa in cadrul handler-lor de evenimente.
Event page (figura 1.8) permite legarea unei componente la evenimentele programului. Prin executarea unui dublu click pe un eveniment, de exemplu pe OnClik, C++Builder creeaza un handler de evenimente, care este de fapt o metoda atasata unei clase si care se va executa
cand apare un eveniment particular (in cazul nostru executarea unui click pe buton).
Fig 1.8.
Un handler de evenimente pentru componenta TButton din cadrul paginii Standard va arata in felul urmator:
void_fastcall Tform1::Button1Click(TObject *Sender)
In cazul in care alegem evenimentul OnDblClick (OnDoubleClick) handler-ul de evenimente va arata in felul urmator (am ales in cazul acesta componenta RadioButton):
void_fastcall Tform1::RadioButton1DblClick(TObject *Sender)
Precun se vede si din cele doua exemple formele si componentele sunt numerotate (TForm1, RadioButton1). Daca am mai fi adaugat pe forma inca un RadioButton acesta ar fi fost denumit RadioButton2 etc. Object Inspector denumeste automat toate componentele si handler-ele de evenimente.
Pagina cu evenimente va afisa la un moment dat doar evenimentele unei singure componente si anume a aceleia selectate din forma (poate fi chiar forma insasi).
Aplicatiile C++Builder sunt denumite project-uri. Un project este un grup de mai multe fisiere care impreuna alcatuiesc aplicatia. Fiecare fisier reprezinta, pentru aplicatia din care face parte, o "resursa" care necesita setari speciale pentru a putea fi legata la aplicatiea finala (DLL, sau EXE). Pe masura ce aplicatia creste, numarul de fisiere necesare va fi tot mai mare (de exemplu pot fi adaugate fisiere multimedia, baze de date, unit-uri Pascal etc.) si deci se va face tot mai simtita nevoia unei manipulari cat mai usoare a acestor fisiere. C++Builder se ocupa de manipularea tuturor acestor fisiere si totodata pune la dispozitia programatorului un instrument care sa permita acestuia sa navigheze usor printre fisierele ce alcatuiesc un project. Acest instrument este denumit sugestiv Project Manager.
In structura unui project intra trei tipuri de fisiere (cu extensiile .mak, .cpp si .res ).
Fisierul .cpp (cu numele implicit Project1.cpp) este punctul central al unei aplicatii C++ Builder. El contine functia WinMain, deci de aici isi incepe programul executia. In continuare se prezinta un exemplu de program simplu care contine doar acest fisier:
1 #include <vclvcl.h>
2 #programa hdstop
3 USERES ("Project. res"
4 WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int)
catch (Exception &exception)
return 0;
//
Am numerotat liniile programului pentru a face mai usoara explicarea lor:
linia 1: fisierul vcl.h contine definitiile necesare pentru Visual Component Library (VCL). Acest fisier este inclusin fiecare project C++Builder.
linia 2: atentioneaza procesorul sa nu mai adauge alte fisiere handler la lista celor deja existente ( acesta directiva termina lista cu fisiere handler).
linia 3: USERES este un macrou folosit pentru a adauge resurse la project. In acest context precizam ca mai exista si alte macrouri dintre care:
USEFORM (pentru a adauga forme la un project);
USEOBJ (pentru a adauga fisiere obj la project);
USEUNIT (pentru a adauga unit-uri Object Pascal la project);
USEDATAMODULE;
USEDATAMODULENS;
USERC;
USEFORMNS;
USELIB;
USEFILE.
C++Builder creeaza automat aceste macrouri, asa ca nu este necesar ca programatorul sa intervina in ele.
linia 4: reprezinta apelul functiei WinMain (de aici incepe executia programului).
liniile 5 si 8: aceste instructiuni tin de programarea cu exceptii.
linia 6: se initializeaza obiectul VCL Aplication pentru acest process.
linia 7: procesul este lansat in executie (de aici programul incepe sa se ruleze in mediul Windows).
In continuare se prezinta programul sursa demonstrativ Unit1.cpp :
#include <vclvcl.h>
#pragma hdrstop
#include 'Unit1.h'
#pragma resource '*.dfm'
TForm1 *Form1;
// Form1 este un pointer care acceseaza aplicatia
// TForm este clasa care defineste fereastra aplicatiei
// TForm1 este clasa derivata din TForm1
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
// Constructorul clasei si al aplicatiei
// Constructorul este o metoda speciala de initializare
void __fastcall TForm1::Button1Click(TObject *Sender)
// Numele functiei (Button1Click) si apartenenta( la clasa TForm1) sunt generate automat
// Button1Click este generata automat la apsarea butonului Button1
// Button1 este butonul pe care este afisat textul GO
void __fastcall TForm1::Button3Click(TObject *Sender)
void __fastcall TForm1::Button2Click(TObject *Sender)
4. Modul de lucru
a) Se alimenteaza sistemul cu tensiune;
b) Se lanseaza mediul C++ Builder (dublu click pe icon-ul corespunzator din desktop) ;
c) Se selecteaza din Main Menu optiunea File si apoi OpenProject urmat de calea D:DIDACTICSMP1905 (a sau b)LUC1Project1.mak.
d) Se executa click pe butonul Run din Toolbar (aceasta actiune este urmata de lansarea in executie a programului);
e) Vor fi examinate toate componentele prezentate in breviar;
f) Se modifica programul astfel incat sa se obtina forma cu obiecte din figura 1.9 ;
Fig. 1.9.
Se vor utiliza urmatoarele obiecte (in afara formei):
doua butoane (Button 1 si 2) pentru incrementarea (UP) respectiv decrementarea (DOWN) a unei variabile intregi i ;
un buton (Button 3) pentru ietirea din program (Exit);
o caseta de editare (Edit1) unde se va afisa valoarea variabilei i;
doua etichete (Label1 si 2) pentru afisarea textului "Lucrarea nr. 1. Incrementare decrementare contor." Respectiv a sensului de variatie a variabilei i din caseta Edit1;
in caption-ul formei se va afisa textul "Laboratorul Informatica Industriala";
fiecare obiect va avea hint-ul activ completat corespunzator ;
g) Lucrarea se considera incheiata in momentul in care programul modificat este functional. Referatul va cuprinde principalele idei din breviar referitoare la mediul C++Builder si forma sursa a unit-ului modificat.
Politica de confidentialitate |
Copyright © 2024 - Toate drepturile rezervate