Пример #1
0
 void Mouse_Down(object sender, MouseEventArgs e)
 {
     secili_kontrol        = (myPanel)sender as myPanel;
     suruklenme_durumu     = true;
     secili_kontrol.Cursor = Cursors.SizeAll;
     position = e.Location;
 }
Пример #2
0
        public string NesneBilgileri(myPanel nesne)
        {
            JsonNesnem jsondata = new JsonNesnem();

            jsondata.NesneTipi         = nesne.GetType().ToString();
            jsondata.Name              = nesne.Name;
            jsondata.GosterilecekMetin = nesne.GosterilecekMetin;
            jsondata.YapilacakIslem    = nesne.YapilacakIslem;
            try
            {
                jsondata.Next1 = nesne.Next1.Name;
            }
            catch (Exception)
            {
                jsondata.Next1 = "";
            }

            if (nesne.GetType() == typeof(for_) || nesne.GetType() == typeof(Eger))
            {
                try
                {
                    jsondata.Next2 = nesne.Next2.Name;
                }
                catch (Exception)
                {
                    jsondata.Next2 = "";
                }
            }
            else
            {
                jsondata.Next2 = "";
            }

            jsondata.Width  = nesne.Width;
            jsondata.Height = nesne.Height;
            jsondata.Top    = nesne.Top;
            jsondata.Left   = nesne.Left;
            if (nesne.GetType() == typeof(Giris))
            {
                jsondata.DegiskenAdi = ((Giris)nesne).DegiskenAdi;
            }
            else if (nesne.GetType() == typeof(Cikis))
            {
                jsondata.DegiskenAdi = ((Cikis)nesne).DegiskenAdi;
            }
            else
            {
                jsondata.DegiskenAdi = "null";
            }
            string strjson = JsonConvert.SerializeObject(jsondata) + ",";

            return(strjson);
        }
Пример #3
0
        public myPanel nesneOlustur(string nesneTipi, String name)
        {
            myPanel yeniNesne = null;

            if (nesneTipi == typeof(Baslat).ToString())
            {
                yeniNesne = new Baslat(name);
            }
            else if (nesneTipi == typeof(Degisken).ToString())
            {
                yeniNesne = new Degisken(name);
            }
            else if (nesneTipi == typeof(Islem).ToString())
            {
                yeniNesne = new Islem(name);
            }
            else if (nesneTipi == typeof(Giris).ToString())
            {
                yeniNesne = new Giris(name);
            }
            else if (nesneTipi == typeof(for_).ToString())
            {
                yeniNesne = new for_(name);
            }
            else if (nesneTipi == typeof(Eger).ToString())
            {
                yeniNesne = new Eger(name);
            }
            else if (nesneTipi == typeof(Cikis).ToString())
            {
                yeniNesne = new Cikis(name);
            }
            else if (nesneTipi == typeof(Bekle).ToString())
            {
                yeniNesne = new Bekle(name);
            }
            else if (nesneTipi == typeof(Dugum).ToString())
            {
                yeniNesne = new Dugum(name);
            }
            else if (nesneTipi == typeof(Dur).ToString())
            {
                yeniNesne = new Dur(name);
            }
            else if (nesneTipi == typeof(DegiskenIzle).ToString())
            {
                yeniNesne = new DegiskenIzle(name);
            }
            return(yeniNesne);
        }
Пример #4
0
 public void NesneBagla(myPanel nesne)
 {
     if (Next1 == null)
     {
         Next1 = nesne;
     }
     else if (this.GetType() == typeof(Eger) || this.GetType() == typeof(for_))
     {
         Next2 = nesne;
     }
     else
     {
         MessageBox.Show("Bu nesne den tek bir çizgi bağlanır");
     }
 }
