Exemple #1
0
        internal string addHistory()
        {
            PrintRecord pr = new PrintRecord(DateTime.Now, firstNum, lastNum, fields["[version]"]);

            history.Add(pr);
            return("PRINTED:" + pr.ToString());
        }
Exemple #2
0
        internal string[] readSettings(string text)
        {
            errors.Clear();
            labelItems.Clear();
            fields.Clear();
            history.Clear();
            fields.Add("[QRlink]", "?");
            fields.Add("[version]", "?");
            int line  = 0;
            int first = 1;

            validSerialMin   = 0;
            validSerialMax   = int.MaxValue;
            lastPrintedSerno = -1;
            repeatAcross     = 1;
            repeatDown       = 1;
            Pen pen = new Pen(Color.Black, 0.3f);

            Font font = new Font("Verdana", 6);

            StringReader sr = new StringReader(text);

            while (true)
            {
                line++;
                string ln = sr.ReadLine();
                if (ln == null)
                {
                    break;
                }
                try
                {
                    if ((ln.IndexOf('[') == 0) && (ln.IndexOf("]=") > 0))
                    {
                        string name  = ln.Substring(0, ln.IndexOf("]=") + 1);
                        string value = ln.Substring(ln.IndexOf("]=") + 2);
                        if (fields.ContainsKey(name))
                        {
                            fields[name] = value;
                        }
                        else
                        {
                            fields.Add(name, value);
                        }

                        if (name == "[version]")
                        {
                            lastPrintedVersion = value;
                        }
                    }
                    else if (ln.StartsWith("topleft:"))
                    {
                        string[] s = ln.Substring(8).Split(',');
                        origin = new PointF(float.Parse(s[0]), float.Parse(s[1]));
                    }
                    else if (ln.StartsWith("pitch:"))
                    {
                        string[] s = ln.Substring(6).Split(',');
                        pitch = new SizeF(float.Parse(s[0]), float.Parse(s[1]));
                    }
                    else if (ln.StartsWith("across:"))
                    {
                        repeatAcross = int.Parse(ln.Substring(7));
                    }
                    else if (ln.StartsWith("down:"))
                    {
                        repeatDown = int.Parse(ln.Substring(5));
                    }
                    else if (ln.StartsWith("valid_serial_min:"))
                    {
                        validSerialMin = int.Parse(ln.Substring(17));
                    }
                    else if (ln.StartsWith("valid_serial_max:"))
                    {
                        validSerialMax = int.Parse(ln.Substring(17));
                    }
                    else if (ln.StartsWith("clear:"))
                    {
                        labelItems.Clear();
                        pen  = new Pen(Color.Black, 0.3f);
                        font = new Font("Verdana", 6);
                    }
                    else if (ln.StartsWith("font:"))
                    {
                        string[] s = ln.Substring(5).Split(',');
                        font = new Font(s[0], float.Parse(s[1]));
                    }
                    else if (ln.StartsWith("pen:"))
                    {
                        string[] s = ln.Substring(4).Split(',');
                        if (s.Length == 1)
                        {
                            pen = new Pen(Color.FromName(s[0]));
                        }
                        pen = new Pen(Color.FromName(s[0]), float.Parse(s[1]));
                    }
                    else if (ln.StartsWith("text:"))
                    {
                        labelItems.Add(new HText(this, ln, font));
                    }
                    else if (ln.StartsWith("offset:"))
                    {
                        labelItems.Add(new Offset(this, ln));
                    }
                    else if (ln.StartsWith("circle:"))
                    {
                        labelItems.Add(new Circle(this, ln, pen));
                    }
                    else if (ln.StartsWith("line:"))
                    {
                        labelItems.Add(new Line(this, ln, pen));
                    }
                    else if (ln.StartsWith("QRcode:"))
                    {
                        labelItems.Add(new QRCode(this, ln));
                    }
                    else if (ln.StartsWith("graphic:"))
                    {
                        labelItems.Add(new GraphicFile(this, ln));
                    }
                    else if (ln.StartsWith("PRINTED:"))
                    {
                        PrintRecord pr = new PrintRecord(ln);
                        history.Add(pr);
                        first            = pr.start;
                        lastPrintedSerno = pr.end;
                        if (pr.version != "")
                        {
                            lastPrintedVersion  = pr.version;
                            fields["[version]"] = pr.version;
                        }
                    }
                    else if (ln.Trim() == "")
                    {
                    }
                    else if (ln.StartsWith("\\") || ln.StartsWith("/"))
                    {
                    }
                    else
                    {
                        errors.Add("Line " + line.ToString() + " :" + ln + " ???");
                    }
                }
                catch (Exception e)
                {
                    errors.Add("Line " + line.ToString() + " :" + ln + "\r\n     " + e.Message);
                }
            }

            resizeLabel();
            return(errors.ToArray());
        }