示例#1
0
        private void btnSaveArgs_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.SaveFileDialog saveDialog = new System.Windows.Forms.SaveFileDialog();
            saveDialog.Title  = "Save UIEditor project as...";
            saveDialog.Filter = "Memcall Project (*.memcall)|*.memcall|All Files (*.*)|*.*";
            if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string f = saveDialog.FileName;
                escript.Cmd.Process("SetStatus Memcall - Save Project||Saving Project: " + f);
                try
                {
                    ProjectClass sClass = new ProjectClass();
                    sClass.Arguments = Arguments.ToList();
                    sClass.Addresses = LastAddresses.ToList();
                    if (SelectedProcess != null)
                    {
                        sClass.ProcessName = SelectedProcess.ProcessName;
                    }

                    XmlSerializer xml = new XmlSerializer(typeof(ProjectClass));
                    if (File.Exists(f))
                    {
                        File.Delete(f);
                    }
                    using (FileStream fs = new FileStream(f, FileMode.OpenOrCreate))
                    {
                        xml.Serialize(fs, sClass);

                        EConsole.WriteLine("Serialization completed!", ConsoleColor.Green);
                    }
                }
                catch (Exception ex)
                {
                    Program.ShowError(ex.ToString(), "Save Project Error");
                }

                escript.Cmd.Process("HideStatus");
            }
            else
            {
                return;
            }
        }
示例#2
0
        public void LoadProject(string f)
        {
            escript.Cmd.Process("SetStatus Memcall - Open Project||Loading Project: " + f);

            try
            {
                SelectedItem = -1;
                XmlSerializer xml = new XmlSerializer(typeof(ProjectClass));
                using (FileStream fs = new FileStream(f, FileMode.OpenOrCreate))
                {
                    ProjectClass ser = (ProjectClass)xml.Deserialize(fs);

                    if (SelectedProcess == null && ser.ProcessName.Length >= 1)
                    {
                        foreach (var p in Process.GetProcessesByName(ser.ProcessName))
                        {
                            SelectedProcess = p;
                        }
                    }

                    Arguments     = ser.Arguments.ToList();
                    LastAddresses = ser.Addresses.ToList();
                    foreach (var adr in LastAddresses)
                    {
                        cbAddress.AutoCompleteCustomSource.Add(adr);
                        cbAddress.Items.Add(adr);
                    }
                    RefreshArgsList();
                }
                EConsole.WriteLine("Project loaded");
            }
            catch (Exception ex)
            {
                Program.ShowError(ex.ToString(), "Load Project Error");
            }
            escript.Cmd.Process("HideStatus");
        }