예제 #1
0
        //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";
                }
            }
        }
예제 #2
0
        //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";
                }
            }
        }
예제 #3
0
        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];
        }
예제 #4
0
        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);
            }
        }
예제 #5
0
        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 :;
            }
        }
예제 #6
0
        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();
                }
            }
        }