Пример #5
0
        public void NesneleriYukle(String txt)
        {
            var liste = JsonConvert.DeserializeObject <JsonNesnem[]>(txt);

            for (int i = 0; i < liste.Length; i++)
            {
                myPanel panel = nesneOlustur(liste[i].NesneTipi, liste[i].Name);
                panel.GosterilecekMetin = liste[i].GosterilecekMetin;
                panel.YapilacakIslem    = liste[i].YapilacakIslem;
                // next1 ve next2 tüm nesneler olutuktan sonra bağlanacak
                panel.Width  = liste[i].Width;
                panel.Height = liste[i].Height;
                panel.Top    = liste[i].Top;
                panel.Left   = liste[i].Left;
                if (panel.GetType() == typeof(Giris))
                {
                    ((Giris)panel).DegiskenAdi = liste[i].DegiskenAdi;
                }
                else if (panel.GetType() == typeof(Cikis))
                {
                    ((Cikis)panel).DegiskenAdi = liste[i].DegiskenAdi;
                }
                panel.Click     += new EventHandler(btn_Click);
                panel.MouseDown += new MouseEventHandler(Mouse_Down);
                panel.MouseMove += new MouseEventHandler(Mouse_Move);
                panel.MouseUp   += new MouseEventHandler(Mouse_Up);
                main_panel.Controls.Add(panel);
                sekiller.Add(panel);
                nesne_count++;
            }

            for (int i = 0; i < sekiller.Count; i++)
            {
                for (int j = 0; j < liste.Length; j++)
                {
                    if (sekiller[i].Name == liste[j].Next1)
                    {
                        getNesne(liste[j].Name).Next1 = sekiller[i];
                    }
                    if (sekiller[i].Name == liste[j].Next2)
                    {
                        getNesne(liste[j].Name).Next2 = sekiller[i];
                    }
                }
            }
            main_panel.Refresh();
            degisken_listesi = new DegiskenListesi();
        }
Пример #6
0
        void btn_Click(object sender, EventArgs e)
        {
            try
            {
                onceki_secilen = getNesne(secilen_nesne_adi);
            }
            catch (Exception)
            {}
            if (cbOtoBagla.Checked && onceki_secilen != null && onceki_secilen != secili_kontrol)
            {
                onceki_secilen.NesneBagla(secili_kontrol);
                Refresh();
            }
            else if (cbOtoBagla.Checked && onceki_secilen == secili_kontrol)
            {
                MessageBox.Show("Nesneler kendilerine bağlanamaz");
            }
            properti_temizleme();
            btnBaglantiSil.Enabled         = true;
            btnBagla.Enabled               = true;
            secili_kontrol                 = (myPanel)sender as myPanel;
            secilen_nesne_adi              = secili_kontrol.Name;
            secili_kontrol.BorderStyle     = BorderStyle.FixedSingle;
            txtGoruntulenecekMetin.Enabled = secili_kontrol.MetinGoruntulensinMi;
            txtGoruntulenecekMetin.Text    = secili_kontrol.GosterilecekMetin;

            cbGoruntulenecekDegisken.Enabled = secili_kontrol.CbDegiskenGosterilecekMi;
            //değişken listesi eklenecek
            txtYapilacakIslem.Enabled = secili_kontrol.YapilacakIslemGosterilecekMi;
            txtYapilacakIslem.Text    = secili_kontrol.YapilacakIslem;

            Degisken_Kontrol();
            try
            {
                secili_kontrol.GosterilecekDegiskenListesi(cbGoruntulenecekDegisken, degisken_listesi);
            }
            catch (Exception)
            {  }
            txtWidth.Enabled  = secili_kontrol.WHGosterilecekMi;
            txtHeight.Enabled = secili_kontrol.WHGosterilecekMi;
            txtWidth.Text     = Convert.ToString(secili_kontrol.Width);
            txtHeight.Text    = Convert.ToString(secili_kontrol.Height);
        }
