Vous êtes sur la page 1sur 15

Medii Interactive de Programare a produselor Soft

Indrumar Laborator

Lector superior Boleac Ruslan


Laborator 1

Instalare Visual Studio


Navigare http://www.microsoft.com/express/vcsharp/Default.aspx si apoi se apasa
Downloads pentru Visual C#2008, dupa care se urmeaza pasii de instalare.

Exemplul 1.

- Primul program C#
1. Se deschide un Notepad (Start -> Run -> notepad [Enter]) si se scrie primul
program in C#:

using System;
namespace Laborator1
{
public class HelloWorld
{
static void Main ()
{
Console.Write ("Hello World!");
}
}
}
2. Se salveaza fisierul HelloWorld.cs intr-un director (de exemplu D:\Student).
3. Se deschide o linia de comanda pentru compilarea programului: Start -> All
Programs -> Visual Studio 2005 -> Visual Studio Tools -> Visual Studio
2005 Command Prompt
4. Pentru verificare se executa csc, iar rezultatul trebuie sa fie similar cu cel din
figura de mai jos:

5. Se navigheaza catre directorul in care se gaseste fisierul HelloWorld.cs:

…>d:
…>cd Student

6. Se compileaza HelloWorld.cs:

…>csc HelloWorld.cs

Daca in urma compilarii nu apar erori atunci rezulta fisierul HelloWorld.exe. Daca
apar erori, acestea trebuie corectate in fisierul HelloWorld.cs si apoi trebuie
executata din nou comanda de mai sus.

7. Se executa programul C#:

…>HelloWorld

8. Pentru modificarea programului trebuie editat codul aflat in fisierul


HelloWorld.cs si repetati pasii 6 si 7.
Exemplul 2

1. Se creeaza o clasa care mosteneste clasa Form din namespace-ul


System.Windows.Forms

using System.Windows.Forms;

public class Fereastra: Form


{
public static void Main()
{
Application.Run(new Fereastra());
}
}

2. Se adauga un buton in fereastra. Instantierea si initializarea se face in


constructorul clasei.

using System.Windows.Forms;

public class Fereastra: Form


{
System.Windows.Forms.Button button1;

Fereastra()
{
button1 = new System.Windows.Forms.Button();
button1.Text = "button1";
Controls.Add(this.button1);
}

public static void Main()


{
Application.Run(new Fereastra());
}
}

3. Se implementeaza un event handler pentru buton.

using System.Windows.Forms;

public class Fereastra: Form


{
System.Windows.Forms.Button button1;

Fereastra()
{
button1 = new System.Windows.Forms.Button();
button1.Text = "button1";
button1.Click += new
System.EventHandler(button_Click);
Controls.Add(this.button1);
}
public static void Main()
{
Application.Run(new Fereastra());
}

private void button_Click(object sender, System.EventArgs


e)
{
System.Windows.Forms.MessageBox.Show("?");
}
}

Exemplul 3

1. Se deschide Visual Studio 2005


2. Apoi se creaza o noua aplicatie desktop (File->New->Project)
3. Se adauga un buton din Toolbox
4. Se da dublu click pe buton pentru a se crea event handler-ul
5. Se afiseaza un mesaj atunci cand se apasa butonul.

6. Se compileaza si se executa (F5)

Exercitiu
Creati o aplicatie consola care sa primeasca un numar variabil de argumente - numere - si
sa faca suma lor. Sa se afiseze aceasta suma pe ecran.
Laborator 2

Structura unei aplicatii C#

O aplicatie C# (.Net in general) este formata din una sau mai multe clase, grupate in
spatii de nume (namespaces). Este obligatoriu ca una din aceste clase (si numai una) sa
contina un "punct de intrare" (entry point), si anume metoda Main.

O parte din clasele folosite de aplicatie sunt deja definite. Folosirea acestora se face fie
"importand" spatiile de nume care contin definitia acestora, fie apeland clasa folosind
numele complet. Prima metoda este folosita atunci cand clasele dintr-un namespace sunt
folosite de mai multe ori.

//"Importarea" spatiilor de nume


ce vor fi folosite.
using System;
//Definirea unui nou namespace
namespace FirstApplication
{
//Definirea unei clase
public class FirstClass
{
//Definitiile si declaratiile variabilelor si metodelor
...
//Metoda Main
}
}

