Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Satisfactia de a face ce iti place. tutorial, lectii online, solutii simple, exmeple, programe, C++

Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
» COMPONENTELE MEDIULUI INTEGRAT C++ BUILDER


COMPONENTELE MEDIULUI INTEGRAT C++ BUILDER


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.

I.                   Inalta productivitate a mediului de dezvoltare

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.

A.                Propietati, metode, evenimente

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.

B.                C++Builder Help

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.

C.                Codurile sursa pentru VCL

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 suita completa de controale Windows95: TreeView, Trackbars, ProgressBars, toolbars, Rich Edit, ListViews, ImageLists, StatusBars etc. Totodata C++Builder include suport pe 32 de biti pentru numele lungi de fisiere, multi-threading si Win95 API.

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).

D.                3.2.7 Administratorul de program

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)

8                      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
C


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Supraincarcarea operatorului de asignare
EXPRESII SI INSTRUCTIUNI
Functii prietene
Multiple instante pentru aceeasi clasa
FUNCTII PENTRU GESTIONAREA RESURSELOR GRAFICE ALE MEDIULUI C++ BUILDER
Mostenirea
Supraincarcarea operatorilor new si delete
Destructori
Functii operator membre ale claselor
Supraincarcarea operatorului de apel functie















 
Copyright © 2019 - Toate drepturile rezervate