Documente online.
Username / Parola inexistente
  Zona de administrare documente. Fisierele tale  
Am uitat parola x Creaza cont nou
  Home Exploreaza
Upload




























PROGRAMAREA OBIECTUALĂ UTILIZĀND MICROSOFT VISUAL C++

Informatica




PROGRAMAREA OBIECTUALĂ UTILIZĀND MICROSOFT VISUAL C++

2.1. Structura generala, meniuri, ferestre, bare de unelte



2.1.1. Introducere

Microsoft Visual C++ este un mediu de programare care suporta dezvoltarea de diferite aplicatii. Īn continuare vom prezenta acest mediu, insistānd mai mult pe lucrurile legate de programarea obiectuala si mai putin pe cele comune unei aplicatii Windows.

Elementele de baza ale mediului Microsoft Visual C++ sunt:

  • bara de meniuri
  • ferestrele

o        a spatiului de lucru (workspace)

o        de editare

o        de raspuns (output)

o        de depanare (debug)

  • barele de unelte

2.1.2. Meniurile īn Microsoft Visual C++

2.1.2.1. Meniul File (Fisier)

  • New (nou)

Se pot crea fisiere ASP (Active Server Pages), fisiere binare, fisiere bitmap, fisiere header C++, fisiere sursa C++, fisiere cursor, pagini HTML, icon-uri, macro-uri, resurse (script sau template), fisiere SQL Script, fisiere text.

De asemenea, se pot crea proiecte, cum ar fi: ATL COM, proiecte pentru baze de date, makefile, MFC ActiveX, DLL-uri MFC, executabile MFC, proiecte pentru crearea de baze de date pentru SQL Server, aplicatii Win32, aplicatii consola Win32, DLL-uri Win32, biblioteci statice Win32.

Se pot crea si documente-imagini, diagrame si foi de lucru Excel, prezentari PowerPoint, aplicatii Visual FoxPro, documente Word.

Īn Microsoft Visual C++ se lucreaza cu spatii de lucru (workspaces). Acestea pot fi vide sau pot contine unul sau mai multe proiecte. Pentru fiecare proiect, Microsoft Visual C++ genereaza un fisier de proiect, numit nume_proiect.dsp. Daca la crearea proiectului alegem sa se creeze un nou spatiu de lucru (figura 2.1), atunci proiectul va contine si fisierul nume_proiect.dsw.


Īn lucrarile urmatoare vom lucra īn aplicatii-consola Win32. Pentru crearea unei aplicatii tip consola, īn dialogul File -> New, tab-ul Projects, alegem Win32 Console Application (figura 2.1). Īn dreapta setam numele si calea noului proiect.

Putem crea un proiect vid, o aplicatie simpla, o aplicatie "Hello World!" sau o aplicatie care sa suporte MFC (figura 2.2).

o        Daca alegem sa cream o aplicatie-consola vida, nu va fi creat sau adaugat nici un fisier sursa sau header la acest proiect.

o        Daca cream o aplicatie simpla, se va crea un fisier sursa principal numit nume_proiect.cpp, care contine functia principala (main) si se vor adauga fisierele Stdafx.h si Stdafx.cpp (acestea t 949r1713j rei sunt fisierele initiale cuprinse īn proiect). Stdafx.h si Stdafx.cpp sunt fisiere standard folosite pentru a se genera un fisier header precompilat (numit nume_proiect.pch) si un fisier de tipuri precompilate (numit StdAfx.obj). Īn fisierul sursa principal este generat codul:

#include "stdafx.h"

int main(int argc, char* argv[])


o        O aplicatie "Hello World!", este ca si una simpla, cu diferenta ca afiseaza mesajul "Hello World!". Continutul fisierului principal nume_proiect.cpp este:

#include "stdafx.h"

int main(int argc, char* argv[])

