Exemplo n.º 1
0
        private void Menu_File_Save__Click(object sender, EventArgs e)
        {
            if (pathCurrent == null)
            {
                Menu_File_SaveAs__Click(sender, e);
                return;
            }

            if (data != null)
            {
                Stream file = null;
                try
                {
                    MessagePrinter.ClearMsg();
                    file = new FileStream(pathCurrent, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                    data.Build(new PLBWriter(file));
                    SetDirty(false);
                    MessagePrinter.ShowMsg("There were some issues while saving:", "Warning!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(            //show error message
                        "An error occured while saving:\n" + ex.Message,
                        "Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                }
                finally
                {
                    file?.Close();
                }
            }
        }
Exemplo n.º 2
0
        static void ParseArgs(string[] args)
        {
            int mode = 0;

            if (args[0].Equals("/wj") || args[0].Equals("/writeJson", StringComparison.OrdinalIgnoreCase))
            {
                mode = 1;
            }
            else if (args[0].Equals("/wx") || args[0].Equals("/writeXml", StringComparison.OrdinalIgnoreCase))
            {
                mode = 2;
            }
            else if (args[0].Equals("/rj") || args[0].Equals("/readJson", StringComparison.OrdinalIgnoreCase))
            {
                mode = 3;
            }
            else if (args[0].Equals("/rx") || args[0].Equals("/readXml", StringComparison.OrdinalIgnoreCase))
            {
                mode = 4;
            }
            else if (args[0].Equals("/t") || args[0].Equals("/test", StringComparison.OrdinalIgnoreCase))
            {
                mode = 5;
            }
            else
            {
                Console.WriteLine("ERROR: Invalid Argument(s)\n");
                ShowHelp();
                return;
            }

            if (args.Length < 3)
            {
                Console.WriteLine("ERROR: Missing File Argument(s)\n");
                return;
            }
            else if (args.Length > 3)
            {
                Console.WriteLine("ERROR: Unexpected File Argument(s)\n");
                return;
            }

            try
            {
                //open files
                Stream fileIn  = new FileStream(args[1], FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                Stream fileOut = new FileStream(args[2], FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                PLB    data    = null;

                //select action based on mode
                if (mode < 3)   //write json/xml
                {
                    data = new PLB(new PLBReader(fileIn));
                    PlbEdit.SerializePLB(fileOut, data, mode);
                }
                else if (mode < 5)  //read json/xml
                {
                    PlbEdit.DeserializePLB(fileIn, ref data, mode - 2);
                    data.Build(new PLBWriter(fileOut));
                }
                else
                {
                    data = new PLB(new PLBReader(fileIn));
                    data.Build(new PLBWriter(fileOut));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"ERROR: {e.Message}\n");
            }
        }