Laboratorul 1. Primii paşi în Visual Basic.NET

Similar documents
VISUAL FOX PRO VIDEOFORMATE ŞI RAPOARTE. Se deschide proiectul Documents->Forms->Form Wizard->One-to-many Form Wizard

GRAFURI NEORIENTATE. 1. Notiunea de graf neorientat

Exerciţii Capitolul 4

Ghid de instalare pentru program NPD RO

Modalităţi de redare a conţinutului 3D prin intermediul unui proiector BenQ:

Parcurgerea arborilor binari şi aplicaţii

Pasul 2. Desaturaţi imaginea. image>adjustments>desaturate sau Ctrl+Shift+I

Sistemul de operare Windows (95, 98) Componenta My Computer

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Mail Moldtelecom. Microsoft Outlook Google Android Thunderbird Microsoft Outlook

Aplicatii ale programarii grafice in experimentele de FIZICĂ

Split Screen Specifications

Ghidul administratorului de sistem

PREZENTARE INTERFAŢĂ MICROSOFT EXCEL 2007

Split Screen Specifications

4 Caracteristici numerice ale variabilelor aleatoare: media şi dispersia

SUBIECTE CONCURS ADMITERE TEST GRILĂ DE VERIFICARE A CUNOŞTINŢELOR FILIERA DIRECTĂ VARIANTA 1

Hama Telecomanda Universala l in l

Construirea interfeţei utilizator

Reprezentări grafice

9. MENIURI si OBIECTE MULTIMEDIA

Teoreme de Analiză Matematică - II (teorema Borel - Lebesgue) 1

O abordare orientată pe componente generice pentru crearea dinamică a interfeţelor cu utilizatorul

Anexa 2. Instrumente informatice pentru statistică

Application form for the 2015/2016 auditions for THE EUROPEAN UNION YOUTH ORCHESTRA (EUYO)

Press review. Monitorizare presa. Programul de responsabilitate sociala. Lumea ta? Curata! TIMISOARA Page1

Ghid de utilizare a platformei e-learning

Introducere De ce această carte?... 8 Eficienţă maximă... 8 Scurt Istoric... 9 De ce C#? Capitolul I : Să ne pregătim...

BAZE DE DATE SI PRELUCRARI STATISTICE

Structura sistemelor de operare Windows şi Linux

CAPITOLUL 2. FACILITATILE SI ARHITECTURA SISTEMULUI ORACLE

GREUTATE INALTIME IMC TAS TAD GLICEMIE

Click pe More options sub simbolul telefon (în centru spre stânga) dacă sistemul nu a fost deja configurat.

Curs 3 Word 2007 Cuprins

Un tip de data este caracterizat de: o O mulţime de date (valori є domeniului) o O mulţime de operaţii o Un identificator.

Curriculum vitae Europass


10 Estimarea parametrilor: intervale de încredere

22METS. 2. In the pattern below, which number belongs in the box? 0,5,4,9,8,13,12,17,16, A 15 B 19 C 20 D 21

Capitolul V MODELAREA SISTEMELOR CU VENSIM

Circuite Basculante Bistabile

Procedura Controlul documentelor

1. Ecuaţii diferenţiale de ordinul întâi

Revista Virtuala Info MateTehnic ISSN ISSN-L CUPRINS

ELEMENTE DE INTERFATA ALE UNUI SISTEM DE OPERARE

riptografie şi Securitate

9.1. Structura unităţii de I/E. În Figura 9.1 se prezintă structura unui sistem de calcul împreună cu unitatea

Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, Graph Magics. Dumitru Ciubatîi Universitatea din Bucureşti,

CUPRINS CAP. 1. PREZENTARE GENERALĂ

Sisteme de operare şi programe specifice. Material de predare partea a I-a. Material de învăţare

Realizarea prezentărilor electronice folosind Microsoft Power Point 2010

Poo Laboratoare 1. Laborator Programare cu JTable & JTree JTable JTree... 2

MODULUL 2 UTILIZAREA SISTEMULUI DE OPERARE WINDOWS XP CURSUL UTILIZAREA CALCULATORULUI PERSONAL; APLICAREA TIC ÎN ŞCOALĂ ŞI AFACERI

PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL PROCESSORS