Пример #7
0
        public void properti_temizleme()
        {
            btnBaglantiSil.Enabled           = false;
            btnBagla.Enabled                 = false;
            secili_kontrol                   = null;
            txtGoruntulenecekMetin.Enabled   = false;
            cbGoruntulenecekDegisken.Enabled = false;
            txtYapilacakIslem.Enabled        = false;
            for (int i = 0; i < sekiller.Count; i++)
            {
                sekiller[i].BorderStyle = BorderStyle.None;
            }
            txtGoruntulenecekMetin.Text = "";
            cbGoruntulenecekDegisken.Items.Clear();
            txtYapilacakIslem.Text = "";

            txtHeight.Enabled = false;
            txtWidth.Enabled  = false;
            txtHeight.Text    = "";
            txtWidth.Text     = "";
        }
Пример #8
0
        public void panel_olustur(myPanel pnl)
        {
            pnl.Click     += new EventHandler(btn_Click);
            pnl.MouseDown += new MouseEventHandler(Mouse_Down);
            pnl.MouseMove += new MouseEventHandler(Mouse_Move);
            pnl.MouseUp   += new MouseEventHandler(Mouse_Up);

            if (nesne_count <= 5)
            {
                pnl.Left = nesne_start_position.X;
                pnl.Top  = nesne_start_position.Y + nesne_count * 60;
            }
            else
            {
                pnl.Left = nesne_start_position.X + 400;
                pnl.Top  = nesne_start_position.Y;
            }
            main_panel.Controls.Add(pnl);
            nesne_count++;
            sekiller.Add(pnl); // nesne listesi
            //  main_panel.Controls.Add(pnl);
        }
Пример #9
0
        public string NesneBilgileri(myPanel nesne)
        {
            JsonNesnem jsondata = new JsonNesnem();
             jsondata.NesneTipi = nesne.GetType().ToString() ;
             jsondata.Name = nesne.Name;
             jsondata.GosterilecekMetin = nesne.GosterilecekMetin;
             jsondata.YapilacakIslem = nesne.YapilacakIslem;
             try
             {
                 jsondata.Next1 = nesne.Next1.Name;
             }
             catch (Exception)
             {
                 jsondata.Next1 = "";
             }

             if (nesne.GetType() == typeof(for_) || nesne.GetType() == typeof(Eger))
             {
                 try
                 {
                     jsondata.Next2 = nesne.Next2.Name;
                 }
                 catch (Exception)
                 {
                     jsondata.Next2 = "";
                 }
             }
             else
             {
                 jsondata.Next2 = "";
             }

             jsondata.Width = nesne.Width;
             jsondata.Height = nesne.Height;
             jsondata.Top = nesne.Top;
             jsondata.Left = nesne.Left;
             if (nesne.GetType() == typeof(Giris))
             {
                 jsondata.DegiskenAdi = ((Giris)nesne).DegiskenAdi;
             }
             else if (nesne.GetType() == typeof(Cikis))
             {
                 jsondata.DegiskenAdi = ((Cikis)nesne).DegiskenAdi;
             }
             else
             {
                 jsondata.DegiskenAdi = "null";
             }
             string strjson = JsonConvert.SerializeObject(jsondata)+",";
             return strjson;
        }
Пример #10
0
 public void CizgileriSil()
 {
     this.next1 = null;
     this.next2 = null;
 }
Пример #11
0
 public AlgoritmaAgaci(Baslat baslat)
 {
     this.baslat = baslat;
 }
