-
Notifications
You must be signed in to change notification settings - Fork 0
/
Uygulama.cs
94 lines (80 loc) · 3.56 KB
/
Uygulama.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using System;
using System.Data;
using System.Windows.Forms;
using System.IO;
namespace Hydra_Audio_Player
{
public partial class Uygulama : Form
{
public Uygulama()
=> InitializeComponent();
private void ListeyiTemizle_Click(object sender, EventArgs e)
=> OynatmaListesi.Rows.Clear();
private void DosyaSec_Click(object sender, EventArgs e)
{
if (DosyaSecimi.ShowDialog() == DialogResult.OK)
{
// "DosyaSecimi" öğesiyle seçilmiş tüm dosyaları "yol" adlı diziye aktarır.
var yol = DosyaSecimi.FileNames;
// "yol" adlı dizideki her bir dosya için "OynatmaListesi" öğesine gerekli dosya bilgilerini aktarır.
foreach (var dosya in yol)
{
var dosyaBilgisi = new DosyaBilgisi(Path.GetFullPath(dosya));
OynatmaListesi.Rows.Add(
dosyaBilgisi.ParcaAdi,
dosyaBilgisi.Sanatci,
dosyaBilgisi.Uzunluk,
Path.GetFullPath(dosya));
}
}
}
private void OynatmaListesi_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
// Çift tıklanan hücrenin bağlı olduğu parçanın oynatılmasını sağlar.
MedyaOynatici.URL = OynatmaListesi.CurrentRow?.Cells["YolColumn"].Value.ToString();
/* Çift tıklanan hücrenin bağlı olduğu parçanın dosya bilgisini
"DosyaBilgisi" sınıfında yeni bir nesne oluşturarak getirir. */
var dosya = new DosyaBilgisi(MedyaOynatici.URL);
ParcaAdi.Text = dosya.ParcaAdi;
Sanatci.Text = dosya.Sanatci;
Yazar.Text = dosya.Yazar;
Album.Text = dosya.Album;
YapimYili.Text = dosya.YapimYili;
Tur.Text = dosya.Tur;
Uzunluk.Text = dosya.Uzunluk;
AlbumKapagi.Image = dosya.AlbumKapagi.Image;
}
private void Kaydet_Click(object sender, EventArgs e)
{
if (XMLKaydet.ShowDialog() == DialogResult.OK)
{
// "XMLKaydet" öğesinde seçilmiş yolu "yol" adlı diziye aktarır.
var yol = XMLKaydet.FileName;
// "OynatmaListesi" öğesini ve "yol" dizisini kullanarak "Liste" sınıfından yeni bir nesne oluşturur.
var calmaListesi = new Liste(OynatmaListesi, yol);
// "Liste" sınıfında oluşturulan nesneyi XML dosyasına yazar.
calmaListesi.DataTable.WriteXml(yol, XmlWriteMode.WriteSchema);
}
}
private void Yukle_Click(object sender, EventArgs e)
{
if (XMLYukle.ShowDialog() == DialogResult.OK)
{
OynatmaListesi.Rows.Clear();
// "XMLYukle" öğesinde seçilen yolu "yol" öğesine aktarır.
var yol = XMLYukle.FileName;
// "yol" dizisinden alınan bilgiyi kullanarak "Liste" sınıfından yeni bir nesne oluşturur.
var veri = new Liste(yol);
// Oluşturulan nesnedeki bilgileri "OynatmaListesi" öğesine aktarır.
foreach (DataRow row in veri.DataTable.Rows)
{
OynatmaListesi.Rows.Add(
row["ParcaColumn"],
row["SanatciColumn"],
row["UzunlukColumn"],
row["YolColumn"]);
}
}
}
}
}