o        MFC (Microsoft Foundation Classes) este o biblioteca de clase. Pentru o aplicatie care suporta MFC, pe lānga fisierele principale nume_proiect.h si nume_proiect.cpp, fisierele Stdafx.h si Stdafx.cpp, se vor genera si fisierele de resurse Resource.h si nume_proiect.rc. Se genereaza si un fisier nume_proiect.clw (ClassWizard), pentru manipularea claselor existente īn proiect. Din mediul de programare, dialogul MFC ClassWizard poate fi apelat din meniul View -> ClassWizard (Ctrl+W). Resource.h este fisierul header standard care defineste identificatorii resurselor. Acest fisier este citit si actualizat de catre Microsoft Visual C++. nume_proiect.rc este o lista cu toate resursele utilizate de program. Lista include si icon-urile, bitmap-urile si cursorii memorati īn subdirectorul RES. Acest fisier poate fi editat direct īn Microsoft Visual C++.

  • Open (deschide) - este comanda obisnuita de deschidere a unui fisier. Īn plus ofera posibilitatea de a alege modul de deschidere (auto, text, binar, resurse). Astfel, putem lucra, de exemplu, cu resursele dintr-un fisier .exe, deschizāndu-l ca resurse.
  • Close (īnchide) - īnchiderea fisierului activ
  • Open Workspace (deschide un spatiu de lucru) - deschiderea unui spatiu de lucru. Ofera si posibilitatea de a deschide un proiect din sistemul de control al surselor (vezi meniul Project -> Source Control).
  • Save Workspace (salveaza spatiul de lucru) - salveaza configuratia spatiului de lucru
  • Close Workspace (īnchide spatiul de lucru)
  • Save (salveaza) - salveaza fisierul activ
  • Save As (salveaza ca) - salvarea cu un alt nume
  • Save All (salveaza toate) - salveaza toate fisierele
  • Page Setup (setari de pagina) - pentru imprimare
  • Print (imprimare)
  • Recent Files (fisiere recente) - meniu cu fisierele recent deschise
  • Recent Workspaces (spatii de lucru recente) - meniu cu spatiile de lucru recent deschise
  • Exit (iesire) - parasirea mediului

2.2. Meniul Edit (Editare)

Acesta contine, pe lānga comenzile uzuale de editare, urmatoarele:

  • Find in Files (cauta īn fisiere) - cautare īn mai multe fisiere alese (dupa tip, dupa directoare)
  • Go To (du-te la) - ne putem pozitiona la o anumita adresa, la un anumit semn de carte, la o definitie, la o eroare/eticheta, la o anumita linie, la un anumit deplasament, la o anumita referire.
  • Bookmarks (semne de carte) - putem da un nume unei locatii, pentru a ne pozitiona acolo ulterior, folosind acest nume.
  • Advanced (avansat) - contine cāteva comenzi avansate de editare
  • Breakpoints (puncte de oprire) - permite lucrul cu puncte de oprire a executiei.

Comenzile de inserare / stergere, activare / dezactivare a punctelor de oprire apar si īn meniul contextual al ferestrei de editare pentru fisierele .h si .cpp.

  • List Members (afiseaza membrii) - afiseaza o lista a datelor si functiilor membre pentru clasa sau structura selectata. Invocata īn afara unui domeniu valid, lista va fi populata cu membri globali, inclusiv functii sistem API, clase C++, variabile locale si de instanta.

Comanda poate fi lansata si din meniul contextual al ferestrei de editare pentru fisierele .h si .cpp.

  • Type Info (informatii de tip) - afiseaza declaratia completa a oricarui identificator prin pozitionarea cursorului pe identificator.

Comanda poate fi lansata si din meniul contextual al ferestrei de editare pentru fisierele .h si .cpp.

  • Parameter Info (informatii despre parametri) - afiseaza declaratia completa, incluzānd lista de parametri, pentru functia de stānga cursorului. Parametrul īngrosat īl indica pe cel curent (īn timpul editarii).

