Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
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: 6960
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. 2024 )