Exemple #1
0
        private void btnRun_Click(object sender, EventArgs e)
        {
            AlgoritmaAgaci aa             = null;
            Baslat         baslat         = null;
            bool           isDegiskenIzle = false;

            try
            {
                degisken_listesi.clear();
            }
            catch (Exception) { }

            for (int i = 0; i < sekiller.Count; i++)
            {
                if (sekiller[i].GetType() == typeof(Degisken))
                {
                    degisken_listesi.SetDegisken(sekiller[i].YapilacakIslem);
                }
                if (sekiller[i].GetType() == typeof(Baslat))
                {
                    baslat = (Baslat)sekiller[i];
                }
                if (sekiller[i].GetType() == typeof(DegiskenIzle))
                {
                    isDegiskenIzle = true;
                    ((DegiskenIzle)sekiller[i]).IlkKontrol = true;
                }
                sekiller[i].BorderStyle = BorderStyle.None;
            }
            try
            {
                try
                {
                    if (isDegiskenIzle)
                    {
                        dp = new DegiskenPenceresi();
                        dp.Show();
                        dp.dgvDegiskenler.Rows.Clear();
                        dp.dgvDegiskenler.Columns.Clear();
                    }
                    console = new frmConsole();
                    console.rtBTemizle();
                    console.Show();
                }
                catch (Exception)
                {
                }
                new KodOlustur(baslat);
                aa = new AlgoritmaAgaci(baslat);
                int hiz = trackBarHiz.Value;
                thread = new Thread(() => aa.Calistir(hiz, isDegiskenIzle, dp, console));
                thread.Start();
            }
            catch (Exception ex)
            { MessageBox.Show("Programı başlatmak için Başlat eklenmedi.." + ex); }
        }
Exemple #2
0
 public override void islemYap(frmConsole p)
 {
     try
     {
         Thread.Sleep(Timeout.Infinite);
     }
     catch (Exception)
     {
     }
 }
 public override void islemYap(frmConsole p)
 {
     try
     {
        Thread.Sleep(Timeout.Infinite);
     }
     catch (Exception)
     {
     }
 }
 public override void islemYap(frmConsole p)
 {
     try
     {
         double sayi=0;
         sayi = p.Read(this.GosterilecekMetin);
         degiskenler.DegiskenDeger(this.DegiskenAdi, sayi);
     }
        catch (Exception)
     {
         p.ErrWrite("Metinsel ifade girildi");
     }
 }
Exemple #5
0
 public override void islemYap(frmConsole p)
 {
     try
     {
         double sayi = 0;
         sayi = p.Read(this.GosterilecekMetin);
         degiskenler.DegiskenDeger(this.DegiskenAdi, sayi);
     }
     catch (Exception)
     {
         p.ErrWrite("Metinsel ifade girildi");
     }
 }
Exemple #6
0
 public override void islemYap(frmConsole p)
 {
     try
     {
         String   islem_ifadesi = this.YapilacakIslem;
         String[] array         = islem_ifadesi.Split('=');
         Karar    islem_yap     = new Karar();
         Double   sonuc         = islem_yap.matematikIslemi(array[1]);
         String   degisken      = array[0];
         degisken = degisken.Trim();
         degiskenler.DegiskenDeger(degisken, sonuc);
     }
     catch (Exception) { }
 }
 public override void islemYap(frmConsole p)
 {
     try
     {
         String islem_ifadesi = this.YapilacakIslem;
         String[] array = islem_ifadesi.Split('=');
         Karar islem_yap = new Karar();
         Double sonuc = islem_yap.matematikIslemi(array[1]);
         String degisken = array[0];
         degisken = degisken.Trim();
         degiskenler.DegiskenDeger(degisken, sonuc);
     }
     catch (Exception) { }
 }
        public virtual void Initialize(object sender)
        {
            {
                if (IsInitialized)
                {
                    return;
                }

                ConsoleForm = new frmConsole(this);
                ConsoleForm.Show();
                ConsoleForm.Activate();

                InitializedBy = (sender as IIdeComponent)?.ParentIDE.Machine ?? sender;
                IsInitialized = true;

                ConsoleForm.Text = Title;
                ConsoleForm.Display.SelectionColor = System.Drawing.Color.White;
            }
        }
