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); }
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(); }
void Mouse_Up(object sender, MouseEventArgs e) { if (secili_kontrol == null) { return; } suruklenme_durumu = false; secili_kontrol.Cursor = Cursors.Default; Rectangle r1 = new Rectangle(secili_kontrol.Left, secili_kontrol.Top, secili_kontrol.Width, secili_kontrol.Height); Rectangle r2 = new Rectangle(cop_panel.Left, cop_panel.Top, cop_panel.Width, cop_panel.Height); if (r1.IntersectsWith(r2)) { try { for (int i = 0; i < sekiller.Count; i++) { if (sekiller[i].Name == secili_kontrol.Name) { if (secili_kontrol.GetType() == typeof(Degisken)) { degisken_listesi.DegiskenSil(Degiskenler, secili_kontrol.YapilacakIslem); } sekiller.Remove(sekiller[i]); break; } } main_panel.Controls.Remove(secili_kontrol); mp3_play("\\delete.wav"); properti_temizleme(); } catch (Exception) {} } Cop_pictureBox.Image = Algoritma.Properties.Resources.canclosed; main_panel.Refresh(); }
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; }
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."); }