private string host = "ftp://ftp.example.com";
private string user = "example.com";
private string pass = "sifre";
private FtpWebResponse ftpResponse = null;
private Stream ftpStream = null;
private int bufferSize = 2048;
private FtpWebRequest FTP=null;

public bool download(string sunucu_yolu, string kayitedilecek_yer)
        {
            if (NetworkKontrol.InternetKontrol())
            {
                try
                {
                    FTP = (FtpWebRequest)WebRequest.Create(host + "/" + sunucu_yolu);
                    FTP.Credentials = new NetworkCredential(user, pass);
                    FTP.UseBinary = true;
                    FTP.UsePassive = true;
                    FTP.KeepAlive = true;
                    FTP.Method = WebRequestMethods.Ftp.DownloadFile;
                    ftpResponse = (FtpWebResponse)FTP.GetResponse();
                    ftpStream = ftpResponse.GetResponseStream();
                    FileStream localFileStream = new FileStream(kayitedilecek_yer, FileMode.Create);
                    byte[] byteBuffer = new byte[bufferSize];
                    int bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
                    try
                    {
                        while (bytesRead > 0)
                        {
                            localFileStream.Write(byteBuffer, 0, bytesRead);
                            bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
                        }

                        return true;
                    }
                    catch (Exception ex) { MessageBox.Show(ex.Message, "Hata"); }
                    
                    localFileStream.Close();
                    ftpStream.Close();
                    ftpResponse.Close();
                    FTP = null;
                }
                catch (Exception ex) { MessageBox.Show(ex.Message, "Hata"); }
                return false;
            }
            else
                return false;
        }
        
        public bool upload(string dosya_yolu)
        {
            if (NetworkKontrol.InternetKontrol())
            {
                try
                {
                    FileInfo FI = new FileInfo(dosya_yolu);
                    string uri = host + "/" + FI.Name;
                    FTP = (FtpWebRequest)WebRequest.Create(uri);
                    FTP.Credentials = new NetworkCredential(user, pass);
                    FTP.UsePassive = true;
                    FTP.UseBinary = true;
                    FTP.KeepAlive = true;
                    FTP.Method = WebRequestMethods.Ftp.UploadFile;
                    FTP.ContentLength = FI.Length;
                    int buffLength = 2048;
                    byte[] buff = new byte[buffLength];
                    int contentLen;
                    FileStream FS = FI.OpenRead();

                    Stream strm = FTP.GetRequestStream();
                    contentLen = FS.Read(buff, 0, buffLength);
                    while (contentLen != 0)
                    {
                        strm.Write(buff, 0, contentLen);
                        contentLen = FS.Read(buff, 0, buffLength);
                    }
                    strm.Close();
                    FS.Close();
                    return true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Hata");
                    return false;
                }

            }
            else
                return false;
        }
        
        public bool delete(string deleteFile)
        {
            if (NetworkKontrol.InternetKontrol())
            {
                try
                {
                    FTP = (FtpWebRequest)WebRequest.Create(host + "/" + deleteFile);
                    FTP.Credentials = new NetworkCredential(user, pass);
                    FTP.UseBinary = true;
                    FTP.UsePassive = true;
                    FTP.KeepAlive = true;
                    FTP.Method = WebRequestMethods.Ftp.DeleteFile;
                    ftpResponse = (FtpWebResponse)FTP.GetResponse();
                    ftpResponse.Close();
                    FTP = null;
                    return true;
                }
                catch (Exception ex) { MessageBox.Show(ex.Message, "Hata"); }
                return false;
            }
            else
                return false;
        }

 

using System.ComponentModel;
using System.Windows.Forms;

namespace backgroundWorker_Kullanım
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Thread.RunWorkerAsync();//BackgroundWorker(Thread)'ı RunWorkerAsync() fonksiyonu ile başlatırız.
        }
        int toplam;
        private void Thread_DoWork(object sender, DoWorkEventArgs e)
        {
            //Arka Planda çalışacak kodlarımız. Dikkat: 
            //Örneğin Veritabanından veri çekiyoruz
            //Çektiğimiz verileri burda Arayüz bulunan Componentlere(Listbox,Combobox,Datagridview vs) aktarmıyoruz
            //Çünkü o Componentlere mainThread' te eriştiği için Çapraz iş parçacığı hatası alırız
            //Bu yüzden verileri Array,DataTable,Hash dizilerine,değiskenlere vs atarız 
            //Örnek:
            for (int i = 0; i < 10; i++)
                toplam +=i;
        }

        private void Thread_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            //Thread_DoWork fonksiyonu çalışıp bittiğinde ardından bu fonksiyon çalışır
            //Burda ise Arayüz Componentlerine veriyi aktardığımız fonksiyondur
            //Örnek
            label.Text = toplam + "";
        }
    }
}

 