Comanda poate fi lansata si din meniul contextual al ferestrei de editare pentru fisierele .h si .cpp.

  • Complete Word (completeaza cuvāntul) - completeaza restul numelui variabilei sau al functiei dupa ce am scris destule caractere din acest nume pentru a elimina ambiguitatile. Daca nu am scris destule caractere, invocarea acestei comenzi va afisa lista de membri, pe care o putem apoi folosi pentru a selecta numele.

Comanda poate fi lansata si din meniul contextual al ferestrei de editare pentru fisierele .h si .cpp.

Comenzile: Cut, Copy, Paste le gasim si īn meniul contextual al ferestrei de editare.

2.1.2.3. Meniul View (Afisare)

  • Class Wizard (managerul pentru clase) - apelarea dialogului Class Wizard (pentru aplicatiile care suporta MFC). Vom detalia aceasta comanda cānd ne vom ocupa de interfata. 

Comanda o gasim si īn meniul contextual al ferestrei de editare.

  • Resource Symbols (simbolurile resurselor) - arata simbolurile (numele) resurselor si valoarea identificatorilor lor.
  • Resource Includes (includerile resurselor) - se foloseste pentru a modifica modul implicit de a memora toate resursele īn fisierul nume_proiect.rc si toate simbolurile īn resource.h.
  • Full Screen (ecran īntreg) - afisarea pe tot ecranul (doar fereastra de editare, fara meniu, bare de unelte sau alte ferestre)
  • Workspace (spatiu de lucru) - face vizibila fereastra Workspace
  • Output (rezultat) - face vizibila fereastra Output
  • Debug Windows (ferestre de depanare) - face vizibile ferestrele de depanare īn mod debug. Acestea sunt:
    • Watch (urmarire) - vizualizarea variabilelor / expresiilor dorite
    • Call Stack (vizualizare stiva) - vizualizarea apelurilor din stiva
    • Memory (memorie) - vizualizarea si posibilitatea de a modifica locatiile de memorie dorite
    • Variables (variabile) - afisarea valorilor variabilelor (auto, locale, ale obiectului curent)
    • Registers (registri) - afisarea registrilor procesorului
    • Disassembly (dezasamblare) - vizualizarea codului īn limbaj de asamblare
  • Refresh (īmprospatare) - actualizeaza documentul curent
  • Properties (proprietati) - afiseaza proprietatile elementului selectat.

Comanda este disponibila si din meniurile contextuale ale elementelor din fereastra spatiului de lucru si din meniul contextual al ferestrei de editare.




2.1.2.4. Meniul Insert (Inserare)


New Class  (clasa noua) - adaugarea unei noi clase īn proiect.

Īn dialogul corespunzator alegem numele noii clase si clasele din care este derivata, precum si tipul de mostenire (private, public, protected).

Implicit, pentru fiecare noua clasa adaugata īn proiect, Microsoft Visual C++ adauga doua noi fisiere, unul .h, care contine definitia clasei si declaratiile tuturor membrilor sai, si unul .cpp, care contine definitiile membrilor clasei. Daca vrem ca acestea sa fie īn anumite fisiere (noi sau deja existente), putem specifica acest lucru. Comanda este disponibila si din meniul contextual al proiectului.

Daca dorim sa adaugam īn proiect o clasa care exista deja (de exemplu, īn doua fisiere - unul .h si altul .cpp), va trebui sa adaugam fisierele īn proiect (folosind tab-ul FileView din fereastra Workspace). Fisierul .cpp trebuie adaugat īn grupul "Source Files", iar cel .h, īn grupul "Header Files".


