//metoda sprawdzająca czy słówka w kategorii są już w 100% opanowane private async void sprawdzenie() { //sprawdzenie jeśli ktoś wybrał że chce zaliczać z 0 odpowiedzi if (ilosc == 0) { readText("Ojojoj, nieładnie tak oszukiwać. Wierzę że potrafisz rozwiązać test składający się z więcej niż ZERO odpowiedzi."); await new Windows.UI.Popups.MessageDialog("Niestety, ale ten błąd też przewidzieliśmy.", "Błąd").ShowAsync(); Frame.GoBack(); } using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z dalej kategorii var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); txtCount.Text = count.ToString(); var existing = conn.Query <tabela>(@"select * from '" + kat + "' where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); //zmienna gdzie przechowywana jest prawidłowa odpowiedz try { wynik = existing.ang; } catch (Exception ex) { koniec = "koniec"; } } }
//metoda sprawdzająca czy słówka w kategorii są już w 100% opanowane private void sprawdzenie() { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z dalej kategorii var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); txtCount.Text = count.ToString(); var existing = conn.Query <tabela>(@"select * from '" + kat + "' where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); //zmienna gdzie przechowywana jest prawidłowa odpowiedz try { wynik = existing.ang; } catch (Exception ex) { koniec = "koniec"; } } }
private async void btnNext_Click(object sender, RoutedEventArgs e) { if (rbtnStackPanel.Children.OfType <RadioButton>().Any(rb => rb.IsChecked == true)) { if (ans1.IsChecked == true) { if (wynik == ans1.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } } } if (ans2.IsChecked == true) { if (wynik == ans2.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } } } if (ans3.IsChecked == true) { if (wynik == ans3.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } } } if (ans4.IsChecked == true) { if (wynik == ans4.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } } } } // x += 1; // txtCount.Text = x.ToString(); //if (rtnRight.IsChecked == true) //{ // score += 1; // } // if (score == 3) // { // // float procent = (score / x) * 100; // // await new Windows.UI.Popups.MessageDialog("Na " + x + " pytań, udzeliłeś " + score + " poprawnych odpowiedzi, w tym teście uzyskałeś " + procent + " procent", "Wynik").ShowAsync(); // } else { await new Windows.UI.Popups.MessageDialog("Musisz wybrać przynajmniej jedną odpowiedź.", "Błąd").ShowAsync(); } //kolejne wybranie słowa po wcisnięciu przycisku next using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z dalej kategorii var pozostale = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "'"); var count1 = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=1"); txtCount.Text = pozostale.ToString(); //progressbar pokazujący postęp prgProgress.Maximum = count; prgProgress.Value = count1; var existing = conn.Query <tabela>(@"select * from '" + kat + "' where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); //zmienna gdzie przechowywana jest prawidłowa odpowiedz wynik = existing.ang; //Wrzuca odp z wynikiem do tablicy odpowiedziAng[0] = existing.ang; // Ładuje słowo polskie to textboxa w panelu testu txtPol.Text = existing.pol; //petla gdzie laduje pozostale randomowe odpowiedzi do tablicy odpowiedzi for (int i = 1; i < 4; i++) { existing = conn.Query <tabela>(@"select * from '" + kat + "'where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); odpowiedziAng[i] = existing.ang; } } //wymieszanie odpowiedzi Shuffle(odpowiedziAng); // wstawienie odpowiedzi do radiobuttonów ans1.Content = odpowiedziAng[0]; ans2.Content = odpowiedziAng[1]; ans3.Content = odpowiedziAng[2]; ans4.Content = odpowiedziAng[3]; }
public Test() { this.InitializeComponent(); kat = Windows.Storage.ApplicationData.Current.LocalSettings.Values["Kategoria"].ToString(); //konwersja stringa z polskimi znakami na bez polskich znaków StringBuilder sb = new StringBuilder(kat); sb.Replace('ą', 'a') .Replace('ć', 'c') .Replace('ę', 'e') .Replace('ł', 'l') .Replace('ń', 'n') .Replace('ó', 'o') .Replace('ś', 's') .Replace('ż', 'z') .Replace('ź', 'z') .Replace('Ą', 'A') .Replace('Ć', 'C') .Replace('Ę', 'E') .Replace('Ł', 'L') .Replace('Ń', 'N') .Replace('Ó', 'O') .Replace('Ś', 'S') .Replace('Ż', 'Z') .Replace('Ź', 'Z'); kat = sb.ToString(); sprawdzenie(); if (koniec == "koniec") { goto koniec; } txtCategory.Text = Windows.Storage.ApplicationData.Current.LocalSettings.Values["Kategoria"].ToString(); //wyswietlenie aktualnego progresu using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z dalej kategorii var pozostale = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "'"); var count1 = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=1"); txtCount.Text = pozostale.ToString(); //progressbar pokazujący postęp prgProgress.Maximum = count; prgProgress.Value = count1; } using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z dalej kategorii var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); txtCount.Text = count.ToString(); var existing = conn.Query <tabela>(@"select * from '" + kat + "' where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); //zmienna gdzie przechowywana jest prawidłowa odpowiedz wynik = existing.ang; //Wrzuca odp z wynikiem do tablicy odpowiedziAng[0] = existing.ang; // Ładuje słowo polskie to textboxa w panelu testu txtPol.Text = existing.pol; //petla gdzie laduje pozostale randomowe odpowiedzi do tablicy odpowiedzi for (int i = 1; i < 4; i++) { existing = conn.Query <tabela>(@"select * from '" + kat + "'where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); odpowiedziAng[i] = existing.ang; } } //wymieszanie odpowiedzi Shuffle(odpowiedziAng); // wstawienie odpowiedzi do radiobuttonów ans1.Content = odpowiedziAng[0]; ans2.Content = odpowiedziAng[1]; ans3.Content = odpowiedziAng[2]; ans4.Content = odpowiedziAng[3]; koniec : if (koniec == "koniec") { wysw(); // RoutedEventArgs ee = new RoutedEventArgs(); // btnBack_Click(this.btnBack, ee); } }
private async void btnNext_Click(object sender, RoutedEventArgs e) { prgProgress.Value += 1; if (prgProgress.Value == prgProgress.Maximum) { int score = Convert.ToInt32(prgProgress.Maximum); float your_score = good_answer; float procent = (your_score / score) * 100; await new Windows.UI.Popups.MessageDialog("Ukończyłeś test. Na " + score + " pytań, udzieliłeś " + your_score + " poprawnych odpowiedzi.", "Wynik testu = " + procent + "%").ShowAsync(); } else { if (rbtnStackPanel.Children.OfType <RadioButton>().Any(rb => rb.IsChecked == true)) { //zwiekszenie wartosci progressbar po każdym pytaniu if (ans1.IsChecked == true) { if (wynik == ans1.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } good_answer += 1; } else { bad_answer += 1; } } if (ans2.IsChecked == true) { if (wynik == ans2.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } good_answer += 1; } else { bad_answer += 1; } } if (ans3.IsChecked == true) { if (wynik == ans3.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } good_answer += 1; } else { bad_answer += 1; } } if (ans4.IsChecked == true) { if (wynik == ans4.Content.ToString()) { using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { conn.Execute(@"UPDATE '" + kat + "' SET test = 1 WHERE ang='" + wynik + "'"); } good_answer += 1; } else { bad_answer += 1; } } } else { await new Windows.UI.Popups.MessageDialog("Musisz wybrać przynajmniej jedną odpowiedź.", "Błąd").ShowAsync(); goto brak_wyboru; } prgGood.Value = good_answer; //kolejne wybranie słowa po wcisnięciu przycisku next using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z danej kategorii var pozostale = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "'"); var count1 = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=1"); txtCount.Text = pozostale.ToString(); // tabela zmienna; if (rodzaj == "Tylko znane") { zmienna = conn.Query <tabela>(@"select * from '" + kat + "' where zaliczone=1 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); } else { zmienna = conn.Query <tabela>(@"select * from '" + kat + "' where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); } var existing = zmienna; //zmienna gdzie przechowywana jest prawidłowa odpowiedz wynik = existing.ang; //Wrzuca odp z wynikiem do tablicy odpowiedziAng[0] = existing.ang; // Ładuje słowo polskie to textboxa w panelu testu txtPol.Text = existing.pol; // prgProgress.Value = progress; //petla gdzie laduje pozostale randomowe odpowiedzi do tablicy odpowiedzi for (int i = 1; i < 4; i++) { existing = conn.Query <tabela>(@"select * from '" + kat + "'where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); odpowiedziAng[i] = existing.ang; } } //wymieszanie odpowiedzi Shuffle(odpowiedziAng); // wstawienie odpowiedzi do radiobuttonów ans1.Content = odpowiedziAng[0]; ans2.Content = odpowiedziAng[1]; ans3.Content = odpowiedziAng[2]; ans4.Content = odpowiedziAng[3]; brak_wyboru :; } }
public Test2_1() { this.InitializeComponent(); //pobranie zmiennych z okna Test2 które są zachowane w pamięci kat = Windows.Storage.ApplicationData.Current.LocalSettings.Values["Kategorie"].ToString(); ilosc = Convert.ToInt32(Windows.Storage.ApplicationData.Current.LocalSettings.Values["Ilosc"]); rodzaj = Windows.Storage.ApplicationData.Current.LocalSettings.Values["Rodzaj"].ToString(); //wywolanie metody sprawdzenia czy słówka są opanowane sprawdzenie(); if (koniec == "koniec") { goto koniec; } //konwersja stringa z polskimi znakami na bez polskich znaków StringBuilder sb = new StringBuilder(kat); sb.Replace('ą', 'a') .Replace('ć', 'c') .Replace('ę', 'e') .Replace('ł', 'l') .Replace('ń', 'n') .Replace('ó', 'o') .Replace('ś', 's') .Replace('ż', 'z') .Replace('ź', 'z') .Replace('Ą', 'A') .Replace('Ć', 'C') .Replace('Ę', 'E') .Replace('Ł', 'L') .Replace('Ń', 'N') .Replace('Ó', 'O') .Replace('Ś', 'S') .Replace('Ż', 'Z') .Replace('Ź', 'Z'); kat = sb.ToString(); txtCategory.Text = Windows.Storage.ApplicationData.Current.LocalSettings.Values["Kategorie"].ToString(); //wyswietlenie aktualnego progresu using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z danej kategorii var pozostale = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "'"); var count1 = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=1"); txtCount.Text = pozostale.ToString(); //progressbar pokazujący postęp prgProgress.Maximum = ilosc; // prgBad.Maximum = ilosc; prgGood.Maximum = ilosc; } using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\baza_slow3.sqlite")) { //licznik pokazujący ile słów pozostało do zaliczenia z dalej kategorii var count = conn.ExecuteScalar <int>("SELECT Count(*) FROM '" + kat + "' where test=0"); txtCount.Text = count.ToString(); if (rodzaj == "Tylko znane") { //jeśli wybrano tylko znane słówka, to będzie losowało z zaliczone=1; zmienna = conn.Query <tabela>(@"select * from '" + kat + "' where zaliczone=1 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); //warunek jeśli wykryto że nie ma żadnych słówek znanych, wtedy przehodzi do etykiety koniec if (zmienna == null) { koniec = "koniec"; goto koniec; } } //jeśli wybrano wszystkie słówka to będzie losowało z tych które w teście nie zostały jeszcze zaliczone else { zmienna = conn.Query <tabela>(@"select * from '" + kat + "' where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); } var existing = zmienna; //zmienna gdzie przechowywana jest prawidłowa odpowiedz wynik = existing.ang; //Wrzuca odp z wynikiem do tablicy odpowiedziAng[0] = existing.ang; // Ładuje słowo polskie to textboxa w panelu testu txtPol.Text = existing.pol; //petla gdzie laduje pozostale randomowe odpowiedzi do tablicy odpowiedzi for (int i = 1; i < 4; i++) { existing = conn.Query <tabela>(@"select * from '" + kat + "'where test=0 ORDER BY RANDOM() LIMIT 1").FirstOrDefault(); odpowiedziAng[i] = existing.ang; } } //wymieszanie odpowiedzi Shuffle(odpowiedziAng); // wstawienie odpowiedzi do radiobuttonów ans1.Content = odpowiedziAng[0]; ans2.Content = odpowiedziAng[1]; ans3.Content = odpowiedziAng[2]; ans4.Content = odpowiedziAng[3]; //ta etykieta stanie się tylko wtedy gdy nie będzie słówek do wyświetlenia koniec : if (koniec == "koniec") { if (zmienna == null) { wysw1(); } else { wysw(); } } }