6. MPEG2. Prezentare. Cerinţe principale:

CE LIMBAJ DE PROGRAMARE SĂ ÎNVĂŢ? PHP vs. C# vs. Java vs. JavaScript

Autonet Service Manager

DIRECTIVA HABITATE Prezentare generală. Directiva 92/43 a CE din 21 Mai 1992

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

SORIN CERIN STAREA DE CONCEPŢIUNE ÎN COAXIOLOGIA FENOMENOLOGICĂ

Ghid de Instalare Windows Vista

Rigla şi compasul. Gabriel POPA 1

STANDARDUL INTERNAŢIONAL DE AUDIT 120 CADRUL GENERAL AL STANDARDELOR INTERNAŢIONALE DE AUDIT CUPRINS

Algoritmică şi programare Laborator 3

Maria plays basketball. We live in Australia.

Referat II. Arhitectura unei interfeţe avansate pentru un Sistem Suport pentru Decizii. Coordonator ştiinţific: Acad. prof. dr. ing. Florin G.

LESSON FOURTEEN

1. Funcţii speciale. 1.1 Introducere

MANUAL DE UTILIZARE. 2. Nomenclator Curs Produse Clienti Introducere Facturi

MODULUL 2 UTILIZAREA SISTEMULUI DE OPERARE WINDOWS VISTA CURSUL UTILIZAREA CALCULATORULUI PERSONAL; APLICAREA TIC ÎN ŞCOALĂ ŞI AFACERI

Mediul XWindow. Dr. Sabin-Corneliu. Facultatea de Informatică Universitatea A.I.Cuza Iaşi, România ://

Geographical data management in GIS systems

ARHITECTURA CALCULATOARELOR 2003/2004 CURSUL 10

Cu ce se confruntă cancerul de stomac? Să citim despre chirurgia minim invazivă da Vinci

Limba Engleză. clasa a XI-a - frecvenţă redusă - prof. Zigoli Dragoş

2 MEDIUL BAZELOR DE DATE

FIŞA DISCIPLINEI. îndrumar de laborator

CALCULATOARE NUMERICE

ZOOLOGY AND IDIOMATIC EXPRESSIONS

Tehnici de programare

Curriculum vitae Europass

Pagini Web prin Microsoft Frontpage. Crearea de pagini web. Introducere

FISA DE EVIDENTA Nr 1/

FISA DE EVIDENTA Nr 2/

EPI INFO. - Cross-tabulation şi testul 2 -

Executive Information Systems

Gândirea algoritmică - o filosofie modernă a matematicii şi informaticii

Managementul Proiectelor Software Principiile proiectarii

Regulamentul privind utilizarea rețelelor de socializare în instituţiile guvernamentale

Universitatea din Bucureşti. Facultatea de Matematică şi Informatică. Şcoala Doctorală de Matematică. Teză de Doctorat

TTX260 investiţie cu cost redus, performanţă bună

FORMULAR PENTRU ORGANIZAŢIILE CARE DESFĂŞOARĂ ACTIVITĂŢI DE CONSULTANŢĂ ÎN REGIUNEA CENTRU

Implementarea unei aplicaţii pentru sisteme e-learning cu capabilităţi multimedia streaming

Consideraţii statistice Software statistic

Precizări metodologice cu privire la evaluarea inińială/ predictivă la disciplina limba engleză, din anul şcolar

Operaţiile de sistem de bază

Kit de acţiune pentru adolescenţi Spune-ţi părerea

1. Introducere in instrumentaţia virtuală 2. Arhitectura unui instrument virtual 3. Medii de dezvoltare pentru instrumentaţia virtuală

Defuzzificarea într-un sistem cu logică fuzzy. Aplicaţie: maşina de spălat cu reguli fuzzy. A. Obiective. B. Concepte teoretice ilustrate

Alexandrina-Corina Andrei. Everyday English. Elementary. comunicare.ro

Transcription:

