Example #1
0
        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;
        }