stergerea din proiect a unei clase definita īn fisiere proprii .h si .cpp se face din Workspace, tab-ul FileView, prin stergerea fisierelor aferente clasei (cu selectare si Edit -> Delete). Aceasta operatie nu va realiza stergerea fizica a fisierelor, ci doar eliminarea lor din proiect. Desigur, daca clasa este folosita de alte clase, trebuie sa eliminam toate referintele spre ea. stergerea o putem realiza si manual, īn special īn cazul īn care clasa nu are fisiere proprii.

  • New Form (formular nou) - permite adaugarea unui formular nou. Comanda este disponibila si din meniul contextual al proiectului din ClassView, fereastra Workspace.
  • Resource (resursa) - permite inserarea unei resurse īn proiect. Resursa poate fi una noua sau una importata. Tipurile de resurse predefinite sunt: accelarator, bitmap, cursor, dialog, HTML, icon, meniu, tabel de siruri, bara de unelte, versiune. Se pot defini si alte tipuri.

Comanda este disponibila si din meniul contextual al tuturor elementelor din ResourceView, fereastra Workspace.

  • Resource Copy (copie a unei resurse) - creeaza o copie a resursei, care se foloseste numai cu o anumita conditie sau creeaza o copie īntr-o alta limba.

Adaugarea unei resurse prin duplicarea alteia se poate face īn fereastra Workspace, tab-ul ResourceView, selectānd resursa de duplicat si folosind apoi Copy si Paste din meniul Edit. Pentru noua resursa se va crea un alt identificator.

New ATL Object (un nou obiect ATL). ATL (Active Template Library) este o colectie de clase bazate pe template C++ cu ajutorul carora se pot crea usor obiecte COM (Component Object Model).

Comanda este disponibila si din meniul contextual al proiectului.

2.1.2.5. Meniul Project (Proiect)

  • Set Active Project (seteaza proiectul activ) - seteaza proiectul activ din spatiul de lucru. Comanda este utila mai ales cānd īn spatiul de lucru avem mai multe proiecte - la un moment dat, un singur proiect este activ.

Comanda este disponibila si din meniul contextual al proiectului (Set as Active Project).

  • Add To Project (adauga la proiect)

o        New (nou) - crearea si adaugarea la proiect a unui nou fisier, proiect sau a altor documente - ca si File -> New, doar ca de aici nu se poate crea un nou spatiu de lucru.

Comanda este accesibila si din meniul spatiului de lucru (FileView, fereastra Workspace).

o        New Folder (un nou director) - Comanda este activa daca este selectat īn fereastra Workspace un element din FileView (nu spatiul de lucru) sau un element din ClassView. Vezi meniul contextual al proiectului - fereastra Workspace, tab-ul ClassView.

o        Files (fisiere) - adauga fisiere existente īn proiectul selectat si le plaseaza īn directorul corespunzator din FileView (fereastra Workspace). Adaugarea īntr-un anumit director se poate face din meniul contextual al directorului respectiv (FileView).

o        Data Connection (conexiune la o baza de date) - adauga o conexiune la o baza de date (pentru proiectele de baze de date).

o        Components and Controls (componente si controale) - adauga īn proiect componente si controale din galerie (īn mod implicit). Se pot adauga controale ActiveX, componente Visual C++ sau clase puse īn galerie de utilizator (vezi Add to Gallery din meniul clasei, fereastra Workspace, ClassView).

  • Source Control (controlul surselor)

Un sistem de control al surselor foloseste o baza de date pentru a urmari, organiza si manageriza "proiecte". Aceste proiecte sunt unitati de organizare, ca directoarele, si pot contine diferite tipuri de fisiere (elemente), inclusiv cod si documentatie. Configuratia tipica presupune ca toate fisierele sunt memorate īntr-o baza de date pe un server, la care se pot conecta cei care participa la dezvoltarea aplicatiei. Astfel se poate mai bine organiza ierarhic aplicatia si controla accesul la fisiere. Comenzile de baza pentru pastrarea fisierelor īn baza de date sunt: luarea versiunii curente a unui element (versiunea de pe server este copiata local si are acces doar de citire), adaugarea (comanda accesibila si din meniul contextual al spatiului de lucru si al proiectului), check out (versiunea de pe server este copiata local si poate fi aici modificata, ceilalti dezvoltatori ai aplicatiei lucrānd cu varianta veche si avānd posibilitatea doar de a citi) si check in (actualizarea pe server a variantei luate cu check out si modificate local, iar pentru ceilalti nu mai este accesibila doar pentru citire).

  • Dependencies (dependente) - dependentele proiectului
  • Settings (setari) - setari legate de configuratiile proiectelor (vezi meniul Build -> Configurations). Setarile se pot face la un moment dat pentru o configuratie a unui proiect sau pentru aceeasi configuratie a mai multor proiecte din spatiul de lucru. Setarile sunt grupate pe categorii (generale, de depanare, C/C++, de link, de resurse, de informatii despre referiri, de compilare definita de utilizator, de pre-link, de post-compilare).
  • Export Makefile (exporta makefile) - creeaza fisierul .mak pentru compilarea cu nmake
  • Insert Project into Workspace (insereaza un proiect īn spatiul de lucru) - inserarea īn spatiul de lucru a unui proiect existent