Пример #12
0
        public void Calistir(int hiz, bool isDegiskenIzle, DegiskenPenceresi dp, frmConsole p)
        {
            myPanel         aktif       = baslat;
            DegiskenListesi degiskenler = new DegiskenListesi();
            Hashtable       ht          = new Hashtable();

            foreach (String key in degiskenler.getHT().Keys)
            {
                ht[key] = degiskenler.Deger(key);
            }
            //degisken izle
            int degisken_satir = 0;

            Action actionBorderNone  = () => aktif.BorderStyle = BorderStyle.None;
            Action actionBorderFixed = () => aktif.BorderStyle = BorderStyle.FixedSingle;

            while (aktif != null && aktif.GetType() != typeof(Dur) && (aktif.Next1 != null || aktif.Next2 != null))
            {
                aktif.Invoke(actionBorderFixed);
                Thread.Sleep(hiz);
                aktif.Invoke(actionBorderNone);
                if (aktif.GetType() == typeof(for_))
                {
                    for_     f             = (for_)aktif;
                    Karar    karar         = new Karar();
                    String[] parca         = f.YapilacakIslem.Split(',');
                    string[] donguDegisken = parca[0].Split('=');
                    if (!f.IlkKontrol)
                    { //i artırma işlemi
                        try
                        {
                            double sonuc = karar.matematikIslemi(donguDegisken[0] + "+" + parca[2]);
                            degiskenler.DegiskenDeger(donguDegisken[0], sonuc);
                        }
                        catch (Exception)
                        {
                            p.ErrWrite("işlem hatası oluştu");
                        }
                    }
                    else
                    {
                        f.IlkKontrol = false;
                        if (parca[0].IndexOf('=') != -1)
                        {
                            degiskenler.DegiskenDeger(donguDegisken[0], Convert.ToDouble(donguDegisken[1]));
                        }
                    }
                    if (karar.mantiksalKarar(parca[1]))
                    {
                        aktif = aktif.Next1;
                    }
                    else
                    {
                        aktif        = aktif.Next2;
                        f.IlkKontrol = true;
                    }
                    continue;
                }
                else if (aktif.GetType() == typeof(Eger))
                {
                    Eger  eger  = (Eger)aktif;
                    Karar karar = new Karar();
                    if (karar.mantiksalKarar(eger.YapilacakIslem))
                    {
                        aktif = aktif.Next1;
                    }
                    else
                    {
                        aktif = aktif.Next2;
                    }
                    continue;
                }
                else if (aktif.GetType() == typeof(DegiskenIzle))
                {
                    DegiskenIzle di       = (DegiskenIzle)aktif;
                    String       degisken = di.YapilacakIslem;
                    string[]     degisken_deger;
                    if (degisken.LastIndexOf(',') == 0)
                    {
                        degisken = degisken.Substring(0, degisken.Length - 1);
                    }
                    degisken_deger = degisken.Split(',');
                    Action satirEkle = () => { dp.PencereSatirEkle(); };
                    if (di.IlkKontrol)
                    {
                        for (int i = 0; i < degisken_deger.Length; i++)
                        {
                            Action ekle = () => { dp.ColumsAdd(degisken_deger[i]); };
                            dp.Invoke(ekle);
                        }
                        di.IlkKontrol = false;
                    }

                    dp.Invoke(satirEkle);
                    for (int i = 0; i < degisken_deger.Length; i++)
                    {
                        try
                        {
                            Action degerEkle = () => dp.PencereDegerEkle(degisken_satir, i, degiskenler.Deger(degisken_deger[i]).ToString());
                            dp.Invoke(degerEkle);
                        }
                        catch (Exception) { }
                    }
                    degisken_satir++;
                }
                else
                {
                    aktif.Invoke(actionBorderFixed);
                }

                aktif.islemYap(p);
                aktif.Invoke(actionBorderNone);
                aktif = aktif.Next1;
            }
            p.WriteLine("Program Bitti.");
        }
