Sunteți pe pagina 1din 31

COLEGIUL NAŢIONAL “ŞTEFAN CEL MARE”, TÂRGU NEAMŢ

Messaging Cloud

Lucrare pentru atestarea competenţelor profesionale la informatică

Profesor, Elev,
- Crețu Laurențiu Vasile
Clasa a XII-a RB

2020
Messaging Cloud

Introducere

C# este un limbaj de programare orientat-obiect conceput de Microsoft la sfârșitul anilor 90. A


fost conceput ca un concurent pentru limbajul Java. Ca și acesta, C# este un derivat al limbajului
de programare C++. Limbajul C# este unul dintre cele mai utilizate limbaje de programare
multiparadigmă din lume, fiind clasat în acest moment pe locul 5 mondial, ca nivel de
popularitate. Este un limbaj simplu, modern, cu o flexibilitate foarte mare în ceea ce privește
dezvoltarea de aplicații și portabilitatea acestora.
În epoca în care trăim ne confruntăm din ce în ce mai mult cu fenomenul de media de
socializare. Efectele rețelelor de socializare pe care oamenii își petrec zilnic ore întregi sunt
discutate pe larg. În ultimii ani comunicația maselor prin rețelele sociale are consecințe din ce
în ce mai vizibile, chiar și pe plan mondial. Analiștii sunt de părere că fără rețele sociale
evenimentele s-ar fi desfășurat altfel.
Aplicația Messaging Cloud este un produs software, destinat pentru platforma Windows, prin
care utilizatorii pot comunica cu alte persoane aflate la depărtare. Designul modern și intuitiv
fac din această aplicație un mod ușor de a ține legătura cu prietenii, mesajele ajungând în doar
câteva secunde la destinatari.
Ideea acestui soft a apărut din pasiunea pentru limbajele de programare, aplicația îmbinând
noțiuni avansate de C#, SQL, elemente de design și cromatică, administrarea serverelor.

Mediile de programare folosite

1. Microsoft Visual Studio 2019


Visual Studio include un set complet de instrumente de dezvoltare pentru generarea de aplicații
ASP.NET, Servicii Web XML, aplicații desktop și aplicații mobile. Visual Basic, Visual C++,
Visual C# și Visual J# toate folosesc același mediu de dezvoltare integrat (IDE) care le permite
partajarea instrumentelor și facilitează crearea de soluții folosind mai multe limbaje de
programare.

2. phpMyAdmin
phpMyAdmin este un sistem de gestiune a bazelor de date MySQL liber, open source, scris
în PHP și destinat administrării bazelor de date prin intermediul unui browser web. Prin
phpMyAdmin se pot întreprinde diverse operații cum ar fi crearea, modificarea sau ștergerea
bazelor de date, tabelelor, câmpurilor sau rândurilor; executarea de comenzi (interogări) SQL.

2
Messaging Cloud

Structura bazei de date

Baza de date MySql folosită este creată cu ajutorul mediului phpMyAdmin și este publicată
pe un domeniu Hostinger, oferind o bună stocarea și reîmprospătare a datelor indiferent de
locul în care utilizatorul este conectat.

Utilzatori Prieteni
User - int
Id - int
Prieten - varchar
Nume_Prenume - varchar

Email - varchar
Mesaje
Parola - varchar
User1 - varchar
User - varchar
User2 - varchar
Status - varchar Mesaj - varchar
Imagine - longblob Citit - varchar

Telefon - varchar Data - datetime

Oraș - varchar

Bio - varchar Cerere_prietenie

Descriere - varchar User1 - varchar

Ultima_accesare - datetime User2 - varchar

3
Messaging Cloud

Instalarea aplicației

Pasul 1: Pasul 2:

Pasul 3: Pasul 4:

Pasul 5:
După finalizarea instalării pe Desktop
va apărea iconița aplicației.

4
Messaging Cloud

Fereastra Login

 Design:

 Codul sursă:

1. using System;
2. using System.Collections.Generic;
3. using System.ComponentModel;
4. using System.Data;
5. using System.Drawing;
6. using System.Linq;
7. using System.Text;
8. using System.Threading.Tasks;
9. using System.Windows.Forms;
10. using MySql.Data.MySqlClient;
11.
12. namespace Messaging_Cloud
13. {
14. public partial class Login : Form
15. {
16. private MySqlConnection conn;
17. public Login()
18. {
19. InitializeComponent();
20. conn = new MySqlConnection(@"SERVER=sql308.main-
hosting.eu;DATABASE=u510481174_atestat;USER=u510481174_laurentiu21; PASSWORD=****")
21. }
22.
23. private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs
e)
24. {
25. Form1 f = new Form1();
26. this.Hide();
27. f.ShowDialog();

5
Messaging Cloud

28. this.Close();
29. }
30.
31. private void PictureBox1_Click(object sender, EventArgs e)
32. {
33. timer1.Start();
34. }
35.
36. private void Timer1_Tick(object sender, EventArgs e)
37. {
38. if (this.Opacity > 0.0)
39. {
40. this.Opacity -= 0.25;
41. }
42. else
43. {
44. timer1.Stop();
45. Application.Exit();
46. }
47. }
48.
49. private void PictureBox2_Click(object sender, EventArgs e)
50. {
51. WindowState = FormWindowState.Minimized;
52. }
53.
54. private void BunifuMaterialTextbox4_Leave(object sender, EventArgs e)
55. {
56. if (bunifuMaterialTextbox4.Text == "")
57. {
58. bunifuMaterialTextbox4.Text = "Parola";
59. bunifuMaterialTextbox4.isPassword = false;
60. }
61. }
62. public void Alertt(string msg, Alert.enmType type)
63. {
64. Alert frm = new Alert();
65. frm.showAlert(msg, type);
66. }
67. private void BunifuMaterialTextbox4_Enter(object sender, EventArgs e)
68. {
69. if (bunifuMaterialTextbox4.Text == "Parola")
70. {
71. bunifuMaterialTextbox4.Text = "";
72. bunifuMaterialTextbox4.isPassword = true;
73. }
74. }
75.
76. private void Button1_Click(object sender, EventArgs e)
77. {
78. if (bunifuMaterialTextbox2.Text != "" && bunifuMaterialTextbox4.Text != "")
79. {
80. try
81. {
82. int ok = 0;
83. conn.Open();
84. MySqlCommand cmd = new MySqlCommand(@"select *from Utilizatori where
User=@val1 and Parola=@val2", conn);
85. cmd.Parameters.AddWithValue("val1", bunifuMaterialTextbox2.Text.ToStr
ing());
86. cmd.Parameters.AddWithValue("val2", bunifuMaterialTextbox4.Text.ToStr
ing());
87. var red = cmd.ExecuteReader();
88. if (red.Read())
89. {
90. this.Alertt("Logare reusita", Alert.enmType.Success);

6
Messaging Cloud

91. new Loading().ShowDialog();


92. Form3 f = new Form3();
93. f.user = bunifuMaterialTextbox2.Text;
94. f.label5.Text = bunifuMaterialTextbox2.Text;
95. f.label7.Text = "Bine ai venit, " + red[1].ToString();
96. f.label7.Left = (f.panel3.Width - f.label7.Size.Width) / 2;
97. this.Hide();
98. f.ShowDialog();
99. }
100. else
101. this.Alertt("Logare nereusita", Alert.enmType.Error);
102. red.Dispose();
103. cmd.Dispose();
104. conn.Close();
105. }
106. catch(Exception ex)
107. {
108. MessageBox m = new MessageBox();
109. m.ShowDialog();
110. }
111.
112. }
113. else
114. this.Alertt("Campuri necompletate", Alert.enmType.Error);
115. }
116.
117. private void pictureBox1_MouseHover(object sender, EventArgs e)
118. {
119. pictureBox1.BackColor = Color.Crimson;
120. }
121.
122. private void pictureBox1_MouseLeave(object sender, EventArgs e)
123. {
124. pictureBox1.BackColor = Color.White;
125. }
126.
127. private void pictureBox2_MouseHover(object sender, EventArgs e)
128. {
129. pictureBox2.BackColor = Color.FromArgb(128, 128, 128);
130. }
131.
132. private void pictureBox2_MouseLeave(object sender, EventArgs e)
133. {
134. pictureBox2.BackColor = Color.White;
135. }
136. }
137. }

 Conturi utilizator existente destinate testelor:


Id Nume_Prenume Email Parola User
1 Popescu Mihai mihai21@gmail.com nirvana mihai21
2 Cucos Maria maria65@gmail.com trandafiri maria65
3 Pop Ecaterina cati43@yahoo.com ecaterinaa cati43
4 Nemtanu Adrian adrian@yahoo.com league_of_legends ady21
5 Dochita Andreea andreeadoc@yahoo.com 12340987 andreea76
6 Mihai Andrei andrei_mihai@gmail.com evolution andrei_mih32
7 Diaconescu Andrei andrei_diac@gmail.com mess21 andrei65

7
Messaging Cloud

Fereastra Sign Up

 Design:

 Codul sursă:

1. using System;
2. using System.Collections.Generic;
3. using System.ComponentModel;
4. using System.Data;
5. using System.Drawing;
6. using System.Linq;
7. using System.Text;
8. using System.Threading.Tasks;
9. using System.Windows.Forms;
10. using MySql.Data.MySqlClient;
11.
12. namespace Messaging_Cloud
13. {
14. public partial class Form1 : Form
15. {
16. private MySqlConnection conn;
17. public Form1()
18. {
19. InitializeComponent();
20. conn = new MySqlConnection(@"SERVER=sql308.main-
hosting.eu;DATABASE=u510481174_atestat;USER=u510481174_laurentiu21; PASSWORD=****");
21. }

8
Messaging Cloud

22.
23. private void PictureBox1_Click(object sender, EventArgs e)
24. {
25. timer1.Start();
26. }
27.
28. private void PictureBox2_Click(object sender, EventArgs e)
29. {
30. WindowState = FormWindowState.Minimized;
31. }
32.
33. private void Button2_Click(object sender, EventArgs e)
34. {
35. bunifuMaterialTextbox1.Text = "";
36. bunifuMaterialTextbox2.Text = "";
37. bunifuMaterialTextbox3.Text = "";
38. bunifuMaterialTextbox4.Text = "";
39. bunifuMaterialTextbox5.Text = "";
40. bunifuCheckbox1.Checked = false;
41. }
42.
43. private void BunifuMaterialTextbox4_Enter(object sender, EventArgs e)
44. {
45. if (bunifuMaterialTextbox4.Text == "Parola")
46. {
47. bunifuMaterialTextbox4.Text = "";
48. bunifuMaterialTextbox4.isPassword = true;
49. }
50. }
51.
52. private void BunifuMaterialTextbox4_Leave(object sender, EventArgs e)
53. {
54. if (bunifuMaterialTextbox4.Text == "")
55. {
56. bunifuMaterialTextbox4.Text = "Parola";
57. bunifuMaterialTextbox4.isPassword = false;
58. }
59. }
60.
61. private void BunifuMaterialTextbox5_Enter(object sender, EventArgs e)
62. {
63. if (bunifuMaterialTextbox5.Text == "Parola")
64. {
65. bunifuMaterialTextbox5.Text = "";
66. bunifuMaterialTextbox5.isPassword = true;
67. }
68. }
69.
70. private void BunifuMaterialTextbox5_Leave(object sender, EventArgs e)
71. {
72. if (bunifuMaterialTextbox5.Text == "")
73. {
74. bunifuMaterialTextbox5.Text = "Parola";
75. bunifuMaterialTextbox5.isPassword = false;
76. }
77. }
78. public void Alertt(string msg, Alert.enmType type)
79. {
80. Alert frm = new Alert();
81. frm.showAlert(msg, type);
82. }
83. private void Button1_Click(object sender, EventArgs e)
84. {
85. if (bunifuMaterialTextbox1.Text!="" && bunifuMaterialTextbox2.Text!="" && bun
ifuMaterialTextbox3.Text != "" && bunifuMaterialTextbox4.Text != "" && bunifuMaterialText
box5.Text != "" && bunifuCheckbox1.Checked)

9
Messaging Cloud

86. {
87. if (bunifuMaterialTextbox4.Text==bunifuMaterialTextbox5.Text)
88. {
89. if (bunifuMaterialTextbox3.Text.Contains("@"))
90. {
91. conn.Open();
92. MySqlCommand cmd = new MySqlCommand(@"select *from Utilizatori wh
ere Email=@var or User=@val", conn);
93. cmd.Parameters.AddWithValue("var", bunifuMaterialTextbox3.Text);
94. cmd.Parameters.AddWithValue("val", bunifuMaterialTextbox2.Text);
95. var red = cmd.ExecuteReader();
96. bool ok = true;
97. if (red.Read())
98. {
99. this.Alertt("Email sau user existent", Alert.enmType.Error);
100. bunifuMaterialTextbox3.Text = "";
101. ok = false;
102. }
103. red.Dispose();
104. cmd.Dispose();
105. conn.Close();
106. if (ok==true)
107. {
108. conn.Open();
109. cmd = new MySqlCommand(@"insert into Utilizatori(Nume
_Prenume,Email,Parola,User,Status,Ultima_accesare) values(@nume,@email,@parola,@user,@sta
tus,@accesare)", conn);
110. cmd.Parameters.AddWithValue("nume", bunifuMaterialTex
tbox1.Text);
111. cmd.Parameters.AddWithValue("email", bunifuMaterialTe
xtbox3.Text);
112. cmd.Parameters.AddWithValue("parola", bunifuMaterialT
extbox4.Text);
113. cmd.Parameters.AddWithValue("user", bunifuMaterialTex
tbox2.Text);
114. cmd.Parameters.AddWithValue("status", "online");
115. cmd.Parameters.AddWithValue("accesare", DateTime.Now)
;
116. cmd.ExecuteNonQuery();
117. cmd.Dispose();
118. conn.Close();
119.
120. this.Alertt("Cont creat", Alert.enmType.Success);
121. new Loading().ShowDialog();
122. Form3 f = new Form3();
123. f.user = bunifuMaterialTextbox2.Text;
124. f.label5.Text = bunifuMaterialTextbox2.Text;
125. f.label3.Text = "Bine ai venit, " + bunifuMaterialTex
tbox1.Text;
126. f.label3.Left = (f.panel3.Width - f.label3.Size.Width
) / 2;
127. bunifuMaterialTextbox1.Text = "";
128. bunifuMaterialTextbox2.Text = "";
129. bunifuMaterialTextbox3.Text = "";
130. bunifuMaterialTextbox4.Text = "";
131. bunifuMaterialTextbox5.Text = "";
132. bunifuCheckbox1.Checked = false;
133. this.Hide();
134. f.ShowDialog();
135.
136. }
137. }
138. else
139. {
140. this.Alertt("Format email incorect", Alert.enmType.Error)
;

10
Messaging Cloud

141. bunifuMaterialTextbox3.Text = "";


142. }
143. }
144. else
145. {
146. this.Alertt("Parolele nu coincid", Alert.enmType.Error);
147. bunifuMaterialTextbox4.Text = "";
148. bunifuMaterialTextbox5.Text = "";
149. }
150. }
151. else
152. {
153. this.Alertt("Campuri necompletate", Alert.enmType.Error);
154. }
155. }
156.
157. private void Form1_Load(object sender, EventArgs e)
158. {
159.
160. }
161.
162. private void Timer1_Tick(object sender, EventArgs e)
163. {
164. if (this.Opacity>0.0)
165. {
166. this.Opacity -= 0.25;
167. }
168. else
169. {
170. timer1.Stop();
171. Application.Exit();
172. }
173. }
174.
175. private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEv
entArgs e)
176. {
177. Login l = new Login();
178. this.Hide();
179. l.ShowDialog();
180. this.Close();
181. }
182.
183. private void pictureBox1_Click_1(object sender, EventArgs e)
184. {
185. Close();
186. }
187.
188. private void pictureBox2_Click_1(object sender, EventArgs e)
189. {
190. WindowState = FormWindowState.Minimized;
191. }
192.
193. private void pictureBox1_MouseHover(object sender, EventArgs e)
194. {
195. pictureBox1.BackColor = Color.Crimson;
196. }
197.
198. private void pictureBox1_MouseLeave(object sender, EventArgs e)
199. {
200. pictureBox1.BackColor = Color.White;
201. }
202.
203. private void pictureBox2_MouseHover(object sender, EventArgs e)
204. {
205. pictureBox2.BackColor=Color.FromArgb(128, 128, 128);

11
Messaging Cloud

206. }
207.
208. private void pictureBox2_MouseLeave(object sender, EventArgs e)
209. {
210. pictureBox2.BackColor = Color.White;
211. }
212. }
213. }

Fereastra principală

 Fereastra de start:

3
5

1. Lista de butoane 1
2. Panel-ul de ”Bun venit”
4
3. Lista de prieteni
4. Tab-ul adăugare noi prieteni
5. Tab-ul de schimbare a descrierii

12
Messaging Cloud

 Fereastra de mesaje:

2
3

1. Panel-ul cu mesajele user-ului selectat din lista de prieteni


2. Detalii despre user-ul selectat
3. Tab-ul pentru trimiterea mesajelor

13
Messaging Cloud

 Căutare prieteni noi:

 Fereastra Settings  Fereastra Friend Request

14
Messaging Cloud

 Codul sursă - Fereastra principală:

1. using System;
2. using System.Collections.Generic;
3. using System.ComponentModel;
4. using System.Data;
5. using System.Drawing;
6. using System.Linq;
7. using System.Text;
8. using System.Threading.Tasks;
9. using System.Windows.Forms;
10. using MySql.Data.MySqlClient;
11. using System.IO;
12.
13. namespace Messaging_Cloud
14. {
15. public partial class Form3 : Form
16. {
17. private MySqlConnection conn;
18. public Form3()
19. {
20. InitializeComponent();
21. conn = new MySqlConnection(@"SERVER=sql308.main-
hosting.eu;DATABASE=u510481174_atestat;USER=u510481174_laurentiu21; PASSWORD=phantom
21");
22. }
23. public string user,aux1,aux2,nume;
24.
25. private void button1_Click(object sender, EventArgs e)
26. {
27.
28. }
29. public int lungime_prieteni=20;
30. private void Form3_Load(object sender, EventArgs e)
31. {
32. try
33. {
34. panel12.AutoScroll = false;
35. panel12.HorizontalScroll.Enabled = false;
36. panel12.HorizontalScroll.Visible = false;
37. panel12.HorizontalScroll.Maximum = 0;
38. panel12.AutoScroll = true;
39. conn.Open();
40. MySqlCommand cmd = new MySqlCommand(@"select Imagine,Descriere from
Utilizatori where User=@val", conn);
41. cmd.Parameters.AddWithValue("val", user);
42. var red = cmd.ExecuteReader();
43. if (red.Read())
44. {
45. if (red[0].ToString()!="")
46. {
47. byte[] img = (byte[])red[0];
48. MemoryStream m = new MemoryStream(img);
49. pictureBox3.Image = Image.FromStream(m);
50. circularPictureBox1.Image = Image.FromStream(m);
51. }
52. if (red[1].ToString() != "")
53. {
54. label6.Text = red[1].ToString();
55. bunifuMaterialTextbox2.Text = red[1].ToString();
56. }
57. }
58. red.Dispose();

15
Messaging Cloud

59. cmd.Dispose();
60. conn.Close();
61. conn.Open();
62. cmd = new MySqlCommand(@"update Utilizatori set Status='online' whe
re User=@val", conn);
63. cmd.Parameters.AddWithValue("val", user);
64. cmd.ExecuteNonQuery();
65. cmd.Dispose();
66. conn.Close();
67. int lungime = 10;
68. List<string> prieteni = new List<string>();
69. conn.Open();
70. cmd = new MySqlCommand(@"select *from Prieteni where User=@val", con
n);
71. cmd.Parameters.AddWithValue("val", user);
72. red = cmd.ExecuteReader();
73. while (red.Read())
74. {
75. prieteni.Add(red[1].ToString());
76. }
77. red.Dispose();
78. cmd.Dispose();
79. conn.Close();
80. conn.Open();
81. cmd = new MySqlCommand(@"select *from Cerere_prietenie where User2=@
val", conn);
82. cmd.Parameters.AddWithValue("val", user);
83. red = cmd.ExecuteReader();
84. if (red.Read())
85. {
86. pictureBox10.BackColor = Color.SeaGreen;
87. }
88. red.Dispose();
89. cmd.Dispose();
90. conn.Close();
91. for (int i = 0; i < prieteni.Count; i++)
92. {
93. Friend f = new Friend();
94. label2.Visible = false;
95. f.Location = new Point(0, lungime);
96. f.label5.Text = prieteni[i];
97. f.timer1.Start();
98. conn.Open();
99. cmd = new MySqlCommand(@"select *from Utilizatori where User=@va
l", conn);
100. cmd.Parameters.AddWithValue("val", prieteni[i].ToString()
);
101. red = cmd.ExecuteReader();
102. if (red.Read())
103. {
104. f.label5.Text = red[4].ToString();
105. if (red[10].ToString() != "")
106. f.label2.Text = red[10].ToString();
107. else
108. f.label2.Text = "Nicio descriere";
109.
110. if (red[8].ToString() != "")
111.
112. f.label3.Text = red[8].ToString();
113. else
114. f.label3.Text = "Locatie neprecizata";
115. char[] sep = { ' ' };
116. string[] sir;
117. sir = red[11].ToString().Split(sep);
118. f.label1.Text = sir[1];
119. if (red[6].ToString()!="")

16
Messaging Cloud

120. {
121. byte[] img = (byte[])red[6];
122. MemoryStream m = new MemoryStream(img);
123. f.pictureBox3.Image = Image.FromStream(m);
124. }
125.
126. if (red[5].ToString()=="online")
127. f.panel5.BackColor = Color.SeaGreen;
128. }
129. red.Dispose();
130. cmd.Dispose();
131. conn.Close();
132. conn.Open();
133. int contor = 0;
134. cmd = new MySqlCommand(@"select *from Mesaje where User1=
@val1 and User2=@val2", conn);
135. cmd.Parameters.AddWithValue("val1", prieteni[i]);
136. cmd.Parameters.AddWithValue("val2", user);
137. red = cmd.ExecuteReader();
138. while (red.Read())
139. {
140. contor++;
141. }
142. red.Read();
143. cmd.Dispose();
144. conn.Close();
145. if (contor>0)
146. {
147. f.label4.Text = contor.ToString();
148. f.label4.Visible = true;
149. f.label1.Visible = true;
150. }
151. f.Click += F_Click;
152. panel12.Controls.Add(f);
153. lungime += 127;
154. lungime_prieteni = lungime;
155. }
156. }
157. catch(Exception ex)
158. {
159. Close();
160. MessageBox m=new MessageBox();
161. m.ShowDialog();
162.
163. }
164. }
165. public Mesaje m;
166. public int lungime = 20;
167. public Friend f;
168. private void F_Click(object sender, EventArgs e)
169. {
170. panel3.Controls.Remove(m);
171. timer1.Stop();
172. f = (Friend)sender;
173. m = new Mesaje();
174. lungime = 20;
175. m.Location = new Point(0, 0);
176. m.pictureBox3.Image = f.pictureBox3.Image;
177. m.panel5.BackColor = f.panel5.BackColor;
178. m.label5.Text = f.label5.Text;
179. m.pictureBox1.Image = m.pictureBox3.Image;
180. m.label1.Text = m.label5.Text;
181. aux2 = m.label1.Text;
182. m.label1.Left = (m.panel2.Width - m.label1.Size.Width)/2;
183. if (m.panel5.BackColor == Color.Crimson)
184. m.label2.Text = "Offline";

17
Messaging Cloud

185. conn.Open();
186. MySqlCommand cmd1 = new MySqlCommand(@"update Mesaje set Citit='D
a' where User1=@val or User2=@val1", conn);
187. cmd1.Parameters.AddWithValue("val", f.label5.Text);
188. cmd1.Parameters.AddWithValue("val1", f.label5.Text);
189. cmd1.ExecuteNonQuery();
190. cmd1.Dispose();
191. conn.Close();
192. conn.Open();
193. MySqlCommand cmd = new MySqlCommand("select *from Utilizatori whe
re User=@val", conn);
194. cmd.Parameters.AddWithValue("val", f.label5.Text);
195. var red = cmd.ExecuteReader();
196. if (red.Read())
197. {
198. if (red[5].ToString() == "online")
199. m.panel5.BackColor = Color.SeaGreen;
200. if (red[5].ToString() == "offline")
201. m.panel5.BackColor = Color.Crimson;
202. }
203. red.Dispose();
204. cmd.Dispose();
205. conn.Close();
206. conn.Open();
207. cmd = new MySqlCommand(@"SELECT * FROM Mesaje WHERE (User1=@val1
and User2=@val2) or (User1=@val3 and User2=@val4)", conn);
208. cmd.Parameters.AddWithValue("val1", user);
209. cmd.Parameters.AddWithValue("val2", f.label5.Text);
210. cmd.Parameters.AddWithValue("val3", f.label5.Text);
211. cmd.Parameters.AddWithValue("val4", user);
212. red = cmd.ExecuteReader();
213. int i = 1;
214. while (red.Read())
215. {
216. m.label15.Visible = false;
217. if (red[0].ToString() == user)
218. {
219. Text t = new Text();
220. t.label5.Text = red[2].ToString();
221. //t.panel1.Location = new Point(0, 0);
222. t.pictureBox1.Image = pictureBox3.Image;
223. string[] data;
224. data = Convert.ToDateTime(red[3].ToString()).TimeOfDay.To
String().Split(':');
225. t.label2.Text = data[0] + ":" + data[1];
226. t.Location = new Point(m.panel13.Width - t.Width - 25, lu
ngime);
227. m.panel13.Controls.Add(t);
228. m.panel13.AutoScrollPosition = new Point(0, t.Location.Y)
;
229. lungime = lungime + t.Height + 20;
230. }
231. else
232. {
233. Text t = new Text();
234. t.label5.Text = red[2].ToString();
235. t.pictureBox1.Image = m.pictureBox3.Image;
236. t.pictureBox1.Location = new Point(3, 0);
237. t.panel1.BackColor = Color.FromArgb(53, 64, 77);
238. t.label2.Location = new Point(44, 47);
239. string[] data;
240. data = Convert.ToDateTime(red[3].ToString()).TimeOfDay.To
String().Split(':');
241. t.label2.Text = data[0] + ":" + data[1];
242. t.Location = new Point(15, lungime);
243. m.panel13.Controls.Add(t);

18
Messaging Cloud

244. m.panel13.AutoScrollPosition = new Point(0, t.Location.Y)


;
245. lungime = lungime + t.Height + 20;
246. }
247. i++;
248. }
249. red.Dispose();
250. cmd.Dispose();
251. conn.Close();
252. m.timer1.Start();
253. m.bunifuMaterialTextbox1.OnValueChanged += BunifuMaterialTextbox1
_OnValueChanged;
254. m.pictureBox4.Click += PictureBox4_Click;
255. conn.Open();
256. cmd = new MySqlCommand(@"select *from Utilizatori where User=@val
", conn);
257. cmd.Parameters.AddWithValue("val", m.label5.Text);
258. red = cmd.ExecuteReader();
259. if (red.Read())
260. {
261. m.label1.Text = red[4].ToString();
262. m.label4.Text = red[1].ToString();
263. if (red[7].ToString() != "")
264. m.label6.Text = red[7].ToString();
265. else
266. {
267. m.label6.Text = "-";
268. m.label6.Top -= 7;
269. m.label6.Left += 90;
270. m.label6.Font = new Font("Microsoft Sans Serif", 15);
271. }
272. m.label8.Text = red[2].ToString();
273. if (red[8].ToString() != "")
274. m.label10.Text = red[8].ToString();
275. else
276. {
277. m.label10.Text = "-";
278. m.label10.Top -= 7;
279. m.label10.Left += 90;
280. m.label10.Font = new Font("Microsoft Sans Serif", 15);
281. }
282. if (red[9].ToString()!="")
283. m.label12.Text = red[9].ToString();
284. else
285. {
286. m.label12.Text = "-";
287. m.label12.Top -= 7;
288. m.label12.Left += 90;
289. m.label12.Font = new Font("Microsoft Sans Serif", 15);
290. }
291. }
292. red.Dispose();
293. cmd.Dispose();
294. conn.Close();
295. m.pictureBox2.Click+=(sender2, e2) => show_msg2(sender2, e2, m.la
bel5.Text);
296. panel3.Controls.Add(m);
297. m.BringToFront();
298. timer1.Start();
299. }
300. public void show_msg2(object sender, EventArgs e, string auxiliar)
301. {
302. conn.Open();
303. MySqlCommand cmd = new MySqlCommand(@"DELETE FROM `Prieteni` wher
e User=@val1 and Prieten=@val2", conn);
304. cmd.Parameters.AddWithValue("val1", auxiliar);

19
Messaging Cloud

305. cmd.Parameters.AddWithValue("val2", user);


306. cmd.ExecuteNonQuery();
307. cmd.Dispose();
308. conn.Close();
309. conn.Open();
310. cmd = new MySqlCommand(@"DELETE FROM `Prieteni` where User=@val1
and Prieten=@val2", conn);
311. cmd.Parameters.AddWithValue("val1", user);
312. cmd.Parameters.AddWithValue("val2", auxiliar);
313. cmd.ExecuteNonQuery();
314. cmd.Dispose();
315. conn.Close();
316. MessageBox ms = new MessageBox();
317. ms.label2.Text = "Prieten șters!";
318. ms.ShowDialog();
319.
320. Application.Restart();
321. }
322. private void BunifuMaterialTextbox1_OnValueChanged(object sender, Eve
ntArgs e)
323. {
324. Bunifu.Framework.UI.BunifuMaterialTextbox b = (Bunifu.Framework.U
I.BunifuMaterialTextbox)sender;
325. aux1 = b.Text.ToString();
326. }
327.
328. private void PictureBox4_Click(object sender, EventArgs e)
329. {
330. m.label15.Visible = false;
331. if (aux1 != "")
332. {
333. Text t = new Text();
334. if (lungime < m.panel13.Height + 20)
335. {
336. t.Location = new Point(m.panel13.Width - t.Width - 25, lu
ngime);
337. lungime = lungime + t.Height + 20;
338. }
339. else
340. t.Location = new Point(m.panel13.Width - t.Width - 25, m.
panel13.Height + 20);
341. t.label5.Text = m.bunifuMaterialTextbox1.Text;
342. string[] data;
343. data = DateTime.Now.ToString().Split(' ');
344. string[] timp;
345. timp = data[1].Split(':');
346. t.label2.Text = timp[0] + ":" + timp[1];
347. t.pictureBox1.Image = pictureBox3.Image;
348. m.panel13.Controls.Add(t);
349. conn.Open();
350. MySqlCommand cmd = new MySqlCommand(@"insert into Mesaje(User
1,User2,Mesaj,Data,Citit) values(@user1,@user2,@mesaj,@data,@citit)", conn);
351. cmd.Parameters.AddWithValue("user1", user);
352. cmd.Parameters.AddWithValue("user2", aux2);
353. cmd.Parameters.AddWithValue("mesaj", aux1);
354. cmd.Parameters.AddWithValue("data", DateTime.Now);
355. cmd.Parameters.AddWithValue("citit", "Nu");
356. cmd.ExecuteNonQuery();
357. cmd.Dispose();
358. conn.Close();
359. m.bunifuMaterialTextbox1.Text = "";
360. m.panel13.AutoScrollPosition = new Point(0, m.panel13.AutoScr
ollMinSize.Height);
361. }
362. }
363. private void timer1_Tick(object sender, EventArgs e)

20
Messaging Cloud

364. {
365. conn.Open();
366. MySqlCommand cmd = new MySqlCommand(@"select *from Mesaje where U
ser1=@val and Citit='Nu'", conn);
367. cmd.Parameters.AddWithValue("val", aux2);
368. var red = cmd.ExecuteReader();
369. if (red.Read())
370. {
371. Text t = new Text();
372. t.label5.Text = red[2].ToString();
373. t.pictureBox1.Image = m.pictureBox3.Image;
374. t.pictureBox1.Location = new Point(3, 0);
375. t.panel1.BackColor = Color.FromArgb(53, 64, 77);
376. string[] data;
377. data = Convert.ToDateTime(red[3].ToString()).TimeOfDay.ToStri
ng().Split(':');
378. t.label2.Text = data[0] + ":" + data[1];
379. if (lungime< m.panel13.Height)
380. {
381. t.Location = new Point(15, lungime);
382. lungime = lungime + t.Height + 20;
383. }
384. else
385. t.Location = new Point(15, m.panel13.Height + 20);
386. m.panel13.AutoScrollPosition = new Point(0, m.panel13.AutoScr
ollMinSize.Height);
387. m.panel13.Controls.Add(t);
388. }
389. red.Dispose();
390. cmd.Dispose();
391. conn.Close();
392. conn.Open();
393. cmd = new MySqlCommand(@"update Mesaje set Citit='Da' where User1
=@val and Citit='Nu'", conn);
394. cmd.Parameters.AddWithValue("val", aux2);
395. cmd.ExecuteNonQuery();
396. cmd.Dispose();
397. conn.Close();
398.
399. }
400. public Panel np;
401. private void bunifuMaterialTextbox1_OnValueChanged_1(object sender, E
ventArgs e)
402. {
403.
404. }
405.
406. private void panel4_MouseHover(object sender, EventArgs e)
407. {
408. panel4.BackColor = Color.FromArgb(53, 64, 77);
409. }
410.
411. private void panel4_MouseLeave(object sender, EventArgs e)
412. {
413. panel4.BackColor = Color.FromArgb(31, 39, 49);
414. }
415. public int lungime_cerere = 20;
416. private void pictureBox5_Click(object sender, EventArgs e)
417. {
418. if (bunifuMaterialTextbox1.Text != "")
419. {
420. panel12.Controls.Remove(np);
421. pictureBox11.Visible = true;
422. int lungime = 10;
423. List<string> utilizatori = new List<string>();
424. np = new Panel();

21
Messaging Cloud

425. np.AutoScroll = false;


426. np.HorizontalScroll.Enabled = false;
427. np.HorizontalScroll.Visible = false;
428. np.HorizontalScroll.Maximum = 0;
429. np.AutoScroll = true;
430. np.BackColor = Color.FromArgb(31, 39, 49);
431. np.Size = new Size(295, 528);
432. np.Location = new Point(0, 0);
433. conn.Open();
434. MySqlCommand cmd = new MySqlCommand(@"select *from Utilizator
i", conn);
435. var red = cmd.ExecuteReader();
436. while (red.Read())
437. {
438. if (red[4].ToString().Contains(bunifuMaterialTextbox1.Tex
t.ToString()) && red[4].ToString()!= user)
439. {
440. utilizatori.Add(red[4].ToString());
441. }
442. }
443. red.Dispose();
444. cmd.Dispose();
445. conn.Close();
446. if (utilizatori.Count>0)
447. {
448. for (int i = 0; i < utilizatori.Count; i++)
449. {
450. conn.Open();
451. cmd = new MySqlCommand(@"select *from Utilizatori whe
re User=@val", conn);
452. cmd.Parameters.AddWithValue("val", utilizatori[i]);
453. red = cmd.ExecuteReader();
454. NewFriend nf = new NewFriend();
455. nf.user = user;
456. nf.label5.Text = utilizatori[i];
457. if (red.Read())
458. {
459.
460. if (red[6].ToString()!="")
461. {
462. byte[] img = (byte[])red[6];
463. MemoryStream m = new MemoryStream(img);
464. nf.pictureBox3.Image = Image.FromStream(m);
465. }
466.
467. if (red[11].ToString() != "1900-03-
05 12:23:43")
468. {
469. string[] data;
470. data = red[11].ToString().Split(' ');
471. string[] timp;
472. timp = data[1].Split(':');
473. nf.label3.Text = timp[0] + ":" + timp[1];
474. }
475. else
476. nf.label3.Text = "-";
477.
478. if (red[10].ToString() != "")
479. nf.label2.Text = red[10].ToString();
480. else
481. nf.label2.Text = "Nicio descriere";
482. }
483. red.Dispose();
484. cmd.Dispose();
485. conn.Close();
486. conn.Open();

22
Messaging Cloud

487. cmd = new MySqlCommand(@"select *from Prieteni where


User=@val and Prieten=@val1", conn);
488. cmd.Parameters.AddWithValue("val", user);
489. cmd.Parameters.AddWithValue("val1", utilizatori[i]);

490. red = cmd.ExecuteReader();


491. if (red.Read())
492. {
493. nf.pictureBox1.BackColor = Color.Crimson;
494. }
495. else
496. nf.pictureBox1.BackColor = Color.SeaGreen;
497. red.Dispose();
498. cmd.Dispose();
499. conn.Close();
500. conn.Open();
501. cmd = new MySqlCommand(@"select *from Cerere_prieteni
e where User1=@val1 and User2=@val2", conn);
502. cmd.Parameters.AddWithValue("val1", user);
503. cmd.Parameters.AddWithValue("val2", utilizatori[i]);

504. red = cmd.ExecuteReader();


505. if (red.Read())
506. {
507. nf.pictureBox1.BackColor = Color.FromArgb(238, 23
2, 170);
508. nf.pictureBox1.ImageLocation = "Imagini\\add_48px
.png";
509. }
510. red.Dispose();
511. cmd.Dispose();
512. conn.Close();
513. nf.Location = new Point(0, lungime);
514. lungime += 108;
515. np.Controls.Add(nf);
516. }
517. }
518. else
519. {
520. Label lb = new Label();
521. lb.Text = "Neexistent!";
522. lb.ForeColor = Color.White;
523. lb.Font = new Font("Century Gothic", 8);
524. lb.Top = 30;
525. lb.Left=(np.Width-lb.Width)/2;
526. np.Controls.Add(lb);
527. }
528. panel12.Controls.Add(np);
529. np.BringToFront();
530. }
531. }
532.
533. private void pictureBox11_Click(object sender, EventArgs e)
534. {
535. panel12.Controls.Remove(np);
536. bunifuMaterialTextbox1.Text = "";
537. pictureBox11.Visible = false;
538. }
539. public List<Friend_Request> freq = new List<Friend_Request>();
540. public string nume_user;
541. private void pictureBox10_Click(object sender, EventArgs e)
542. {
543. lungime_cerere = 20;
544. Cerere c = new Cerere();
545. if (pictureBox10.BackColor==Color.SeaGreen)
546. {

23
Messaging Cloud

547. List<string> nume = new List<string>();


548. conn.Open();
549. MySqlCommand cmd = new MySqlCommand(@"select *from Cerere_pri
etenie where User2=@val", conn);
550. cmd.Parameters.AddWithValue("val", user);
551. var red = cmd.ExecuteReader();
552. while (red.Read())
553. {
554. nume.Add(red[0].ToString());
555. }
556. red.Dispose();
557. cmd.Dispose();
558. conn.Close();
559.
560. for (int i=0; i<nume.Count; i++)
561. {
562. Friend_Request aux = new Friend_Request();
563. c.label5.Visible = false;
564. conn.Open();
565. cmd = new MySqlCommand(@"select *from Utilizatori where U
ser=@val", conn);
566. cmd.Parameters.AddWithValue("val", nume[i]);
567. red = cmd.ExecuteReader();
568. if (red.Read())
569. {
570. aux.label5.Text = nume[i];
571. if (red[6].ToString()!="")
572. {
573. byte[] img = (byte[])red[6];
574. MemoryStream m = new MemoryStream(img);
575. aux.pictureBox3.Image= Image.FromStream(m);
576. }
577. }
578. red.Dispose();
579. cmd.Dispose();
580. conn.Close();
581. freq.Add(aux);
582. nume_user = freq[i].label5.Text;
583. freq[i].pictureBox1.Click += (sender2, e2) => show_msg(se
nder2, e2, aux);
584. freq[i].pictureBox2.Click += (sender2, e2) => show_msg1(s
ender2, e2, aux);
585. freq[i].Location = new Point(0, lungime_cerere);
586. c.panel2.Controls.Add(freq[i]);
587. lungime_cerere += 100;
588. }
589. }
590. c.ShowDialog();
591. }
592. public void show_msg(object sender, EventArgs e, Friend_Request aux)

593. {
594. conn.Open();
595. MySqlCommand cmd = new MySqlCommand(@"INSERT INTO Prieteni(User,P
rieten) VALUES(@val1,@val2)", conn);
596. cmd.Parameters.AddWithValue("val1", user);
597. cmd.Parameters.AddWithValue("val2", aux.label5.Text);
598. cmd.ExecuteNonQuery();
599. cmd.Dispose();
600. conn.Close();
601. conn.Open();
602. cmd = new MySqlCommand(@"INSERT INTO Prieteni(User,Prieten) VALUE
S(@val1,@val2)", conn);
603. cmd.Parameters.AddWithValue("val1", aux.label5.Text);
604. cmd.Parameters.AddWithValue("val2", user);
605. cmd.ExecuteNonQuery();

24
Messaging Cloud

606. cmd.Dispose();
607. conn.Close();
608. conn.Open();
609. cmd = new MySqlCommand(@"delete from Cerere_prietenie where User1
=@val1 and User2=@val2", conn);
610. cmd.Parameters.AddWithValue("val1", aux.label5.Text);
611. cmd.Parameters.AddWithValue("val2", user);
612. cmd.ExecuteNonQuery();
613. cmd.Dispose();
614. conn.Close();
615. Friend fre = new Friend();
616. label2.Visible = false;
617. fre.Location = new Point(0, lungime_prieteni);
618. lungime_prieteni += 127;
619. fre.label5.Text = aux.label5.Text;
620. fre.timer1.Start();
621. conn.Open();
622. cmd = new MySqlCommand(@"select *from Utilizatori where User=@val
", conn);
623. cmd.Parameters.AddWithValue("val", aux.label5.Text);
624. var red = cmd.ExecuteReader();
625. if (red.Read())
626. {
627. fre.label5.Text = red[4].ToString();
628. if (red[10].ToString() != "")
629. fre.label2.Text = red[10].ToString();
630. else
631. fre.label2.Text = "Nicio descriere";
632.
633. if (red[8].ToString() != "")
634.
635. fre.label3.Text = red[8].ToString();
636. else
637. fre.label3.Text = "Locatie neprecizata";
638.
639. char[] sep = { ' ' };
640. string[] sir;
641. sir = red[11].ToString().Split(sep);
642. fre.label1.Text = sir[1];
643. if (red[6].ToString() != "")
644. {
645. byte[] img = (byte[])red[6];
646. MemoryStream m = new MemoryStream(img);
647. fre.pictureBox3.Image = Image.FromStream(m);
648. }
649. if (red[5].ToString() == "online")
650. fre.panel5.BackColor = Color.SeaGreen;
651. }
652. red.Dispose();
653. cmd.Dispose();
654. conn.Close();
655. aux.pictureBox1.Visible = false;
656. aux.pictureBox2.Visible = false;
657. aux.label1.Text = "Cerere aprobată";
658. aux.label1.Visible = true;
659. fre.Click += F_Click;
660. panel12.Controls.Add(fre);
661. }
662. public void show_msg1(object sender, EventArgs e, Friend_Request aux)

663. {
664. conn.Open();
665. MySqlCommand cmd = new MySqlCommand(@"delete from Cerere_prieteni
e where User1=@val1 and User2=@val2", conn);
666. cmd.Parameters.AddWithValue("val1", aux.label5.Text);
667. cmd.Parameters.AddWithValue("val2", user);

25
Messaging Cloud

668. cmd.ExecuteNonQuery();
669. cmd.Dispose();
670. conn.Close();
671. aux.pictureBox1.Visible = false;
672. aux.pictureBox2.Visible = false;
673. aux.label1.Text = "Cerere aprobată";
674. aux.label1.Visible = true;
675. }
676. private void panel4_Click(object sender, EventArgs e)
677. {
678. timer1.Stop();
679. panel3.Controls.Remove(m);
680. }
681.
682. private void pictureBox1_MouseHover(object sender, EventArgs e)
683. {
684. pictureBox1.BackColor = Color.Crimson;
685. }
686.
687. private void pictureBox1_MouseLeave(object sender, EventArgs e)
688. {
689. pictureBox1.BackColor = Color.FromArgb(25, 34, 41);
690. }
691.
692. private void pictureBox2_MouseHover(object sender, EventArgs e)
693. {
694. pictureBox2.BackColor = Color.FromArgb(53, 64, 77);
695. }
696.
697. private void pictureBox2_MouseLeave(object sender, EventArgs e)
698. {
699. pictureBox2.BackColor = Color.FromArgb(25, 34, 41);
700. }
701.
702. private void pictureBox4_MouseHover(object sender, EventArgs e)
703. {
704. pictureBox4.BackColor = Color.FromArgb(53, 64, 77);
705. }
706.
707. private void pictureBox4_MouseLeave(object sender, EventArgs e)
708. {
709. pictureBox4.BackColor = Color.FromArgb(25, 34, 41);
710. }
711.
712. private void label1_MouseHover(object sender, EventArgs e)
713. {
714. label1.ForeColor = Color.FromArgb(210, 212, 213);
715. }
716.
717. private void label1_MouseLeave(object sender, EventArgs e)
718. {
719. label1.ForeColor = Color.White;
720. }
721. public Modify me;
722. private void pictureBox4_Click_1(object sender, EventArgs e)
723. {
724. me = new Modify();
725. me.user = user;
726. me.prev = circularPictureBox1.Image;
727. conn.Open();
728. MySqlCommand cmd = new MySqlCommand(@"select *from Utilizatori wh
ere User=@val", conn);
729. cmd.Parameters.AddWithValue("val", user);
730. var red = cmd.ExecuteReader();
731. if (red.Read())
732. {

26
Messaging Cloud

733. me.bunifuMaterialTextbox2.HintText = red[1].ToString();


734. if (red[7].ToString() != "")
735. me.bunifuMaterialTextbox3.HintText = red[7].ToString();
736. else
737. me.bunifuMaterialTextbox3.HintText = "-";
738. me.bunifuMaterialTextbox4.HintText = red[2].ToString();
739. if (red[8].ToString() != "")
740. me.bunifuMaterialTextbox5.HintText = red[8].ToString();
741. else
742. me.bunifuMaterialTextbox5.HintText = "-";
743. if (red[9].ToString() != "")
744. me.bunifuMaterialTextbox6.HintText = red[9].ToString();
745. else
746. me.bunifuMaterialTextbox6.HintText = "-";
747. }
748. red.Dispose();
749. cmd.Dispose();
750. conn.Close();
751.
752. conn.Open();
753. cmd = new MySqlCommand(@"select Imagine from Utilizatori where Us
er=@val", conn);
754. cmd.Parameters.AddWithValue("val", user);
755. red = cmd.ExecuteReader();
756. if (red.Read())
757. {
758. if (red[0].ToString()!="")
759. {
760. byte[] img = (byte[])red[0];
761. MemoryStream mem = new MemoryStream(img);
762. me.pictureBox2.Image = Image.FromStream(mem);
763. }
764. }
765. red.Dispose();
766. cmd.Dispose();
767. conn.Close();
768. string[] sir = label7.Text.Split(',');
769. me.bunifuMaterialTextbox2.HintText = sir[1];
770. me.bunifuThinButton21.Click += BunifuThinButton21_Click;
771. me.Show();
772.
773. }
774.
775. private void pictureBox8_Click(object sender, EventArgs e)
776. {
777. if (bunifuMaterialTextbox2.Text == "")
778. bunifuMaterialTextbox2.Enabled = true;
779. else
780. {
781. conn.Open();
782. MySqlCommand cmd = new MySqlCommand(@"update Utilizatori set
Descriere=@val1 where User=@val2", conn);
783. cmd.Parameters.AddWithValue("val1",bunifuMaterialTextbox2.Tex
t);
784. cmd.Parameters.AddWithValue("val2",user);
785. cmd.ExecuteNonQuery();
786. cmd.Dispose();
787. conn.Close();
788. bunifuMaterialTextbox2.HintText = bunifuMaterialTextbox2.Text
;
789. label6.Text = bunifuMaterialTextbox2.Text;
790. bunifuMaterialTextbox2.Enabled = false;
791. }
792. }
793.
794. private void BunifuThinButton21_Click(object sender, EventArgs e)

27
Messaging Cloud

795. {
796. label7.Text = "Bine ai venit, " + me.bunifuMaterialTextbox2.HintT
ext;
797. label7.Left = (panel3.Width - label7.Size.Width) / 2;
798. pictureBox3.Image = me.pictureBox2.Image;
799. circularPictureBox1.Image = me.pictureBox2.Image;
800. }
801.
802. private void pictureBox1_Click(object sender, EventArgs e)
803. {
804. timer1.Stop();
805. conn.Open();
806. MySqlCommand cmd = new MySqlCommand(@"UPDATE `Utilizatori` SET Ul
tima_accesare=@val, Status='offline' where User=@val1", conn);
807. cmd.Parameters.AddWithValue("val", DateTime.Now);
808. cmd.Parameters.AddWithValue("val1", user);
809. cmd.ExecuteNonQuery();
810. cmd.Dispose();
811. conn.Close();
812. Close();
813. }
814.
815. private void pictureBox2_Click(object sender, EventArgs e)
816. {
817. this.WindowState = FormWindowState.Minimized;
818. }
819. }
820. }

28
Messaging Cloud

Eventuale erori

Eventualele erori apar între aplicație și baza de date atunci când baza de date nu răspunde în
timp util. Acest fapt se datorează fie conexiunii la internet, fie serviciului de hosting unde se
află baza de date.

Aceste erori sunt întâmpinate de fereastra de mai jos care închide aplicația, fiind recomandată
redeschiderea acesteia.

Cerințe de sistem

 CPU: Cel puțin 1 GHz


 RAM: 1 GB RAM
 GPU: Intel HD Graphics
 DX: DirectX v9.0 sau mai mare
 OS: Windows XP,7/8.1/10 (32-bit/64-bit)
 Stocare: 10MB
 .NET Framework: Microsoft .NET Framework 4.7.2 (x86 and x64)

29
Messaging Cloud

Bibliografie

 https://stackoverflow.com/.
 https://www.wikipedia.org/
 https://docs.microsoft.com/ro-ro/dotnet/csharp/

30
Messaging Cloud

Cuprins

Introducere ................................................................................................................................. 2

Mediile de programare folosite .................................................................................................. 2

1. Microsoft Visual Studio 2019 ......................................................................................... 2


2. phpMyAdmin .................................................................................................................. 2
Structura bazei de date ............................................................................................................... 3

Instalarea aplicației ..................................................................................................................... 4

Fereastra Login ........................................................................................................................... 5

 Design: ............................................................................................................................ 5
 Codul sursă: ..................................................................................................................... 5
 Conturi utilizator existente destinate testelor: ................................................................. 7
Fereastra Sign Up ....................................................................................................................... 8

 Design: ............................................................................................................................ 8
 Codul sursă: ..................................................................................................................... 8
Fereastra principală .................................................................................................................. 12

 Fereastra de start: .......................................................................................................... 12


 Fereastra de mesaje: ...................................................................................................... 13
 Căutare prieteni noi: ...................................................................................................... 14
 Fereastra Settings .......................................................................................................... 14
 Fereastra Friend Request ............................................................................................... 14
 Codul sursă - Fereastra principală: ................................................................................ 15
Eventuale erori ......................................................................................................................... 29

Cerințe de sistem ...................................................................................................................... 29

Bibliografie............................................................................................................................... 30

Cuprins ..................................................................................................................................... 31

31

S-ar putea să vă placă și