2.1.2.6. Meniul Build (Construire)

Acesta contine comenzile de compilare si construire a executabilelor, de depanare, de rulare si comenzi de configurare.

Comenzile de depanare din acest meniu sunt:

  • Start Debug (īncepe depanarea). Putem īncepe depanarea prin comenzile:

o        Go (porneste)

o        Step Into (intra) - porneste debugger-ul īn mod pas cu pas

o        Run to Cursor (executa pāna la cursor)

o        Attach to Process (ataseaza la un proces) - permite depanarea unui proces existent

  • Debugger Remote Connection (conexiune debug la distanta) 

Comenzile de configurare din meniul Build sunt:

  • Set Active Configuration - seteaza configuratia pentru proiectul activ (daca alegem o configuratie a unui proiect inactiv, acesta va fi setat ca proiect activ) - vezi Configurations.
  • Configurations (configuratii). Unui proiect i se pot asocia mai multe configuratii. Cele existente initial sunt Debug si Release. Cu aceasta comanda se pot adauga sau sterge configuratii ale proiectelor, iar setarile corespunzatoare configuratiilor le putem face din meniul Project -> Settings.
  • Profile (profil) - statistici pentru o executie a aplicatiei. Aceasta optiune este utila īn verificarea performantei codului, nu pentru debug. Astfel, putem afla, de exemplu, ce functii au fost apelate, de cāte ori au fost apelate, cāt a durat executia lor, ce instructiuni au fost executate.

Profilul se activeaza din Project -> Settings, tab-ul Link, categoria General, checkbox-ul Enable Profiling.

2.1.2.7. Meniul Debug (Depanare)

Acest meniu nu este vizibil decāt īn mod debug, cānd apare īn locul meniului Build. Intrarea īn mod debug se face din meniul Build -> Start Debug.

Comenzile din acest meniu sunt:

Go (continua) - continua executia pāna la primul breakpoint

Restart (reporneste) - reporneste programul, oprindu-se la īnceputul lui main

Stop Debugging (opreste depanarea)

Break (pauza) - opreste programul la punctul de executie curent



Apply Code Changes (aplica modificarile din cod) - aplica modificarile facute īn mod debug, fara a fi nevoie sa se reporneasca programul

Step Into (pas īn) - executa pāna la urmatoarea instructiune. Daca instructiunea curenta este un apel de functie, se va opri la prima instructiune din acea functie.

Step Over (pas peste) - executa pāna la urmatoarea instructiune. Daca instructiunea curenta este un apel de functie, se va opri la instructiunea urmatoare apelului functiei.

Step Out (pas īn afara) - executa pāna la instructiunea urmatoare apelului functiei īn care ne aflam

Run to Cursor (executa pāna la cursor)

Step Into Specific Function (pas īntr-o functie specificata)

Exceptions (exceptii) - afiseaza dialogul de exceptii, īn care se poate specifica modul de tratare a exceptiilor

Threads (fire de executie) - afiseaza dialogul de fire de executie, īn care se pot suspenda, reporni sau pune ca active firele de executie ale programului

