Beispiel #1
0
 public static void Parse(string[] data)
 {
     if (data.Length == 1)
     {
         //Application.Run(new MainWindow());
         //Application.Run(new Form_ViewVect("d:\\CODING\\PlotterControl\\PlotterControl\\bin\\Debug\\Data\\Vect\\rd.pcv", true));
         Application.Run(FormTranslator.Translate(new MainWindow()));
         return;
     }
     {
         var data1            = string.Join(" ", data);
         var data2            = data1.Split(' ').ToList().Skip(2);
         CommandParseResult a = null;
         try
         {
             a = CommandManagment.Parse(string.Join(" ", data2));
         }
         catch (Exception e) { MessageBox.Show("\"" + string.Join(" ", data2) + "\" - " + TB.L.Error["Core.WrongInputCommand"] + e.Message); }
         MakeAction(a);
     }
 }
Beispiel #2
0
 private static void MakeAction(CommandParseResult res)
 {
     if (res == null)
     {
         Application.Run(FormTranslator.Translate(new MainWindow()));
         return;
     }
     else
     if (res.Name == "print_vector")
     {
         try
         {
             if (!File.Exists(res.Filename))
             {
                 MessageBox.Show(string.Format(TB.L.Error["Core.CantFindFile"], res.Filename)); Application.Run(new MainWindow()); return;
             }
             else
             {
                 string port   = res.Flags["port"];
                 int    bdrate = int.Parse(res.Flags["bdrate"]);
                 SizeF  a      = new SizeF();
                 a.Width  = float.Parse(res.Flags["size"].Split('x')[0], CultureInfo.InvariantCulture);
                 a.Height = float.Parse(res.Flags["size"].Split('x')[1], CultureInfo.InvariantCulture);
                 bool auto = bool.Parse(res.Flags["auto"]);
                 Application.Run(FormTranslator.Translate(new Form_PrintMaster(res.Filename, true, port, bdrate, a, auto)));
             }
         } catch (Exception e) { MessageBox.Show(TB.L.Error["Core.OpenError.Print"] + e.Message); Application.Run(new MainWindow()); return; }
     }
     else
     if (res.Name == "open_vector")
     {
         try
         {
             if (!File.Exists(res.Filename))
             {
                 MessageBox.Show(string.Format(TB.L.Error["Core.CantFindFile"], res.Filename)); Application.Run(new MainWindow()); return;
             }
             Application.Run(FormTranslator.Translate(new Form_ViewVect(res.Filename, false)));
         } catch (Exception e) { MessageBox.Show(TB.L.Error["Core.OpenError.ViewVect"] + e.Message); Application.Run(new MainWindow()); return; }
     }
     else
     if (res.Name == "render_vector")
     {
         try
         {
             if (!File.Exists(res.Filename))
             {
                 MessageBox.Show(string.Format(TB.L.Error["Core.CantFindFile"], res.Filename)); Application.Run(new MainWindow()); return;
             }
             new Vector(res.Filename).ToBitmap(Color.FromName(res.Flags["backcolor"]), Color.FromName(res.Flags["drawcolor"])).Save(new FileInfo(Application.ExecutablePath).Directory.FullName + "\\Temp\\_contex_render_.png");
             System.Diagnostics.Process.Start(new FileInfo(Application.ExecutablePath).Directory.FullName + "\\Temp\\_contex_render_.png");
             System.Threading.Thread.Sleep(2000);
         }
         catch (Exception e) { MessageBox.Show(TB.L.Error["Core.OpenError.Render"] + e.Message); Application.Run(new MainWindow()); return; }
     }
     else
     if (res.Name == "edit_vector")
     {
     }
     if (res.Name == "open_doc")
     {
         try
         {
             if (!File.Exists(res.Filename))
             {
                 MessageBox.Show(string.Format(TB.L.Error["Core.CantFindFile"], res.Filename)); Application.Run(new MainWindow()); return;
             }
             Application.Run(FormTranslator.Translate(new Form_EditVector(res.Filename)));
         }
         catch (Exception e) { MessageBox.Show(TB.L.Error["Core.OpenError.VectEditor"] + e.Message); Application.Run(new MainWindow()); return; }
     }
 }
Beispiel #3
0
        public static CommandParseResult Parse(string Str)
        {
            string FileName = "";

            string[] flags;
            string   flagsdata = "";

            if (Str.Contains('~'))
            {
                var k = Str.Split('~').ToList().FindAll(p => p != "").Select(p => p.Trim()).ToArray();
                if (k.Length != 2)
                {
                    MessageBox.Show(TB.L.Error["Core.MoreThan1FilenameTags"]);
                    return(null);
                }
                FileName  = k.Last();
                flagsdata = k.First();
            }
            else
            {
                flagsdata = Str;
                FileName  = "";
            }
            flags = flagsdata.Split('-').ToList().FindAll(p => p.Trim() != "").ToArray();
            List <string> fl = new List <string>();

            foreach (var j in flags)
            {
                fl.AddRange(j.Split(')'));
            }
            flags = fl.FindAll(p => p.Trim() != "").Select(p => p.Trim()).ToArray();

            string MainCommand = flags.First();
            var    h           = new Dictionary <string, string>();

            for (int i = 1; i <= flags.Length - 1; i++)
            {
                string name  = flags[i].Split('(')[0];
                string value = flags[i].Split('(')[1];
                h.Add(name, value);
            }
            Command cmd = Commands.Find(p => p.Name == MainCommand);

            if (cmd == null)
            {
                MessageBox.Show(TB.L.Error["Core.UnknownCommand"]);
                return(null);
            }
            for (int i = 0; i <= h.Count - 1; i++)
            {
                if (!cmd.Flags.Select(p => p.Name).Contains(h.Keys.ElementAt(i)))
                {
                    if (cmd.Flags.Count == 0)
                    {
                        MessageBox.Show(TB.L.Error["Core.WrongAnyFlags"]);
                    }
                    MessageBox.Show(TB.L.Error["Core.WrongFlag"] + string.Join(",", cmd.Flags.Select(p => p.Name)));
                }
            }
            for (int i = 0; i <= cmd.Flags.Count - 1; i++)
            {
                if (!h.ContainsKey(cmd.Flags[i].Name))
                {
                    h.Add(cmd.Flags[i].Name, (string)cmd.Flags[i].DefValue);
                }
                else
                {
                };
            }
            var m = new CommandParseResult(h, cmd);

            m.Filename = FileName;
            return(m);
        }