Documente Academic
Documente Profesional
Documente Cultură
A efectuat:
Studentul grupei CIB
Baban Ion
A controlat:
Lector superior
Ion Linga
Chișinău 2015
Cuprinsul
Scopul ............................................................................................................................ 3
1. Componentele C++ Builder .................................................................................... 3
1.1. Selectarea componentelor pentru operații în grup .............................................. 3
1.2. Setarea acelorași proprietăți diferitor componente ............................................. 3
1.3. Modificarea dimensiunii componentelor ............................................................ 4
1.4. Alinierea componentelor ..................................................................................... 5
2. Crearea unui redactor de texte................................................................................... 7
2.1. Proiectarea formularului aplicației ...................................................................... 7
2.2 Crearea proceselor de evenimente ....................................................................... 8
3. Crearea meniului ................................................................................................... 11
4. Ecuația de gradul II ................................................................................................. 12
Concluzie ..................................................................................................................... 14
Bibliografie .................................................................................................................. 15
2
Scopul
Aceasta lucrare de laborator are ca scop examinarea metodelor de manipulare a componentelor
în formular pe baza unui exemplu de aplicare a componentelor cel mai frecvent utilizate. Anume
crearea unei aplicatie care deschide, salveaza si scrie in fisier.
Pentru elaborarea eficienta a interfeței dintre utilizator și aplicație în C++ Builder apare
necesitatea manipulării componentelor în formulare. Majoritatea operațiilor de manipulare a
componentelor se afla în meniul “Edit”. La opțiunile acestui meniu urmeaza a se adresa dupa ce în
formular au fost selectate una sau câteva componente, proprietațile carora necesita modificari.
Majoritatea componentelor vizuale au proprietați comune, (de exemplu Visible, Width, Left).
Setarea acelorași valori pentru proprietațile comune ale câtorva componente efectuăm urmatoarele
acțiuni:
1. Se selectează cateva componente pentru reglare (în acest caz pagina proprietaților și
spectrul obiectelor va reflecta doar acele proprietați pe care le au toate coponentele
selectate);
2. Se setează valorile proprietaților comune ale componentelor selectate .
3
1.3. Modificarea dimensiunii componentelor
Dacă cursorul mouse-lui se poziționeaza pe unul din patratelele negre apărute în jurul
componentei el își schimba forma. Deplasând cursorul și împreuna cu el marginea componentei, se
pot modifica dimensiunile acesteia.
Pentru modificarea dimensiunilor câtorva componente acestea urmeaza a fi selectate prin una
din modalitațile descrise mai sus. Dupa aceia se selectează opțiunea meniului Edit/Size. Apare
caseta de dialog Size în care se selectează opțiunile dimensiunii. Pentru setarea precisa a
dimensiunii în pixeli se culeg numere în câmpurile Width și Height. Dupa aceia se apasă butonul
OK (vezi figura 1.2).
4
Pot fi adăugate mai multe copii ale unei componente, daca aceasta se selectează din paleta cu
tasta Shift apăsată. În acest caz în jurul componentei apare un dreptunghi. Dupa aceasta fiecare
clic al mouse-lui pe formular se soldează cu apariția pe el a unei copii a componentei. La incheierea
regimului de copiere multiplă trebuie de făcut un clic pe instrumentul de selectare a cursorului
(primul buton pe paleta componentelor cu imaginea săgetii).
5
Figura 1.4. “Alinierea componentelor cu ajutoruln meniului Edit/Align”
6
2. Crearea unui redactor de texte
Crearea unei aplicatii care face cele mai utilizate functii ale unui editor de texte, acesta este scopul
nostru in aceasta lucrare.
7
Figura 2.2. “Imaginea formularului principal al aplicației”
8
StatusBar1->Panels->Items[0] ->Text=SaveDialog1->FileName;
}
Butonul SpeedButton2 servește pentru curățirea ferestrei de redactare. Însa în cazul când
buferul de redactare conține un text cules este necesar de a întreba utilizatorul daca dorește
să păstreze acest text. Nu are sens să cream pentru aceasta un formular aparte, care să
conțina doar textul întrebării si 2 butoane. Este mai comod să utilizăm funcția Windows API
MessageBox.
Butonul SpeedButton1 închide fereastra aplicației. În acest caz este necesar de a-i propune
utilizatorului să salveze textul cules, utilizând funcția creată mai sus – SpeedButton2Click:
void _ fastcall TForm1 : :SpeedButton1Click(TObject *Sender)
{
SpeedButton2Click (Sender);
Close();
}
Butonul SpeedButton4 serveste pentru salvarea fisierului redactat:
9
{
if (StatusBar1 -> Panels ->Item[0] ->Text == ”Fara nume”)
SpeedButton5Click (Sender);
else
Memo1->Lines->SaveToFile (StatusBar1 -> Panels ->Items[0]->Text);
}
Butoanele SpeedButton6 si SpeedButton7 servesc pentru trecerea și copierea fragmentului
de text marcat din fereastra de redactare în tamponul de interschimb Clipboard:
10
Procesorul de evenimente la apasarea butonului SpeedButton9 va arăta în felul urmator:
3. Crearea meniului
Dacă în proprietatea Caption a caruiva punct din meniu sta semnul “-”, în acest loc va apărea o
linie orizontală de separare.
Semnul “&” este necesar pentru a lega de punctul meniului așa zisele taste “fierbinți”. Dacă
înaintea literei din numele punctului meniului sta acest semn, atunci la afișarea meniului aceasta
literă va fi subliniată și apăsarea tastei corespunzatoare acestei litere în timp ce este apasată tasta Alt
va conduce la activarea punctului respective al meniului. Desigur, într-un meniu toate tastele
“fierbinți” trebuie sa fie diferite, cu toate ca C++ Builder nu controlează acest lucru.
11
A ramas neutilizat punctual meniului “Panoul de instrumente”. Atribuim proprietații Checked
a acestui punct al meniului valoarea true. Creăm pentru punctual meniului “Panoul de instrumente”
urmatorul procesor de evenimente OnClick.
4. Ecuația de gradul II
12
}
else{
if(d==0)
{
double x3=-b/(2*a);
Label2->Caption="x1=x2="+String(x3);
}
else
{
double x1=(-b+sqrt(d))/(2*a);
double x2=(-b-sqrt(d))/(2*a);
Label2->Caption="x1="+String(x1)+";\r\n x2="+String(x2);
}
}
}
Aici Edit1, Edit2 și Edit3 sunt câmpuri respective pentru introducerea datelor,iar Label2 - ne
afișează rezultatul. Proprietatea Text a obiectelor din clasa TEdit conține rândul introdus.
Programul afișează rădăcinile obținute (vezi figura 4.1.).
Pentru a vizualiza intreg codul aplicatii care calculeaza radacinele ecuatiei patratice vedeti
(Anexa 2.)
13
Concluzie
Lucrarea de laborator Nr.3 a fost o lucrare mai complexa, a fost nevoie sa facem evenimente in
dependent la alte evenimente, de exemplu butonul care inchide forma la text editor, cand facem
click pe acel buton el in acelasi timp apeleaza al buton pentru a ne intreba daca dorim sa salvam
ceia ce avem scris in editorul de text. Am aflat lucruri noi si am observant in ce consta principiul
programarii pe obiecte. A doua aplicatie ecuatia patratica, pentru mine a fost ca o aplicatie care sa i-
smi readuc aminte cum se rezolva mathematic asa ecuatie ca dupa aceasta sa urmez algoritmul si sa
scriu codul programului.
14
Bibliografie
Surse tipografice:
Surse internet:
2. www.google.com
15
16