public void Open(string filenaam) { StreamReader r = new StreamReader(filenaam); string stream; while ((stream = r.ReadLine()) != null) { string[] streamItems = stream.Split('|'); switch (streamItems[0]) { case "tekst": break; case "lijn": this.acties.Add(LijnObject.ParseString(streamItems)); break; case "pen": this.acties.Add(PenObject.ParseString(streamItems)); break; case "rechthoek": this.acties.Add(RechthoekObject.ParseString(streamItems, false)); break; case "volrechthoek": this.acties.Add(RechthoekObject.ParseString(streamItems, true)); break; case "cirkel": this.acties.Add(CirkelObject.ParseString(streamItems, false)); break; case "volcirkel": this.acties.Add(CirkelObject.ParseString(streamItems, true)); break; } Console.WriteLine(); } this.Teken(); r.Close(); }
public static PenObject ParseString(string[] lijn) { List <LijnObject> penLijnen = new List <LijnObject>(); int r = Convert.ToInt32(lijn[1].Substring(2, 2), 16); int g = Convert.ToInt32(lijn[1].Substring(4, 2), 16); int b = Convert.ToInt32(lijn[1].Substring(6, 2), 16); string[] penLijnenRegels = lijn[3].Split(';'); foreach (string penLijnRegel in penLijnenRegels) { string[] penLijnRegelArray = penLijnRegel.Split(':'); if (penLijnRegelArray[0] == "lijn") { penLijnen.Add(LijnObject.ParseString(penLijnRegelArray)); } } return(new PenObject( new Pen(new SolidBrush(Color.FromArgb(r, g, b)), int.Parse(lijn[2])), penLijnen, new Point(0, 0), new Point(0, 0) )); }