1
REȚETE CULINARE - C#
Autor: Mihuc Teodora-Mălina
Clasa a XII-a A
Profil: Matematică-Informatică
Prof. coordonator Coraș Zenovia-Mirela
Promoția 2015
2
Introducere in .NET
.NET este un cadru (Framework) de dezvoltare software unitară care permite
realizarea, distribuirea şi rularea aplicaţiilor desktop Windows şi aplicaţiilor WEB.
Tehnologia .NET pune laolaltă mai multe tehnologii (ASP, XML, OOP, SOAP, WDSL,
UDDI) şi limbaje de programare (VB, C++, C#, J#) asigurând, totodată, atât portabilitatea
codului compilat între diferite calculatoare cu sistem Windows, cât şi reutilizarea codului
în programe, indiferent de limbajul de programare utilizat. .NET Framework este o
componentă livrată împreună cu sistemul de operare Windows.
Despre C#:
Numele limbajului C# a fost inspirat din notația # (diez) din muzică, care indică
faptul că nota muzicală e mai înaltă cu un semiton dacă e urmată de #. Este o similitudine
cu numele limbajului C++, unde ++ reprezintă atât incrementarea unei variabile cu
valoarea 1, dar și faptul că C++ este mai mult decât limbajul C.
Limbajul C# a fost dezvoltat în cadrul Microsoft. Principalii creatori ai limbajului
sunt Anders Hejlsberg, Scott Wltamuth și Peter Golde.
Creatorii C# au intenționat să înzestreze limbajul cu mai multe facilități. Succesul de care
se bucură în prezent, confirmă calitățile sale:
Este un limbaj de programare simplu, modern, de utilitate generala, cu
productivitate mare în programare.
Ete un limbaj orientat pe obiecte.
Permite dezvoltarea de aplicații industriale robuste, durabile.
3
Oferă suport complet pentru dezvoltarea de componenete software, foarte necesare
de pildă în medii distribuite. De altfel, se poate caracteriza C# ca fiind nu numai
orientat obiect, ci și orientat spre componente.
Limbajul C# a fost dezvoltat de o echipă restrânsă de ingineri de la Microsoft,
echipă din care s-a evidenţiat Anders Hejlsberg (autorul limbajului Turbo Pascal şi
membru al echipei care a proiectat Borland Delphi).
C# este un limbaj simplu, cu circa 80 de cuvinte cheie şi 12 tipuri de date
predefinite. El permite programarea structurată, modulară şi orientată obiectual, conform
perceptelor moderne ale programării profesioniste.
Principiile de bază ale programării orientate pe obiecte (ÎNCAPSULARE, MOŞTENIRE,
POLIMORFISM) sunt elemente fundamentale ale programării C#. În mare, limbajul
moşteneşte sintaxa şi principiile de programare din C++. Sunt o serie de tipuri noi de date
sau funcţiuni diferite ale datelor din C++, iar în spiritul realizării unor secvenţe de cod
sigure (safe), unele funcţiuni au fost adăugate (de exemplu, interfeţe şi delegări),
diversificate (tipul struct), modificate (tipul string) sau chiar eliminate (moştenirea
multiplă şi pointerii către funcţii).
4
INTRODUCERE:
Tema proiectului este aceea de a ajuta oamenii neîndemânatici în bucătărie. Ne
propunem să fim parteneri de încredere pentru toți cei care gătesc din inimă pentru cei
dragi. Cartea noastră de bucate este alegerea potrivită dacă ești în căutare de soluții simple
și creative pentru a transforma clasicele mese în momente unice, numai bune de degustat.
PREZENTARE:
Aplicația începe cu ecranul de introducere în care sunt prezentate mai multe detalii
generale despre aplicație: autorul proiectului, școala, clasa, profesorul coordonator și anul
creării aplicației.
5
Apoi, în faza inițială am securizat această carte digitală de rețete, astefel încât doar
administratorul programului să aibă acces la baza de date, deci evităm accidente
neplăcute cum ar fi ștergerea unor rețete sau adăugarea unor rețete greșite.
Username-ul, parola și codul folosit:
6
Rețetele se găsesc în baza de date cu numele Retele1.sdf și arată astfel:
7
Printr-un simplu click se pot: adăuga, șterge sau ordona rețetele astfel:
Opțiunea de vizualizare din meniul Operatii am defalcat-o în 3 subopțiuni:
- în ordine alfabetică,
- după numărul de porții (mai mare decât 8 șu mai mici decât 6)
8
- după timpul de preparare (mai mare de 30 de minute și cu timpul de preparare între
30 și 60 de minute).
De asemenea, pot căuta rețete, în această carte digitală, după mai multe
criterii ca și în imaginea de mai jos:
Chiar dacă în spatele acestor imagini se află un cod complex, scopul nostru nu este
acela de a încurca utilizatorii, ci pur și simplu dorim să facilităm munca lor. Acest
program poate fi utilizat de orice persoană fiind ușor de folosit.
9
DataSet-ul proiectului:
Codul sursă al proiectului:
Mai jos este listat o parte din codul sursă al aplicației.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
10
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'retete1DataSet.Carte_bucate' table.
You can move, or remove it, as needed.
this.carte_bucateTableAdapter.Fill(this.retete1DataSet.Carte_bucate);
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
this.carte_bucateTableAdapter.Timp_m_30(this.retete1DataSet.Carte_bucate);
}
private void si60ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.carte_bucateTableAdapter.TimpIntre30si60(this.retete1DataSet.Carte_bucate);
}
private void vizualizareReteteInOrdineAlfabeticaToolStripMenuItem_Click(object
sender, EventArgs e)
{
this.carte_bucateTableAdapter.OrdineAlfabetica(this.retete1DataSet.Carte_bucate);
}
private void
vizualizareReteteDupaNumarulDeCaloriiToolStripMenuItem_Click(object sender,
EventArgs e)
11
{
}
private void toolStripMenuItem3_Click(object sender, EventArgs e)
{
this.carte_bucateTableAdapter.NrPortii_M8(this.retete1DataSet.Carte_bucate);
}
private void toolStripMenuItem4_Click(object sender, EventArgs e)
{
this.carte_bucateTableAdapter.NrPortii_m6(this.retete1DataSet.Carte_bucate);
}
private void iesireToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Doriti sa iesiti din aplicatie?", "Iesire din aplicatie",
MessageBoxButtons.YesNo) == DialogResult.Yes)
Application.Exit();
}
private void despreToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Ne propunem sa fim parteneri de incredere pentru toti cei
care gatesc din inima pentru cei dragi. Cartea noastra de bucate este o alegerea potrivita
daca esti in cautare de solutii simple si creative pentru a transforma clasicele mese in
momente unice, numai bune de degustat.");
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void adaugareToolStripMenuItem_Click(object sender, EventArgs e)
{
string a = Convert.ToString(this.carte_bucateTableAdapter.NrRetete() + 1);
string b = Convert.ToString(Nume.Text);
string c = Convert.ToString(Categorie.Text);
12
string d = Convert.ToString(Ingrediente.Text);
string m = Convert.ToString(timp.Text);
string f = Convert.ToString(dificultate.Text);
string g = Convert.ToString(NrPortii.Text);
string h = Convert.ToString(preparare.Text);
this.carte_bucateTableAdapter.Adaugare(a, b, c, d, m, f, g, h);
this.carte_bucateTableAdapter.Update(this.retete1DataSet.Carte_bucate);
this.carte_bucateTableAdapter.Fill(this.retete1DataSet.Carte_bucate);
}
private void stergereToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void dupaIDToolStripMenuItem_Click(object sender, EventArgs e)
{
string z = ID.Text;
carte_bucateTableAdapter.StergereID(z);
this.carte_bucateTableAdapter.Fill(this.retete1DataSet.Carte_bucate);
}
private void dupaTimpulDePreparareToolStripMenuItem_Click(object sender,
EventArgs e)
{
//string y =TIMPUL.Text;
carte_bucateTableAdapter.DeleteTimp(TIMPUL.Text);
this.carte_bucateTableAdapter.Fill(this.retete1DataSet.Carte_bucate);
}
private void dupaNumeToolStripMenuItem_Click(object sender, EventArgs e)
{
string a = textBox1.Text;
this.carte_bucateTableAdapter.Cautare_ID(this.retete1DataSet.Carte_bucate, a);
}
13
private void dupaNrCaloriiToolStripMenuItem_Click(object sender, EventArgs e)
{
string b = TIMPUL.Text;
this.carte_bucateTableAdapter.CautareTimp(this.retete1DataSet.Carte_bucate, b);
}
}
}
14
Bibliografie:
1. Curs de C# - Programare în Visual C# 2008 Express Edition, Constantin
Gălăţan, Susana Gălăţan, Ed. L&S-INFOMAT, 2010
2. Limbajul C# pentru incepatori - vol 6: Mediul de programare Visual Studio -
Liviu Negrescu, Lavinia Negrescu, Ed. Albastra, 2010
Webografie:
1. http://www.microsoft.com/Romania/Educatie/curs_dot_net/
2. http://www.cs.ubbcluj.ro/~vcioban/Bistrita/Manuale/CursDotNetSassu.pdf