Laboratorul 1 Primii paşi în Visual Basic.NET Ce ne propunem astăzi? În laboratorul de astăzi ne propunem crearea unei aplicaţii simple pentru evidenţa studenţilor unei facultăţi. În cadrul acestei aplicaţii vom utiliza câteva dintre facilităţile POO oferite de Visual Basic.NET. Din păcate vom arăta numai o mică parte din acestea, urmând să învăţăm mai mult la curs şi pe parcursul lucrărilor de laborator ce vor urma. Microsoft Visual Studio.NET este un mediu de dezvoltare folosit pentru crearea de aplicaţii în limbajele de programare: Visual Basic, C#, C++ sau J# (începând cu versiunea 2005). Visual Studio.NET dispune de un editor complex de cod, care se foloseşte pentru crearea, modificarea şi depanarea codului aplicaţiei (poate fi vorba de cod Visual Basic.NET, Visual C#.NET etc.). De asemenea, oferă un set de obiecte şi instrumente cu ajutorul cărora se pot realiza cu uşurinţă interfeţe cu utilizatorul pentru Windows, Web, servicii WEB etc. Visual Basic.NET este un limbaj de programare care face parte din familia de limbaje.net, după cum o sugerează şi numele. Este un limbaj modern, puternic, complet orientat pe obiecte, la fel de valoros ca C# sau Java, care permite dezvoltarea atât de aplicaţii Windows cât şi de aplicaţii şi servicii WEB. O alta caracteristică demnă de amintit a acestui limbaj este aceea ca reuşeşte să păstreze sintaxa simplă care a fost întotdeauna elementul distinctiv al familiei de limbaje BASIC. O aplicaţie tipică Windows, realizată în Visual Basic.NET, afişează unul sau mai multe ecrane conţinând obiecte cu care utilizatorul va interacţiona. Obiectele programului sunt ferestrele aplicaţiei (denumite de asemenea Forms, sau formulare) şi controalele desenate pe ele în mod vizual. În cadrul unei aplicaţii Windows formularele sunt elementele de bază ale interfeţei cu utilizatorul. În Visual Basic.NET formularele sunt complet orientate pe obiecte, ele reprezentând de fapt clase. În momentul în care se creează un nou formular, fie deschizând un proiect nou de tip Windows Application, fie adăugând un nou formular proiectului existent (folosind caseta de dialog Add New Item ), i se adaugă de fapt proiectului o clasă care derivă din clasa System.Windows.Forms.Form, căreia i se mai spune pe scurt clasa Form, iar noua clasă moşteneşte toţi membrii clasei existente. Controalele sunt suportul interfeţei cu utilizatorul, al dialogului cu acesta. Acestea nu pot exista independent de formular, formularul fiind din acest punct de vedere un container cu mai multe controale. După realizarea formularelor şi adăugarea controalelor dorite pe acestea, programatorul trebuie să adauge cod sursă şi să-l ataşeze unor evenimente care să permită utilizatorilor să 1

Laborator 1 MTP interacţioneze cu programul. De exemplu, dacă se doreşte ca un buton de comandă să deschidă un formular, în procedura corespunzătoare evenimentului Click asociată acelui buton, se va plasa codul corespunzător deschiderii unui nou formular. Evenimentele se produc ca urmare a unei acţiuni a utilizatorului, a execuţiei programului sau pot fi declanşate de sistem. Producerea unui eveniment (Click, Double Click, Drag&Drop, KeyPress etc.) declanşează execuţia unei proceduri eveniment. Utilizatorul poate crea propriul cod în corpul acestei proceduri. Apelarea unei proceduri eveniment pentru un obiect dat se face automat, dacă obiectul e focalizat şi dacă se produce o acţiune care să declanşeze respectivul eveniment. Procedura eveniment poate fi apelată şi prin cod, la fel ca orice altă procedură, însă acest lucru nu va duce şi la declanşarea evenimentului asociat. Exemplu: Nume_Obiect.Nume_Eveniment(Lista_Argumente) Metodele obiectelor vizuale, spre deosebire de procedurile eveniment, sunt read-only. Ele pot fi doar apelate. Exista câteva metode comune tuturor obiectelor vizuale, în rest fiecare obiect având propriile lui metode. Metodele se apelează în felul următor: Nume_Obiect.Nume_Metoda(Lista_Argumente) Atât formularele cât şi controalele au asociate un set de proprietăţi prin intermediul cărora pot fi setate caracteristici ale acestora, cum ar fi: poziţia şi dimensiunea stilul şi comportamentul aspectele grafice etc. Anumite proprietăţi pot fi modificate la proiectare (folosind fereastra de proprietăţi), altele pot fi modificate doar în timpul execuţiei, altele permit accesul şi la proiectare şi la execuţie. La execuţie, valoarea unei proprietăţi poate fi modificata prin instrucţiuni de forma: Nume_Obiect.Nume_Proprietate = Valoare Realizarea unei aplicaţii Visual Basic.NET înseamnă parcurgerea următoarelor etape: proiectarea mentală sau pe hârtie a interfeţei utilizator, crearea unui proiect nou, crearea de formulare (unul pentru fiecare fereastră a aplicaţiei), adăugarea de controale formularelor, folosind caseta de instrumente (ToolBox), crearea unei bare de meniu şi/sau a unei bare de instrumente (ToolBar) pentru funcţiile principale ale aplicaţiei (opţional), setarea proprietăţilor formularelor şi controalelor, scrierea codului (declaraţii de variabile, funcţii, proceduri sau clase, respectiv asocierea de cod pentru evenimentele obiectelor vizuale), testarea aplicaţiei, crearea fişierului executabil şi a kit-ului de distribuţie. 2