Modules (module) - afiseaza lista modulelor mapate īn spatiul de adrese al programului curent

Show Next Statement (pozitionare pe urmatoarea instructiune)

Quick Watch (urmarire rapida) - afiseaza fereastra Quick Watch, īn care se poate lucra cu expresii

2.1.2.8. Meniul Tools (Unelte)

Din acest meniu se pot lansa diferite unelte, se poate personaliza interfata mediului, se pot specifica diferite optiuni (legate de editor, de tab-urile de editare, de depanare, de compatibilitate, de compilare, de directoare, de controlul surselor, de spatiul de lucru, de lucrul cu baze de date, de macrouri, de sistemul de help, de format), se poate lucra cu macrourile.

2.1.2.9. Meniul Window (Fereastra)

Acest meniu contine comenzi legate de ferestrele de editare.

2.1.2.10. Meniul Help (Ajutor)

Acest meniu contine comenzi pentru facilitarea lucrului utilizatorului. Pe lānga comenzile obisnuite ale unui help, exista si comanda Keyboard Map... care arata tastele asociate diferitelor comenzi si descrierea acestor comenzi.

Pe lānga aceste meniuri, exista si altele specifice fiecarui tip de aplicatie, tip de fisier ce se editeaza etc. De exemplu, cānd editam o resursa dialog, apare un meniu Layout.

2.1.3. Ferestrele mediului

Ferestrele si barele de unelte ale mediului pot fi facute vizibile / ascunse din meniul contextual al barei cu meniurile (si al ferestrei de editare, cānd nu avem nici un fisier deschis).

2.1.3.1. Fereastra Workspace (spatiu de lucru)


Fereastra Workspace contine structura arborescenta a proiectelor din spatiul curent de lucru. Tab-ul ClassView arata structura pe clase si membrii fiecarei clase, tab-ul FileView arata structura pe fisiere, iar tab-ul ResourceView arata resursele (daca nici un proiect din spatiul de lucru nu are resurse, acest tab lipseste).

Meniul contextual al ferestrei Workspace este prezent si īn toate celelalte meniuri contextuale din fereastra.


Docking View seteaza modul de afisare a ferestrei

Hide (ascunde) ascunde fereastra

Properties (proprietati) afiseaza informatii despre elementul selectat

ClassView

Comenzile specifice proiectului (īn ClassView) sunt: Set as Active Project, New Class, New ATL Object, New Folder, Add to Source Control.


Comanda New Folder (un nou director) se foloseste pentru gruparea īn directoare a claselor, īn ClassView, respectiv a fisierelor īn FileView. Īn ClassView nu este permisa imbricarea (toate directoarele sunt pe acelasi nivel). Īn FileView este permisa imbricarea, iar noul director poate fi asociat cu o extensie de fisier.

Comenzile specifice clasei din meniului contextual al clasei (figura 2.8) sunt:

Go to Definition (du-te la definitie) - realizeaza pozitionarea la īnceputul definitiei clasei, īn fisierul .h asociat acesteia (acelasi efect se obtine cu clic dublu pe numele clasei).


Add Member Function (adauga o functie membra) - se foloseste pentru a adauga o metoda clasei. Figura 2.9 prezinta dialogul pentru adaugarea unei metode. Se poate seta tipul accesului, daca sa fie statica, daca sa fie virtuala.


Add Member Variable (adauga o variabila-membru) - se utilizeaza la adaugarea unei date clasei. Mai jos este prezentat dialogul pentru adaugarea unei date.

References (referiri) arata toate referirile la clasa respectiva. Pentru a se putea da acest raport, la compilare se creeaza un fisier .bsc, care va fi plasat īn directorul configuratiei active. Fisierul se creeaza doar daca este activat "Generate browse info" īn setarile proiectului ce tin de C/C++ (daca nu, atunci nu vor fi disponibile informatii despre referiri).


Daca īntr-un proiect avem o singura referire la o clasa A, de exemplu: clasa B este derivata din A.

