public void ZapiszJakoXml(XmlWriter writer) { writer.WriteStartElement(GetType().FullName); foreach (PropertyInfo właściwość in GetType().GetProperties().OrderBy(w => w.Name)) { Type typWłaściwości = właściwość.PropertyType; object wartośćWłaściwości = właściwość.GetValue(this); if (wartośćWłaściwości != null) { writer.WriteStartElement(właściwość.Name); if (właściwość.GetSetMethod() == null) { if (typWłaściwości == typeof(WartośćWewnętrznegoKlockaZwracającegoWartość)) { WartośćWewnętrznegoKlockaZwracającegoWartość wartość = (WartośćWewnętrznegoKlockaZwracającegoWartość)wartośćWłaściwości; wartość[0]?.ZapiszJakoXml(writer); } else if (typWłaściwości == typeof(ZawartośćKlockaPionowegoZZawartością)) { ZawartośćKlockaPionowegoZZawartością zawartość = (ZawartośćKlockaPionowegoZZawartością)wartośćWłaściwości; foreach (KlocekPionowy klocekPionowy in zawartość) { klocekPionowy.ZapiszJakoXml(writer); } } } else { if (typWłaściwości == typeof(KlocekPionowyZZawartością)) { } else if (typWłaściwości == typeof(Semafor)) { } else if (typWłaściwości == typeof(WartośćWewnętrznegoKlockaZwracającegoWartość)) { } else if (typWłaściwości == typeof(Zmienna)) { Zmienna zmienna = (Zmienna)wartośćWłaściwości; writer.WriteString(zmienna.Nazwa); } else { writer.WriteString(wartośćWłaściwości.ToString()); } } writer.WriteEndElement(); } } writer.WriteEndElement(); }
protected void SprawdźPoprawnośćZmiennej(Zmienna zmienna, Type typZmiennej) { Dispatcher dispatcher = Application.Current.Dispatcher; if (zmienna == null) { Błąd = true; dispatcher.Invoke(delegate { Błędy.Add(new BłądZwiązanyZBrakiemWyboruZmiennej()); }); return; } if (typZmiennej != null) { object wartośćZmiennej = zmienna.Wartość; if (!typZmiennej.IsInstanceOfType(wartośćZmiennej)) { Błąd = true; dispatcher.Invoke(delegate { Błędy.Add(new BłądZwiązanyZTypemZmiennej(typZmiennej, wartośćZmiennej?.GetType())); }); } } }
private void Button_Click_2(object sender, RoutedEventArgs e) { try { string Notatka = ListaNotatek.SelectedValue.ToString(); XDocument Dokument = XDocument.Load("ZapisaneDane.xml"); Dokument.Descendants().Elements("Tresc_notatki") .Where(UsuwanieNotatki => UsuwanieNotatki.Value == Notatka) .Where(UsuwanieNotatki => UsuwanieNotatki.Parent.Name == "Notatka") .Select(UsuwanieNotatki => UsuwanieNotatki.Parent) .Remove(); Dokument.Save("ZapisaneDane.xml"); ListaNotatek.Items.Clear(); string Semestr = WyborSemestrMojeNotatki.Text; string Przedmiot = WyborPrzedmiotMojeNotatki.Text; var Filtr = XElement.Load("ZapisaneDane.xml") .Descendants("Notatka") .Where(Nody => Nody.Element("Semestr").Value == Semestr && Nody.Element("Przedmiot").Value == Przedmiot) .OrderBy(Zmienna => (Zmienna.Element("Tresc_notatki").Value)) .ToList <XElement>(); foreach (var Tresc in Filtr) { string NowaTresc = Tresc.Element("Tresc_notatki").Value; ListaNotatek.Items.Add(NowaTresc); } } catch (Exception) { MessageBox.Show("Brak wybranej notatki do usuniecia", "Wystąpił błąd"); } }
private void Button_Click_1(object sender, RoutedEventArgs e) { try { if (WyborSemestrMojeNotatki.SelectedValue == null) { MessageBox.Show("Nie wprowadzono semstru", "Brak filtru"); } else if (WyborPrzedmiotMojeNotatki.SelectedValue == null) { MessageBox.Show("Nie wprowadzono przedmiotu", "Brak filtru"); } else { ListaNotatek.Items.Clear(); } string Semestr = WyborSemestrMojeNotatki.Text; string Przedmiot = WyborPrzedmiotMojeNotatki.Text; var Filtr = XElement.Load("ZapisaneDane.xml") .Descendants("Notatka") .Where(Nody => Nody.Element("Semestr").Value == Semestr && Nody.Element("Przedmiot").Value == Przedmiot) .OrderBy(Zmienna => (Zmienna.Element("Tresc_notatki").Value)) .ToList <XElement>(); foreach (var Tresc in Filtr) { string NowaTresc = Tresc.Element("Tresc_notatki").Value; ListaNotatek.Items.Add(NowaTresc); } } catch (Exception Wyjątek) { MessageBox.Show(Wyjątek.ToString(), "Wystąpił błąd"); } }
public bool SprawdzCzyJestWObserwowanych(Zmienna zmienna) { if (obserwowaneZmienne.Count < 1) { return(false); } foreach (Zmienna zm in obserwowaneZmienne) { if (zm.nazwa == zmienna.nazwa) { return(true); } } return(false); }
private void lbZmienne_DoubleClick(object sender, EventArgs e) { if (lbZmienne.SelectedItem == null) { return; } if (lbZmienne.Items.Count > 0) { Zmienna temp = new Zmienna(); String tempNazwa = lbZmienne.SelectedItem.ToString(); int tmp = ZnajdzZmienna(tempNazwa); if (tmp < 0) { MessageBox.Show("Podglad Zmiennych: dodaj zmienna do obs: zmienna " + tempNazwa + " nie znaleziona"); return; } Zmienna tempZm = zmienne[tmp]; temp.iloscElTablicy = tempZm.iloscElTablicy; temp.nazwa = tempZm.nazwa.ToString(); temp.tablica = tempZm.tablica; temp.typ = tempZm.typ; if (temp.tablica == true) { foreach (String str in tempZm.wartosci) { temp.wartosci.Add(str.ToString()); } } else { temp.wartosc = tempZm.wartosc.ToString(); } if (SprawdzCzyJestWObserwowanych(temp) == false) { obserwowaneZmienne.Add(temp); } AktualizujListeObserwowanych(); } }
public void AktualizujObserwowaneZmienne() //ze zmiennych ktorych juz niema i aktualizuj wartości { if (zmienne == null) { MessageBox.Show("Podglad zmiennych: AktualizujObserwowaneZmienne: brak listy zmiennych"); return; } if (obserwowaneZmienne.Count < 1) { return; } foreach (Zmienna zm in obserwowaneZmienne) { if (SprawdzCzyIstniejeZmienna(zm.nazwa) == false) { obserwowaneZmienne.Remove(zm); } else { int tmp = ZnajdzZmienna(zm.nazwa); if (tmp < 0) { MessageBox.Show("Podglad zmiennych: AktualizujObserwowaneZmienne: zmienna " + zm.nazwa + " nie znaleziona"); return; } Zmienna temp = zmienne[tmp]; if (zm.tablica == true) { zm.wartosci.Clear(); zm.iloscElTablicy = temp.iloscElTablicy; for (int i = 0; i < temp.wartosci.Count; i++) { zm.wartosci.Add(temp.wartosci[i].ToString()); } } else { zm.wartosc = temp.wartosc.ToString(); } } } }