Noţiuni elementare de Programare Orientată pe Obiecte în Visual Basic.NET Clase şi proprietăţi O clasă poate conţine câmpuri, metode sau proprietăţi. Membrii claselor pot avea oricare din specificatorii de acces permişi în Visual Basic: Private, Friend, Protected, Protected Friend şi Public. Proprietăţile reprezintă modalităţi de expunere publică a câmpurilor unei clase, putând, la nevoie, să ofere numai drept de citire (read only) sau drept de scriere (write only). Avantajul utilizării proprietăţilor este acela că ele permit scrierea de cod asociat operaţiilor de atribuire şi verificarea în acest fel a validităţii datelor transmise. În exemplul de mai jos se defineşte clasa Persoana care are două câmpuri private şi două proprietăţi publice care accesează câmpurile private nume şi varsta. Proprietatea NumePersoana poate fi accesată atât în mod citire cât şi în mod scriere, pe când proprietatea VarstaPersoana poate fi accesată numai în mod citire. Class Persoana Private nume As String Private varsta As Byte Public Property NumePersoana() As String Return nume End Set(ByVal value As String) nume = value End Set Public ReadOnly Property VarstaPersoana() As Byte Return varsta End Moştenire Pentru a putea observa modul de utilizare a moştenirii în Microsoft Visual Basic, vom defini o clasă de bază: Public Class Persoana ' campuri publice Public Nume As String Public Prenume As String Public Function NumeComplet() As String Return Nume & " " & Prenume End Function Pentru a deriva o clasă Angajat din Persoana aveţi nevoie să adăugaţi o clauză Inherits imediat după declaraţia clasei: 3

Laborator 1 MTP ' clasa Angajat moşteneşte clasa Persoana. Public Class angajat Inherits Persoana Interfeţe În linii mari, o interfaţă reprezintă o clasă abstractă, un set de membri pe care îi expune o clasă. De exemplu, toţi membrii publici ai unei clase se spune că aparţin interfeţei clasei, însă o clasă poate de asemenea să expună şi alte grupuri de proprietăţi şi metode care nu sunt vizibile public. O interfaţă defineşte numai semnătura proprietăţilor şi metodelor (numele membrului, numărul şi tipul parametrilor, tipul şi valoarea returnată), pe când o clasă poate implementa acea interfaţă furnizând, după nevoie, codul pentru aceste proprietăţi şi metode. Codul din fiecare proprietate şi metodă poate să difere de la clasă la clasă, semantica fiecărei metode fiind păstrată. Faptul că fiecare clasă poate implementa aceeaşi proprietate sau metodă într-un mod diferit reprezintă baza pentru comportamentul polimorfic. Puteţi defini o interfaţă în Visual Basic prin intermediul blocului Interface End Interface: Public Interface Interfata ReadOnly Property Denumire() Property Valoare() Sub Init() End Interface Interfeţele Visual Basic nu pot conţine cod executabil; puteţi include numai semnături de metode şi proprietăţi. Iată cum ar arăta o clasă care implementează interfaţa definită mai sus: Class Clasa Implements Interfata Public Sub Init() Implements Interfata.Init End Sub Public ReadOnly Property Denumire() As Object Implements Interfata.Denumire End Public Property Valoare() As Object Implements Interfata.Valoare End Set(ByVal value As Object) End Set 4