class B : public A


Fereastra de referiri la A va arata ca cea din figura 2.11. Un clic dublu pe o referire ne va pozitiona īn fisierul respectiv, la linia pe care se afla referirea.


Derived Classes (clasele derivate) - arata membrii si clasele derivate pentru o clasa. Īn stānga este afisata toata ierarhia de clase care au ca stramos clasa aleasa. De aici putem alege o alta clasa (din aceasta ierarhie) pentru care sa se afiseze membrii si clasele derivate (cu clic pe numele clasei). De asemenea, putem filtra care membri sa fie afisati, folosind listele ascunse din partea de sus a dialogului.

si aici, un dublu clic ne pozitioneaza la locatia respectiva.


Īn exemplul din figura 2.12, clasele B si DA mostenesc (sunt derivate din) clasa A, iar DB mosteneste clasa B.

Base Classes (clasele de baza) - este o optiune similara cu cea de mai sus, doar ca īn loc de referirile la clasele derivate avem referiri la clasele de baza. Ierarhia de clase din stānga arata clasele de baza (īn exemplul din figura 2.13, DB este derivata din B, iar B este derivata din A - altfel spus: B este clasa de baza pentru DB, iar A este clasa de baza pentru B).

Add to Gallery (adauga la galerie) - cu aceasta optiune putem converti clasa īn componenta reutilizabila (fisier .ogx). Comanda creeaza īn galerie un nou director avānd numele proiectului, creeaza si pune īn acest director componenta definita de utilizator (fisierul .ogx). Fisierul .ogx permite altor aplicatii sa utilizeze clasa adaugata īn galerie. Directorul implicit al galeriei este \Program Files\Microsoft Visual Studio\ Common\MSDev98\Gallery



Adaugarea īn proiect a unei componente din galerie se face din meniul Project - > Add To Project - > Components and Controls. Īn dialogul care apare selectam componenta pe care vrem sa o adaugam.

New Folder - aceeasi semnificatie ca la proiect

Group by Access (grupeaza īn functie de acces). Īn mod implicit, membrii claselor sunt grupati astfel: alfabetic metodele, apoi alfabetic datele - aceasta comanda este prezenta si īn meniul contextual la membrilor claselor si se aplica tuturor claselor, nu doar celei de unde a fost lansata. Ea sorteaza membrii astfel: dupa acces metodele, apoi dupa acces datele.

Comanda apare si īn meniurile contextuale ale membrilor.

Comenzile legate de variabile sunt:

Go to Definition (du-te la definitie) - ne pozitioneaza la definitia datei

References - afiseaza referirile la acea data. De asemenea, cu dublu clic, ne pozitionam la locatia respectiva.

Comenzile legate de functii sunt:

Go to Definition - pozitionare la definitia metodei

Go to Declaration - pozitionare la declaratia metodei

Delete - stergerea metodei. Operatia sterge declaratia metodei, iar definitia (daca exista) este comentata (si selectata - astfel poate fi stearsa usor).

Aceasta comanda este disponibila doar pentru metode.

Set Breakpoint - stabileste un punct de īntrerupere la depanare, la īnceputul metodei.

Comanda este disponibila si din fereastra de editare pentru fisierele .h si .cpp.

References - afisarea referirilor si pozitionarea la ele

Calls - construieste graful functiilor apelate

Called By - construieste graful functiilor apelatoare

FileView

Comenzile specifice spatiului de lucru sunt: Add New Project to Workspace, Insert Project into Workspace, Add to Source Control - vezi meniul Project.

Comenzile specifice proiectului īn FileView sunt:

  • Build (construieste) - construieste executabilul pentru proiectul curent (nu neaparat cel activ)
  • Build (selection only) (construieste (doar selectia)) - construieste executabilele pentru proiectele selectate din spatiul de lucru
  • Clean (selection only) (sterge (doar selectia)) - sterge fisierele finale si intermediare pentru proiectele selectate
  • Add Files to Project (adauga fisiere la proiect)
  • Load Project / Unload Project (īncarca / descarca proiectul). Pentru a optimiza lucrul cu spatiul de lucru, daca acesta contine mai multe proiecte, putem descarca unele proiecte.