Exemple #9
0
 public override void islemYap(frmConsole p)
 {
     if (this.DegiskenAdi != "")
     {
         Double deger = 0.0;
         try
         {
             deger = degiskenler.Deger(this.DegiskenAdi);
         }
         catch (Exception)
         {
             p.ErrWrite("Değişken Tanımlanmamış");
         }
         p.WriteLine(this.GosterilecekMetin + " ," + deger);
     }
     else
     {
         p.WriteLine(this.GosterilecekMetin);
     }
 }
        public virtual void Reinitialize(object sender, bool saveData = true)
        {
            if (!(IsInitialized && ConsoleForm != null))
            {
                return;
            }

            if (saveData)
            {
                string       rtfText           = "";
                Hashtable    dataClients       = null;
                List <Color> dataClientsColors = null;
                if (ConsoleForm != null && !ConsoleForm.IsDisposed)
                {
                    rtfText           = ConsoleForm.GetDisplayRTFtext();
                    dataClients       = ConsoleForm.DataClients;
                    dataClientsColors = ConsoleForm.DataClientsColors;
                }

                frmConsole oldConsole = ConsoleForm;
                ConsoleForm = new frmConsole(this);
                ConsoleForm.Show();
                ConsoleForm.Activate();
                InitializedBy = sender is IInputPort ? (sender as IInputPort).ParentIDE.Machine
                        : sender is IOutputPort ? (sender as IOutputPort).ParentIDE.Machine
                        : sender;
                IsInitialized    = true;
                ConsoleForm.Text = Title;

                ConsoleForm.Display.Rtf       = rtfText;
                ConsoleForm.DataClients       = dataClients;
                ConsoleForm.DataClientsColors = dataClientsColors;
                oldConsole?.DisposeAsync();
                oldConsole = null;
            }
            else
            {
                Dispose();
                Initialize(sender);
            }
        }
Exemple #11
0
        public override void islemYap(frmConsole p)
        {
            if (this.DegiskenAdi != "")
            {
                Double deger = 0.0;
                try
                {
                    deger = degiskenler.Deger(this.DegiskenAdi);
                }
                catch (Exception)
                {
                    p.ErrWrite("Değişken Tanımlanmamış");
                }
                p.WriteLine(this.GosterilecekMetin + " ," + deger);

            }
            else
            {
                p.WriteLine(this.GosterilecekMetin);
            }
        }
Exemple #12
0
        private void btnRun_Click(object sender, EventArgs e)
        {
            AlgoritmaAgaci aa = null;
             Baslat baslat = null;
             bool isDegiskenIzle = false;
             try
             {
                 degisken_listesi.clear();
             }
             catch (Exception) { }

             for (int i = 0; i < sekiller.Count; i++)
             {
                 if (sekiller[i].GetType() == typeof(Degisken))
                 {
                     degisken_listesi.SetDegisken(sekiller[i].YapilacakIslem);
                 }
                 if (sekiller[i].GetType() == typeof(Baslat))
                 {
                     baslat = (Baslat)sekiller[i];
                 }
                 if (sekiller[i].GetType() ==typeof(DegiskenIzle))
                 {
                     isDegiskenIzle = true;
                     ((DegiskenIzle)sekiller[i]).IlkKontrol = true;
                 }
                 sekiller[i].BorderStyle = BorderStyle.None;
             }
             try
             {
                 try
                 {
                     if (isDegiskenIzle)
                     {
                         dp = new DegiskenPenceresi();
                         dp.Show();
                         dp.dgvDegiskenler.Rows.Clear();
                         dp.dgvDegiskenler.Columns.Clear();
                     }
                        console = new frmConsole();
                        console.rtBTemizle();
                        console.Show();
                 }
                 catch (Exception)
                 {
                 }
                 new KodOlustur(baslat);
                 aa = new AlgoritmaAgaci(baslat);
                 int hiz = trackBarHiz.Value;
                 thread = new Thread(() => aa.Calistir(hiz, isDegiskenIzle,dp,console));
                 thread.Start();
             }
             catch (Exception ex)
             { MessageBox.Show("Programı başlatmak için Başlat eklenmedi.."+ex); }
        }
Exemple #13
0
 public virtual void islemYap(frmConsole p)
 {
 }
        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.");
        }
Exemple #15
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.");
        }
 public virtual void islemYap(frmConsole p)
 {
 }