private List <SchetsElement> stringNaarLijst(string l_string) { List <SchetsElement> l_list = new List <SchetsElement>(); int j = 0; int index0 = 0; int index1 = 0; int index2 = 0; int index3 = 0; int index4 = 0; int index5 = 0; int index6 = 0; int index7 = 0; for (int i = 0; i < l_string.Length; i++) { if (l_string[i] == '{' && j == 0) { index1 = i; j++; } else if (l_string[i] == ',' && j == 1) { index2 = i; j++; } else if (l_string[i] == '}' && j == 2) { index3 = i; j++; } else if (l_string[i] == ',' && j == 3) { index4 = i; j++; } else if (l_string[i] == '}' && j == 4) { index5 = i; j++; } else if (l_string[i] == ' ' && j == 5) { index6 = i; j++; } else if (l_string[i] == '\n' && j == 6) { index7 = i; string soort = l_string.Substring(index0, (index1 - index0)); ISchetsTool e_soort = new PenTool(); if (soort == "pen") { e_soort = new PenTool(); } else if (soort == "lijn") { e_soort = new LijnTool(); } else if (soort == "kader") { e_soort = new RechthoekTool(); } else if (soort == "vlak") { e_soort = new VolRechthoekTool(); } else if (soort == "ellips") { e_soort = new EllipsTool(); } else if (soort == "ovlak") { e_soort = new VolEllipsTool(); } else if (soort == "tekst") { e_soort = new TekstTool(); } string x1 = l_string.Substring(index1 + 3, (index2 - (index1 + 3))); string y1 = l_string.Substring(index2 + 3, (index3 - (index2 + 3))); Point e_beginpunt = new Point(int.Parse(x1), int.Parse(y1)); string x2 = l_string.Substring(index3 + 4, (index4 - (index3 + 4))); string y2 = l_string.Substring(index4 + 3, (index5 - (index4 + 3))); Point e_eindpunt = new Point(int.Parse(x2), int.Parse(y2)); string kleur = l_string.Substring(index5 + 1, (index6 - (index5 + 1))); Color e_kleur = Color.FromName(kleur); string e_tekst = l_string.Substring(index6 + 1, (index7 - (index6 + 1))); if (e_tekst == "") { e_tekst = null; } l_list.Add(new SchetsElement(e_soort, e_beginpunt, e_eindpunt, e_kleur, e_tekst)); j = 0; index0 = index7 + 1; } } return(l_list); }
public void OpenTxt(string File) { string regel; StreamReader sr = new StreamReader(File); schetscontrol.TekenElementen = null; schetscontrol.TekenElementen = new ArrayList(); while ((regel = sr.ReadLine()) != null) { string [] r = regel.Split(' '); ISchetsTool tool; if (r[0] == "vlak") { tool = new VolRechthoekTool(); } else if (r[0] == "kader") { tool = new RechthoekTool(); } else if (r[0] == "rondje") { tool = new VolCirkelTool(); } else if (r[0] == "cirkel") { tool = new CirkelTool(); } else if (r[0] == "lijn") { tool = new LijnTool(); } else if (r[0] == "pen") { tool = new PenTool(); } else if (r[0] == "tekst") { tool = new TekstTool(); } else { tool = null; } Point beginpunt = new Point(int.Parse(r[1]), int.Parse(r[2])); Point eindpunt = new Point(int.Parse(r[3]), int.Parse(r[4])); Brush brush = new SolidBrush(Color.FromArgb(int.Parse(r[5]), int.Parse(r[6]), int.Parse(r[7]), int.Parse(r[8]))); char c; if (r[9].Length == 1) { c = char.Parse(r[9]); } else { c = (char)0; } int rotatie = int.Parse(r[10]); schetscontrol.TekenElementen.Add(new TekenElement(tool, beginpunt, eindpunt, brush, c, rotatie)); schetscontrol.TekenBitmapOpnieuw(); } sr.Close(); schets.Saved = true; }