public void dodaj_plik(string sciezka_zrodolwa, string katalog_docelowy) { Console.WriteLine("Dodaję " + sciezka_zrodolwa + " do katalogu " + katalog_docelowy); obiektXML plikXML=null; try { plikXML = new obiektXML(katalog_docelowy, 1); schematy.Text = plikXML.schemat;//Wpisane na sztywno, do obróbki } catch (Exception e) { Console.WriteLine(e); return; } Directory.SetCurrentDirectory(katalog_docelowy); sortuj_plik(sciezka_zrodolwa, plikXML.schemat); //-----------------------------------------tymczasowe żeby kompilator nie krzyczał //zastąpić normalną obsługą pliku XML, ja tego nie miałem jak pisałem if(plikXML!=null) plikXML.aktualizuj(); }
private void DodajPiosenki_Click(object sender, EventArgs e) { if (source.Text == "" || destination.Text == "") { MessageBox.Show("Nie wybrano wymaganych folderów!"); } String zrodlo = source.Text; String docelowy = destination.Text; if (!File.Exists(docelowy + "\\struktura_logiczna.xml")) { MessageBox.Show("Folder docelowy nigdy nie został posortowany!"); return; } obiektXML plikXML = new obiektXML(docelowy, 1); if (!plikXML.analizuj()) { MessageBox.Show("Nastąpiły zmiany w drzewie folderów, przed dodawaniem wymagane jest ponowne sortowanie!"); return; } Logi.AppendText("Dodawanie plików muzycznych z folderu: " + zrodlo + " do posortowanego folderu: " + docelowy + Environment.NewLine); Logi.Refresh(); progressBar2.Maximum = 0; progressBar2.Value = 0; progressBar2.Step = 1; Dictionary<string, List<string>> sciezki_plikow = znajdz_wspierane_pliki(zrodlo); foreach (string rozszerzenie in utwor.wspierane_rozszerzenia) //iterujemy po rozszerzeniach { foreach (string sciezka in sciezki_plikow[rozszerzenie]) { Logi.AppendText("Dodaję plik: " + sciezka + Environment.NewLine); Logi.Refresh(); dodaj_plik(sciezka, docelowy); progressBar2.PerformStep(); Logi.AppendText("Zakończono dodawanie pliku: " + sciezka + Environment.NewLine); Logi.Refresh(); } } progressBar2.Value = 0; progressBar2.Maximum = 0; Logi.AppendText("Zakończono dodawanie plików!" + Environment.NewLine); Logi.Refresh(); MessageBox.Show("Zakończono dodawanie plików!"); }
private void Dodaj_Do_Głównego_Click(object sender, EventArgs e) { if (directoryTreeView.SelectedNode == null) { MessageBox.Show("Nie wybrano folderu do dodania!"); return; } String source = directoryTreeView.SelectedNode.Name; if (!File.Exists(source + @"\struktura_logiczna.xml")) { MessageBox.Show("Folder nie został posortowany"); return; } else { obiektXML xml = new obiektXML(source, 1); if (!xml.analizuj()) { MessageBox.Show("Błąd w systemie plików folderu!"); return; } String[] temp = source.Split('\\'); String nazwa_parenta; if (temp.Length > 2) { nazwa_parenta = temp[temp.Length - 2]; } else { nazwa_parenta = "Bez nazwy"; } CopyFolder(source, folderGlowny + "\\" + nazwa_parenta); xml = new obiektXML(folderGlowny + "\\" + nazwa_parenta, 1); xml.generujXML(folderGlowny + "\\" + nazwa_parenta); mainFolderXML mainXML = new mainFolderXML(folderGlowny + "\\struktura_folderow.xml"); mainXML.generujElementy(); MessageBox.Show("Dodano folder o nazwie " + nazwa_parenta + " do folderu głównego programu!"); } }
private void button1_Click(object sender, EventArgs e) { progressBar2.Value = 0; button1.Enabled = false; Logi.Clear(); if (!Directory.Exists(directoryTreeView.SelectedNode.Name)) //sprawdz czy podana sciezka jest poprawna { MessageBox.Show("Podano nieprawidlowa sciezke folderu", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); button1.Enabled = true; return; } else if (Directory.GetLogicalDrives().Contains(directoryTreeView.SelectedNode.Name)) { DialogResult dr = MessageBox.Show("Czy jestes pewien przeszukiwania zawartosci calego dysku?\n" + "Moze to potrwac bardzo dlugo, a nawet zawiesic program.\n", "", MessageBoxButtons.YesNo); if (dr == DialogResult.No) return; } else { /*Nie widziałem pliku xml, więc nie wiem, skąd pobrać schemat String tmp = sciezka_box.Text + "\\" + "struktura_logiczna.xml"; if (File.Exists(@"" + tmp)) //ostrzeżenie przed zmianą schematu { XmlDocument plikXML = new XmlDocument(); plikXML.Load(tmp); //mozna w tym komunikacie dodac jaka jest aktualna sciezka DialogResult wynik = MessageBox.Show("Czy chcesz zmienić sposób dotychczasowego sortowania?", "", MessageBoxButtons.YesNo); if(wynik = DialogResult.No) { return; } } */ try { sortuj(); String folder = directoryTreeView.SelectedNode.Name + "\\Musesort"; obiektXML xml = new obiektXML(schematy.Text); xml.generujXML(folder); MessageBox.Show("Pomyślnie posortowano pliki.", "", MessageBoxButtons.OK); button1.Enabled = true; //MessageBox.Show("Pomyślnie posortowano pliki.", "", MessageBoxButtons.OK); } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Przerwanie sortowania."); Console.WriteLine(ex); } } button1.Enabled = true; progressBar2.Value = 0; }