public BlokWeWy(Konsola usr) { InitializeComponent(); if (usr == null) { MessageBox.Show("BlokWeWy: konstruktor: konsola nie istnieje"); return; } graph = CreateGraphics(); frmConsole = usr; }
public void Wykonaj(Konsola usr) { if (usr == null) { MessageBox.Show("BlokWeWy: Wykonaj: konsola nie istnieje"); return; } if (dzialania == null) { MessageBox.Show("BlokWeWy: Wykonaj: lista dzialan nie istnieje"); return; } frmConsole = usr; int temp = -1; for (int i = 0; i < dzialania.Count; i++) { if (dzialania[i].srodekZmienna == true) { temp = ZnajdzZmienna(dzialania[i].srodek); } if (dzialania[i].dzialanie1 == "Wypisz") { String tmpString; if (dzialania[i].srodek != null) { tmpString = dzialania[i].srodek.ToString(); //najpierw podmien wszystkie zmienne foreach (Zmienna zm in this.listaZmiennych) { if (zm.tablica == false) { tmpString = tmpString.Replace(znacznikZmiennej + zm.nazwa + znacznikZmiennej, zm.wartosc.ToString()); } } //nastepnie podmien wszystkie elementy tablic foreach (Zmienna zm in this.listaZmiennych) { if (zm.tablica == true) { if (tmpString.Contains(zm.nazwa + '[') == true) { //znajdz indexy do odczytania elementu tablicy int tmpInd1 = tmpString.IndexOf(znacznikZmiennej + zm.nazwa + '[') + 2; int tmpInd2 = 0; int tmpNumerElementu = 0; for (int j = tmpInd1; j < tmpString.Length; j++) { //if (tmpString[j] == '[') // tmpInd1 = j; if (tmpString[j] == ']') { tmpInd2 = j; break; } } //odczytaj ktory element tablicy wypisac if (tmpInd2 - tmpInd1 > 0) { tmpNumerElementu = NumerElementuWTablicy(tmpString.Substring(tmpInd1, tmpInd2 - tmpInd1 + 1)); } // tmpString = tmpString.Replace(znacznikZmiennej + zm.nazwa + "[" + (tmpNumerElementu + 1).ToString() + "]" + znacznikZmiennej, zm.wartosci[tmpNumerElementu].ToString()); } } } frmConsole.richTextBox1.Text += tmpString + '\n'; } } else { int tmpNumerEl = 0; Zmienna tmpZmienna = null; if (dzialania[i].srodekZmienna == true) { temp = ZnajdzZmienna(dzialania[i].srodek.ToString()); if (temp < 0) { MessageBox.Show("BlokWeWy: Wykonaj|Czytaj: zmienna " + dzialania[i].srodek + " nie znaleziona"); return; } if (temp > listaZmiennych.Count - 1) { MessageBox.Show("BlokWeWy: Wykonaj|Czytaj: zmienna znaleziona poza zakresem listy"); return; } tmpZmienna = listaZmiennych[temp]; if (tmpZmienna.tablica == true) { tmpNumerEl = NumerElementuWTablicy(dzialania[i].srodek); if (tmpNumerEl < 0) { MessageBox.Show("BlokWeWy: Wykonaj|Czytaj: tmpNumerEl ujemny: " + tmpNumerEl.ToString()); return; } } tmpZmienna = null; } if (temp < 0) { MessageBox.Show("BlokWeWy: Wykonaj|Czytaj: zmienna " + dzialania[i].srodek + " nie znaleziona |2|"); return; } Czytaj tmpOkno = new Czytaj(listaZmiennych, temp, tmpNumerEl); tmpOkno.label1.Text = "Podaj " + dzialania[i].srodek + ":"; if (listaZmiennych[temp].typ == typeof(int)) { tmpOkno.maskedTextBox1.Mask = "000000000000000"; } else { if (listaZmiennych[temp].typ == typeof(double)) { tmpOkno.maskedTextBox1.Mask = "000000000.0000"; } else { tmpOkno.maskedTextBox1.Mask = ""; } } tmpOkno.ShowDialog(); //listaZmiennych[i].wartosc = tmpString.ToString(); } } }