Пример #1
0
        string degiskenleriKoy(String s)
        {
            DegiskenListesi dl            = new DegiskenListesi();
            String          islem_ifadesi = s;

            String[] d_name = dl.degiskenArray();
            for (int i = 0; i < d_name.Length; i++)
            {
                for (int j = 0; j < d_name.Length; j++)
                {
                    if (d_name[i].Length > d_name[j].Length)
                    {
                        String tmp = d_name[i];
                        d_name[i] = d_name[j];
                        d_name[j] = tmp;
                    }
                }
            }

            for (int i = 0; i < d_name.Length; i++)
            {
                islem_ifadesi = islem_ifadesi.Replace(d_name[i], Convert.ToString(dl.Deger(d_name[i])));
            }
            return(islem_ifadesi);
        }
Пример #2
0
        private void btnDegisken_Click(object sender, EventArgs e)
        {
            Degisken pnl = new Degisken("pnl" + Convert.ToString(nesne_count));

            degisken_listesi = new DegiskenListesi(pnl.YapilacakIslem);
            degisken_listesi.DegiskenYazdir(Degiskenler);
            panel_olustur(pnl);
        }
Пример #3
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();
        }
Пример #4
0
        string degiskenleriKoy(String s)
        {
            DegiskenListesi dl = new DegiskenListesi();
            String islem_ifadesi = s;
            String[] d_name = dl.degiskenArray();
            for (int i = 0; i < d_name.Length; i++)
            {
                for (int j = 0; j < d_name.Length; j++)
                {
                    if (d_name[i].Length > d_name[j].Length)
                    {
                        String tmp = d_name[i];
                        d_name[i] = d_name[j];
                        d_name[j] = tmp;
                    }
                }
            }

            for (int i = 0; i < d_name.Length; i++)
            {
                islem_ifadesi = islem_ifadesi.Replace(d_name[i], Convert.ToString(dl.Deger(d_name[i])));
            }
            return islem_ifadesi;
        }
Пример #5
0
 private void btnDegisken_Click(object sender, EventArgs e)
 {
     Degisken pnl = new Degisken("pnl" + Convert.ToString(nesne_count));
      degisken_listesi = new DegiskenListesi(pnl.YapilacakIslem);
      degisken_listesi.DegiskenYazdir(Degiskenler);
      panel_olustur(pnl);
 }
Пример #6
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();
        }
Пример #7
0
 public void GosterilecekDegiskenListesi(ComboBox cb, DegiskenListesi dl)
 {
     dl.degiskenleriListele(cb);
 }
        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.");
        }
Пример #9
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.");
        }
Пример #10
0
 public void GosterilecekDegiskenListesi(ComboBox cb, DegiskenListesi dl)
 {
     dl.degiskenleriListele(cb);
 }