Пример #13
0
        void btn_Click(object sender, EventArgs e)
        {
            try
            {
                onceki_secilen =getNesne( secilen_nesne_adi);
            }
            catch (Exception)
            {}
            if (cbOtoBagla.Checked && onceki_secilen !=null && onceki_secilen != secili_kontrol )
            {
                onceki_secilen.NesneBagla(secili_kontrol);
                Refresh();
            }
            else if (cbOtoBagla.Checked && onceki_secilen == secili_kontrol)
            {
                MessageBox.Show("Nesneler kendilerine bağlanamaz");
            }
            properti_temizleme();
            btnBaglantiSil.Enabled = true;
            btnBagla.Enabled = true;
            secili_kontrol = (myPanel)sender as myPanel;
            secilen_nesne_adi = secili_kontrol.Name;
            secili_kontrol.BorderStyle = BorderStyle.FixedSingle;
            txtGoruntulenecekMetin.Enabled = secili_kontrol.MetinGoruntulensinMi;
            txtGoruntulenecekMetin.Text = secili_kontrol.GosterilecekMetin;

            cbGoruntulenecekDegisken.Enabled = secili_kontrol.CbDegiskenGosterilecekMi;
            //değişken listesi eklenecek
            txtYapilacakIslem.Enabled = secili_kontrol.YapilacakIslemGosterilecekMi;
            txtYapilacakIslem.Text = secili_kontrol.YapilacakIslem;

            Degisken_Kontrol();
            try
            {
                 secili_kontrol.GosterilecekDegiskenListesi(cbGoruntulenecekDegisken, degisken_listesi);
            }
            catch (Exception)
            {  }
            txtWidth.Enabled = secili_kontrol.WHGosterilecekMi;
            txtHeight.Enabled = secili_kontrol.WHGosterilecekMi;
            txtWidth.Text = Convert.ToString(secili_kontrol.Width);
            txtHeight.Text = Convert.ToString(secili_kontrol.Height);
        }
Пример #14
0
 public void NesneBagla(myPanel nesne)
 {
     if (Next1 == null)
        {
        Next1 = nesne;
        }
        else if (this.GetType() ==typeof(Eger) || this.GetType() == typeof(for_))
        {
        Next2 = nesne;
        }
        else
        {
        MessageBox.Show("Bu nesne den tek bir çizgi bağlanır");
        }
 }
Пример #15
0
        public void panel_olustur(myPanel pnl)
        {
            pnl.Click += new EventHandler(btn_Click);
             pnl.MouseDown += new MouseEventHandler(Mouse_Down);
             pnl.MouseMove += new MouseEventHandler(Mouse_Move);
             pnl.MouseUp += new MouseEventHandler(Mouse_Up);

             if (nesne_count <= 5)
             {
                 pnl.Left = nesne_start_position.X;
                 pnl.Top = nesne_start_position.Y + nesne_count * 60;
             }
             else
             {
                 pnl.Left = nesne_start_position.X + 400;
                 pnl.Top = nesne_start_position.Y;
             }
             main_panel.Controls.Add(pnl);
             nesne_count++;
             sekiller.Add(pnl);// nesne listesi
               //  main_panel.Controls.Add(pnl);
        }
Пример #16
0
        public void properti_temizleme()
        {
            btnBaglantiSil.Enabled = false;
             btnBagla.Enabled = false;
             secili_kontrol = null;
             txtGoruntulenecekMetin.Enabled = false;
             cbGoruntulenecekDegisken.Enabled = false;
             txtYapilacakIslem.Enabled = false;
             for (int i = 0; i < sekiller.Count; i++)
             {
                 sekiller[i].BorderStyle = BorderStyle.None;
             }
             txtGoruntulenecekMetin.Text = "";
             cbGoruntulenecekDegisken.Items.Clear();
             txtYapilacakIslem.Text = "";

             txtHeight.Enabled = false;
             txtWidth.Enabled = false;
             txtHeight.Text = "";
             txtWidth.Text = "";
        }
Пример #17
0
 public void CizgileriSil()
 {
     this.next1 = null;
        this.next2 = null;
 }
Пример #18
0
 void Mouse_Down(object sender, MouseEventArgs e)
 {
     secili_kontrol = (myPanel)sender as myPanel;
     suruklenme_durumu = true;
     secili_kontrol.Cursor = Cursors.SizeAll;
     position = e.Location;
 }
Пример #19
0
 public AlgoritmaAgaci(Baslat baslat)
 {
     this.baslat = baslat;
 }