Partea practică a laboratorului În cadrul acestui laborator se va crea în Visual Basic.NET o aplicaţie care să permită: crearea unei structuri de clase şi a unei liste de studenţi, afişarea într-un control de tip ListBox a studenţilor din cadrul unei facultăţi, adăugarea unui nou student, ordonarea studenţilor după nume, ordonarea studenţilor după medie descrescător, afişarea studenţilor dintr-un anumit an de studiu, căutarea unui student după nume, ştergerea unuia sau a mai multor studenţi (în funcţie de selecţia facută în ListBox). Figura 1. Fereastra aplicaţiei Sfaturi utile Nu pierdeţi timpul încercând să construiţi o interfaţă grafică extraordinar de spectaculoasă. Axaţi-vă în principal asupra aspectului funcţional al aplicaţiei. Încercaţi să implementaţi toate cerinţele aplicaţiei, apoi testaţi aplicaţia şi eliminaţi posibilele erori! Mod de lucru Iată paşii care trebuie urmaţi: Se definesc doua clase: clasa Persoana (clasă de bază) şi clasa Student (clasă derivată). 5

Laborator 1 MTP Clasa Persoana va avea ca membri: o Variabile protected: nume (String), varsta (Byte) Clasa Student va avea ca membri: o Variabile private: an (Byte), grupa (Byte), note(4) (Byte - şir de 5 note) o Proprietăţi publice read only: AnStudiu (Byte), NumeStudent (String) o Metode publice: Medie() As Single, AfisareStudent() Observaţie: Este preferabil ca declararea celor două clase să se facă într-un modul nou de program (din meniul Project, comanda Add Module). De regulă modulele de program Visual Basic sunt utilizate atunci când dorim să declarăm clase, funcţii, variabile sau constante publice al căror domeniu de vizibilitate să fie extins la întregul proiect. Se implementează o listă de obiecte pentru clasa Student. Exemplu: Dim stud As New ArrayList 'crearea listei de studenti Dim s as New Student 'crearea unui obiect de tip Student ' stud.add s 'adaugarea obiectului anterior creat in lista stud CType(stud(0),Student).Afisare 'apelarea unei metode a primului obiect din lista Observaţi că, pentru accesarea unui membru al listei, este nevoie de o conversie explicită a obiectului returnat de listă la tipul Student (funcţia CType din ultima linie de cod). Acest lucru se întâmplă deoarece membri listei sunt stocaţi ca obiecte de tip Object (acest tip de dată poate stoca orice tip de obiect). Se vor prevedea modalităţi de verificare a validităţii datelor introduse de la tastatură (cazul variabilelor numerice), prin utilizarea blocurilor Try Catch. Exemplu: Try 'instructiunile care pot provoca aparitia unei erori Catch ex As Exception 'Tratarea erorii, eventual prin afisarea descrierii erorii: 'MessageBox.Show(ex.Message) End Try Observaţii: Proprietăţile read-only NumeStudent şi AnStudiu din clasa Student, dau acces în mod citire la datele studentului, care altfel nu ar fi fost accesibile din afara clasei. Sortarea studenţilor se va face prin metoda Sort a listei (ArrayList). Pentru aceasta trebuie definită o clasă care să implementeze interfaţa IComparer (aceasta are un singur membru: metoda publică Compare) şi să supraîncarce metoda Compare pentru a-i da sensul dorit. o Mai multe informaţii despre aceasta se pot găsi la o căutare în Help după: ArrayList.Sort Method (IComparer). 6

Cu ce ne-am ales? Prin aplicaţia dezvoltată în cadrul laboratorului de astăzi am reuşit să ne familiarizăm pe de-o parte cu stilul de programare Visual Basic.NET, iar pe de altă parte am luat contact cu o parte din facilităţile POO oferite de acest limbaj. Bibliografie [1] http://msdn.microsoft.com/en-us/vbasic/default.aspx 7