Metoda Main
Metoda Main este punctul de intrare in aplicatie - este functia care se executa atunci cand
se lanseaza aplicatia. La fel ca si in C++, metoda Main poate avea mai multe signaturi,
fiecare dintre acestea fiind corecta.

La fel ca orice alta metoda C# (.Net) Main nu poate fi globala. Ea trebuie definita ca
fiind membru intr-o clasa.

public class FirstClass


{
...
static void Main() {...} static int Main() {...} static void
Main (string[] args) {...} static int Main (string[] args) {...}
...
}

Se observa ca metoda Main trebuie sa fie statica (De ce?). De asemenea poate intoarce o
valoare intreaga. Acea valoare reprezinta rezultatul executiei programului (la fel ca in
C++). Prin conventie, daca un program intoarce valoarea 0 inseamna ca s-a executat cu
succes. O valoare diferita de 0 inseamna eroare, si codurile de eroare sunt definite de
programator. (La fel ca si in C++aceasta este doar o conventie si nu un standard.)
Intr-o aplicatie nu poate exista mai mult de un singur punct de intrare (mai multe definiri
ale metodei Main, fie si in clase diferite). Definirea in mai multe locuri va genera erori la
compilare.

Daca Main este definita cu parametru (string[] args), atunci aplicatia poate
accepta parametri. Acestia vor fi trimisi functiei in parametrul args.

Spatii de nume
Toate clasele, interfetele, etc. existente in .Net Framework formeaza o ierarhie. La baza
acestei ierarhii sta spatiul de nume System. Aici sunt unele clase des folosite (ex: clasa
Console pentru lucrul cu tastatura si afisarea la ecran.).

Alte namespace-uri importante sunt:


System.IO - pentru lucrul cu dispozitivele input/output (ex: accesul la fisiere)
System.Collections - pentru lucrul cu colectii de obiecte de acelasi tip (liste, stive,

etc.)
System.Xml - pentru manipularea datelor in format xml

System.Windows.Forms - pentru lucrul cu forme windows (controale windows)

Exemplu
Se va costrui o aplicatie .NET cu functionalitatile de baza ale aplicatiei Notepad:
- Meniu
- Zona de editare
- Implementare meniuri: File(Exit), Edit(Undo, Copy, Paste, Cut, Select All,
Time/Date), Format (WordWrap, Font)

Exercitiu
Sa se adauge in meniul Format un meniu Color. Cand se acceseaza meniul Color sa
apara o fereastra din care sa se poata alege o culoare. Dupa selectarea culorii sa se
schimbe background-ul TextBox-ului (zonei de editare) cu culoarea selectata.
Laborator 3

Exemplu
Se va continua constructia aplicatiei Notepad cu urmatoarele functionalitati:
- File(Exit), Edit(Undo, Copy, Paste, Cut, Select All, Time/Date), Format
(WordWrap, Font)
- Help/About
- Open

Exercitiu
Sa se implementeze functionalitatea de salvare a textului intr-un fisier.
Se va adauga optiunea de colorare a codului dupa sintaxa de ex luind un limbaj anume ca exemplu
Se va adauga optiunea de autoformatare a textului (codului pentru un limbaj anume)
Laborator 4

Exemplu
Se va continua construi o aplicatie care va exemplifica folosirea controalelor si a
evenimentelor.

Controale folosite:
- TabControl / TabPage
- TrackBar
- Panels
- DomainUpDown / NumericUpDown
- ErrorProvider

Exercitiu
Sa se foloseasca controlul WebBrowser pentru incarcarea unei pagini intr-un tab.
Laborator 5

Exemplu
Se va continua construi o aplicatie in care se vor folosi controale pentru afisarea si
selectarea informatiilor.

Controale folosite:
- MaskedTextBox
- CheckBox
- RadioButton
- CheckedListBox
- ListBox
- MonthCalendar
Exercitiu
Sa se citeasca toate valorile selectate in controale si sa se afiseze intr-un MessageBox sau
TextBox.

Laborator 6

Exemplu
Se va implimenta o aplicatie Windows Form cu tema Testarea si evaluarea cunostintelor.
Aplica'tia va con'ine citeva intrebari la cer vor fi si citeva raspunsuri.
Textul va avea limita in timp : fiecare intrebare cite 30 secunde.

Vous aimerez peut-être aussi