YSA XOR tamamını indir

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            tx0.Text = "1";
            tx1.Text = "0";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            double a = 0, b = 0;
            bool k1 = double.TryParse(tx0.Text, out a);
            bool k2 = double.TryParse(tx1.Text, out b);
            if (k1 && k2)
            {
                Random rnd = new Random();
                double w1 = rnd.NextDouble(), w2 = rnd.NextDouble(), w3 = rnd.NextDouble(), w4 = rnd.NextDouble(),
                w5 = rnd.NextDouble();
                double wa = rnd.NextDouble(), wb = rnd.NextDouble();//0.0-1.0 arasında ondalıklı rastgele sayilar üretiliyor

                int[] x1 = { 0, 0, 1, 1 };
                int[] x2 = { 0, 1, 0, 1 };
                int[] d  =  { 0, 1, 1, 0 };
                double alfa = 0.03;
                double E = 1;
                int sayac = 0;
                double[] A = new double[4];
                double[] B = new double[4];
                double[] C = new double[4];
                double[] Y = new double[4];//Cıktılar
                double[] ee = new double[4];//Cıktıların hata degerleri
                while (E != 0)
                {
                    sayac += 1;
                    for (int i = 0; i < x1.Length; i++)
                    {

                        A[i] = w1 * x1[i] + w2 * x2[i] + a * wa;
                        if (A[i] > 0)
                            C[i] = 1;
                        else
                            C[i] = 0;

                        B[i] = w3 * x1[i] + w4 * x2[i] + C[i] * w5 + b * wb;

                        if (B[i] > 0)
                            Y[i] = 1;
                        else
                            Y[i] = 0;
                        ee[i] = d[i] - Y[i];
                        double delta_w1 = ee[i] * x1[i] * w5;
                        double delta_w2 = ee[i] * x2[i] * w5;
                        double delta_w3 = ee[i] * x1[i];
                        double delta_w4 = ee[i] * x2[i];
                        double delta_w5 = ee[i] * C[i];
                        double delta_wa = ee[i] * w5;
                        double delta_wb = ee[i];

                        w1 = w1 + alfa * delta_w1;
                        w2 = w2 + alfa * delta_w2;
                        w3 = w3 + alfa * delta_w3;
                        w4 = w4 + alfa * delta_w4;
                        w5 = w5 + alfa * delta_w5;
                        wa = wa + alfa * delta_wa;
                        wb = wb + alfa * delta_wb;


                    }
                    double net = a * wa + b * wb;//Fnet fonksiyoun
                    double z = 1 / (1 + (Math.Pow(2.718, -net)));//Sigmoid fonksiyonu
                    listBox1.Items.Add(z);
                    double sonuc = 0;
                    for (int j = 0; j < ee.Length; j++)
                        sonuc += Math.Pow(ee[j], 2);
                    E = sonuc;
                }
                for (int i = 0; i < listBox1.Items.Count; i++)//Sigmoid fonksiyonun grafiği çiziliyor
                {
                    this.chart1.Series["İterasyon"].Points.Add((double)listBox1.Items[i]);
                    this.chart1.Series["İterasyon"].Points[i].AxisLabel = i + 1 + "";
                }
                label1.Text = sayac + "";
                for (int i = 0; i < Y.Length; i++)//Oluşan son çıktının grafği çiziliyor
                {
                    this.chart2.Series["İterasyon"].Points.Add(Y[i]);
                    this.chart2.Series["İterasyon"].Points[i].AxisLabel = i + 1 + "";
                }
                for (int i = 0; i < Y.Length; i++)
                {
                    richTextBox1.Text += ("Beklenen deger=" + d[i] + " " + "Cıktı degeri=" + Y[i] + "\n");
                }

            }
        }
    }