Alte comenzi deja prezentate sunt: New Folder, Set As Active Project, Settings.

Comenzile specifice directoarelor sunt: New Folder, Add Files to Folder (adauga fisiere īn director), Settings, Add to Source Control.

Comenzile specifice fisierelor sunt: Open, Compile (apare doar la cele care pot fi compilate), Settings, Add to Source Control.

ResourceView

Acest tab contine resursele proiectului, care pot fi deschise, editate, duplicate, sterse, se pot adauga altele noi, se pot importa unele existente. Microsoft Visual C++ se ocupa de compilarea lor.

2.1.3.2. Fereastra de editare

Aceasta fereastra este cea īn care deschidem fisiere (fie independente, fie dintr-un proiect). Aceste fisiere pot fi de multe tipuri. La un moment dat pot fi deschise mai multe fisiere deodata. Īn functie de tipul fisierului activ (si de alte criterii), avem la dispozitie anumite comenzi.

Comenzile din meniul contextual al ferestrei de editare pentru fisiere sursa si antet sunt:

Insert File into Project (insereaza fisierul īn proiect) - insereaza fisierul activ īn proiectul ales (dintre cele ale spatiului de lucru curent).

Check In / Check Out - vezi meniul Project -> Source Control.

Open Document (deschide un document)

Go To Definition (du-te la definitie) - pozitionare la definitia elementului pe care se afla cursorul

Go To Reference (du-te la referire) - pozitionare la referirea la elementul pe care se afla cursorul

Insert/Remove Breakpoint (insereaza / elimina un punct de oprire)

Enable Breakpoint / Disable Breakpoint (activeaza / dezactiveaza un punct de oprire)

cāteva comenzi de editare (Cut, Copy, Paste, List Members, Type Info, Parameter Info, Complete Word) - vezi meniul Edit.

comenzi din meniul View (Class Wizard, Properties) - vezi meniul View.

2.1.3.3. Fereastra Output (Rezultat)

Īn aceasta fereastra sunt afisate rezultatele compilarilor, editarilor de legaturi (avertismente, erori, module īncarcate), cautarii īn fisiere, analizelor de profil, executiilor instructiunilor care scriu īn aceasta fereastra, blocuri de memorie alocate si neeliberate de catre program (dupa terminarea executiei) si altele.

2.1.4. Barele de unelte ale mediului

Acestea pun la īndemāna comenzile mai utilizate. Barele de unelte pot fi personalizate. Cele implicite sunt: Standard, Build, Build Minibar, ATL, Resource, Edit, Debug, Browse, Database, Source Control, Wizard Bar.

Probleme propuse

Sa se creeze cāte o aplicatie consola de fiecare tip si sa se analizeze fisierele generate si codul generat de catre Microsoft Visual C++ pentru acestea.

Īntr-o aplicatie consola, sa se studieze comenzile din fereastra Workspace si modul de organizare si reprezentare a elementelor īn ClassView, FileView si ResourceView. Sa se experimenteze:

adaugarea de clase, metode, date, obiecte si resurse folosind comenzile mediului Microsoft Visual C++.

adaugarea de clase, metode, date si obiecte direct īn fisiere.

adaugarea de clase existente prin includerea īn proiect a fisierelor īn care sunt implementate acestea.

Sa se realizeze compilarea, construirea executabilului si rularea unei aplicatii consola, apelānd comenzile corespunzatoare atāt din meniuri, cāt si din barele de unelte (Build, Build Minibar).

Sa se depaneze o aplicatie consola, apelānd comenzile corespunzatoare folosind atāt meniurile, cāt si bara de unelte Debug. Sa se urmareasca continutul ferestrelor de depanare.





Document Info


Accesari: 6870
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2023 )