Пример #1
0
        private async void adresStrony_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Return)
            {
                buttonZnajdz.IsEnabled = false;
                // Pobierz asynchronicznie listę wyników
                ListaPlikow lista = await Rob(adresStrony.Text);

                // Usuń stare wyniki.
                listaPlikow.Clear();

                // Komunikat o ewentualnym braku wyników
                if (lista.Count == 0)
                {
                    MessageBox.Show("Brak rezultatów");
                }
                else
                {
                    // Uaktywnij przycisk pobierania wszystkich
                    pobierzWszystkie.IsEnabled = true;

                    // Skopiuj wynik do listy wyświetlanej przez program
                    foreach (Plik p in lista)
                    {
                        listaPlikow.Add(p);
                    }
                }
                buttonZnajdz.IsEnabled = true;
            }
        }
Пример #2
0
        /// <summary>
        /// Zadanie uruchomienia głównych funkcji programu
        /// </summary>
        private Task <ListaPlikow> Rob(string adresStrony)
        {
            // Zwróć asynchronicznie listę plików
            return(Task <ListaPlikow> .Factory.StartNew(() =>
            {
                ListaPlikow lista = new ListaPlikow();

                try
                {
                    // Przetwórz daną stronę internetową
                    Website website = new Website(adresStrony);

                    // Dodaj znalezione adresy plików do listy
                    lista.Dodaj(website.Matches);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Rób: " + ex.Message);
                }

                return lista;
            }));
        }