Пример #1
0
        public Output(string[] args)
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            //Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
            //Trace.AutoFlush = true;
            //Trace.Indent();
            editor = new Editor(this, this.rtbMscEditor);
            generator = new Generator(this);
            fileFilter = strings.GetString("FileFilter");
            try {
                InitializeComponent();
                OwenInitializeComponent();
                //this.addRepertory();
                this.NewImage();
                // initialize the status bar output
                if (args.Length == 0) {
                    Start start = new Start();
                    start.ShowDialog();
                }
                if (args.Length == 1) {
                    this.LoadFile(args[0], true);
                }
                if (args.Length == 2) {
                    string directory;
                    if (args[0].LastIndexOf(@"\") < 1) {
                        directory = Environment.CurrentDirectory;
                    } else {
                        directory = Path.GetDirectoryName(args[0]);
                    }
                    DirectoryInfo di = new DirectoryInfo(directory);
                    FileInfo[] result = di.GetFiles(Path.GetFileName(args[0]));
                    if (result.Length > 0) {
                        for (int i = 0; i < result.Length; i++) {
                            generator.Clear();
                            this.LoadFile(result[i].FullName, false);
                            this.ExportImage(result[i].FullName, args[1]);
                        }
                    }
                    Application.ExitThread();
                }
                if (args.Length >= 3) {

                    string srcDirectory, destDirectory;
                    if (args[0].LastIndexOf(@"\") < 1) {
                        srcDirectory = Environment.CurrentDirectory;
                    } else {
                        srcDirectory = Path.GetDirectoryName(args[0]);
                    }
                    destDirectory = args[1];
                    DirectoryInfo srcDi = new DirectoryInfo(srcDirectory);
                    DirectoryInfo destDi = new DirectoryInfo(destDirectory);
                    FileInfo[] result = srcDi.GetFiles(Path.GetFileName(args[0]));
                    if (!destDi.Exists) {
                        Directory.CreateDirectory(@destDirectory);
                    }
                    if (result.Length > 0) {
                        for (int i = 0; i < result.Length; i++) {
                            generator.Clear();
                            this.LoadFile(result[i].FullName, true);
                            this.ExportImage(destDirectory + "\\" + result[i].Name, args[2]);
                        }
                    }
                }
            } catch (System.Security.SecurityException ex) {
                MessageBox.Show(ex.Message);
            } catch (System.Exception ex) {
                MessageBox.Show(ex.Message);
            }
            this.Show();
            this.CenterPage();
            this.ShowGraphicMenu();
        }
Пример #2
0
        private void RunGenerator()
        {
            try {
                generator = new Generator();

                DirectoryInfo srcDi = new DirectoryInfo(srcDirectory);
                DirectoryInfo destDi = new DirectoryInfo(destDirectory);
                FileInfo[] result = srcDi.GetFiles(Path.GetFileName(files));
                if (!destDi.Exists){
                    if (verbose)
                        Console.WriteLine ("Creatig output directory " + destDirectory);
                    Directory.CreateDirectory(@destDirectory);
                }
                if (result.Length > 0) {
                    for (int i=0; i<result.Length; i++){
                        if (verbose)
                            Console.WriteLine ("Processing " + result[i].Name);
                        generator.Clear();
                        Output.AutosizeOutputHeight = true;
                        // Load and parse input file:
                        nGenerator.InterpretException[] exceptions;
                        exceptions = this.LoadFile(result[i].FullName);
                        if (exceptions != null)
                            foreach (nGenerator.InterpretException exception in exceptions)
                                Console.WriteLine (result[i].Name + ":" + exception.exceptionLine + " error: " + exception.Message);
                        // Generate output:
                        this.ExportImage(destDirectory + "/"  + result[i].Name, format);
                    }
                } else {
                    Console.WriteLine ("ERROR: Couldn't open the input file(s)!");
                }
            } catch (Exception e) {
                Console.WriteLine ("ERROR: " + e.Message);
                Console.WriteLine (e.ToString());
            }
        }