public void Pobierz(string nazwaPlikuFtp, string nazwaPliku) //dwuarkumentowa funkcja zawierajaca nazwe pliku znajdujaca sie w biezacym katalogu ftp drugi argument to ścieżka pliku znajdujaca sie na dysku lokalnym { WebClient klient = new WebClient(); //inicjacja klasy WebClient try { string path = ftpDirectory + "/" + nazwaPlikuFtp; Uri uri = new UriBuilder(path).Uri; //lokalizacja pliku w zasobach sieciowych FileInfo plik = new FileInfo(nazwaPliku); if(plik.Exists) //warunek Exists sprawdza czy plik istnieje throw new Exception("Błąd: Plik" + nazwaPliku + "istnieje"); else { klient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(klient_DownloadFileCompleted); //zwraca sygnał zakonczenia asynchronicznego zdarzenia DownloadFileComplete klient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(klient_DownloadProgressChanged); //zmienia się wraz ze wskaźnikiem pobierania pliku klient.Credentials = new NetworkCredential(this.userName, this.password); //uwierzytelnienie połączenia klient.Pobierz(this.path, nazwaPliku); downloadComplete=false; //zwracanie flagi } } catch { klient.Dispose(); throw new Exception("Bład: Pobieranie pliku niemożliwe"); } }