예제 #1
0
 private void button3_Click(object sender, EventArgs e)
 {
     o2Mate.Compilateur comp = new o2Mate.Compilateur();
     comp.Compilation(@"C:\Documents and Settings\Olivier\Mes documents\Visual Studio 2005\Projects\o2Mate\Editeur\outil_texte.xml",
                      @"C:\Documents and Settings\Olivier\Mes documents\Visual Studio 2005\Projects\o2Mate\Editeur\dicttest.xml",
                      @"C:\Documents and Settings\Olivier\Mes documents\Visual Studio 2005\Projects\o2Mate\Editeur\result.txt", null);
 }
예제 #2
0
        public string ExecuteAndRead()
        {
            string   result       = String.Empty;
            FileInfo fi           = new FileInfo(this.fileNameSrc);
            string   fileNameDict = Path.Combine(Documents.TempDirectory, Path.GetFileNameWithoutExtension(fi.Name) + ".xml");

            this.outputDict.Save(fileNameDict);
            o2Mate.Compilateur comp = new o2Mate.Compilateur();
            comp.LoadTemplates(Documents.TemplatesDirectory);
            comp.LoadSkeletons(Documents.SkeletonsDirectory);
            string outputFinalFile = Documents.BuildDirectory + Path.GetFileNameWithoutExtension(fi.Name) + ".txt";

            try
            {
                comp.Compilation(this.fileNameSrc, fileNameDict, outputFinalFile, null);
                StreamReader sr = new StreamReader(outputFinalFile);
                result = sr.ReadToEnd();
                sr.Close();
                sr.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            if (this.Close != null)
            {
                this.Close(this, new EventArgs());
            }
            return(result);
        }
예제 #3
0
        void DictExecute_Exec(object sender, System.Windows.Forms.HtmlElementEventArgs e)
        {
            FileInfo fi           = new FileInfo(this.fileNameSrc);
            string   fileNameDict = Path.Combine(Documents.TempDirectory, Path.GetFileNameWithoutExtension(fi.Name) + ".xml");

            this.outputDict.Save(fileNameDict);
            o2Mate.Compilateur comp = new o2Mate.Compilateur();
            comp.LoadTemplates(Documents.TemplatesDirectory);
            comp.LoadSkeletons(Documents.SkeletonsDirectory);
            string outputFinalFile = Documents.BuildDirectory + Path.GetFileNameWithoutExtension(fi.Name) + ".txt";

            try
            {
                comp.Compilation(this.fileNameSrc, fileNameDict, outputFinalFile, null);
                Process proc = new Process();
                proc.StartInfo.FileName = outputFinalFile;
                proc.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            if (this.Close != null)
            {
                this.Close(this, new EventArgs());
            }
        }
예제 #4
0
        public void Load()
        {
            o2Mate.Dictionnaire IHMdict = new o2Mate.Dictionnaire();
            string fileNameDict         = Path.Combine(Documents.TempDirectory, Documents.BienvenuePage + ".xml");

            IHMdict.Save(fileNameDict);
            o2Mate.Compilateur comp = new o2Mate.Compilateur();
            comp.LoadTemplates(Documents.GeneratedDictionariesTemplatesDirectory);
            comp.Compilation(Documents.BienvenuePage, fileNameDict, this.fileNameFinal, null);
        }
예제 #5
0
 internal void Compilation(string fileName)
 {
     o2Mate.Compilateur comp = new o2Mate.Compilateur();
     comp.LoadTemplates(Documents.TemplatesDirectory);
     comp.LoadSkeletons(Documents.SkeletonsDirectory);
     o2Mate.Dictionnaire dict = comp.OutputDictionary(fileName);
     dict.Save(Documents.TempDictFile);
     // le fichier de sortie n'est pas important
     comp.Debug(Documents.TempDictFile, Documents.UnusedFile, null);
     o2Mate.Compilateur compProject = new o2Mate.Compilateur();
     compProject.LoadTemplates(Documents.TemplatesDirectory);
     o2Mate.Dictionnaire dictProject = comp.Threads.Dictionary;
     dictProject.Save(Documents.TempDictFile);
     compProject.Compilation(Documents.ProjectSourceCode, Documents.TempDictFile, Documents.ProjectPage, null);
 }
예제 #6
0
        private void btnExec_Click(object sender, EventArgs e)
        {
            this._dict.Save(AppDomain.CurrentDomain.BaseDirectory + "\\dict\\" + this._fileName);
            o2Mate.Compilateur comp = new o2Mate.Compilateur();
            try
            {
                comp.Compilation(AppDomain.CurrentDomain.BaseDirectory + "\\sources\\" + this._fileName, AppDomain.CurrentDomain.BaseDirectory + "\\dict\\" + this._fileName, AppDomain.CurrentDomain.BaseDirectory + "\\files\\" + System.IO.Path.GetFileNameWithoutExtension(this._fileName) + ".txt");
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
            Process proc = new Process();

            proc.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + "\\files\\" + System.IO.Path.GetFileNameWithoutExtension(this._fileName) + ".txt";
            proc.Start();
            this.Close();
        }
예제 #7
0
        static void Main()
        {
            try
            {
                // création du fichier outils.VBS
                o2Mate.Compilateur  comp = new o2Mate.Compilateur();
                o2Mate.Dictionnaire dict = new o2Mate.Dictionnaire();
                dict.AddString("dir", Documents.EditeurDirectory);
                string fileNameDict = Documents.TempDictFile;
                dict.Save(fileNameDict);
                comp.Compilation(Documents.OutilsVBSXML, fileNameDict, Documents.OutilsVBS, null);
                // le compilateur ne peut pas etre lancé 2 fois de suite
                comp = new o2Mate.Compilateur();
                comp.Compilation(Documents.LocalesVBSXML, fileNameDict, Documents.LocalesVBS, null);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

            try
            {
                DirectoryInfo di = new DirectoryInfo(Documents.CodeCommanderDirectory);
                if (!di.Exists)
                {
                    di.Create();
                }
                di = new DirectoryInfo(Documents.SourcesDirectory);
                if (!di.Exists)
                {
                    di.Create();
                    di = new DirectoryInfo(Documents.ExamplesDirectory);
                    Program.CopyXML(di, Documents.SourcesDirectory);
                }
                di = new DirectoryInfo(Documents.TemplatesDirectory);
                if (!di.Exists)
                {
                    di.Create();
                    di = new DirectoryInfo(Documents.SrcTemplatesDirectory);
                    Program.CopyXML(di, Documents.TemplatesDirectory);
                }
                di = new DirectoryInfo(Documents.SkeletonsDirectory);
                if (!di.Exists)
                {
                    di.Create();
                    di = new DirectoryInfo(Documents.SrcSkeletonsDirectory);
                    Program.CopyXML(di, Documents.SkeletonsDirectory);
                }
                di = new DirectoryInfo(Documents.SyntaxDirectory);
                if (!di.Exists)
                {
                    di.Create();
                    di = new DirectoryInfo(Documents.SrcSyntaxDirectory);
                    Program.CopyXML(di, Documents.SyntaxDirectory);
                }
                di = new DirectoryInfo(Documents.LocalesDirectory);
                if (!di.Exists)
                {
                    di.Create();
                    di = new DirectoryInfo(Documents.SrcLocalesDirectory);
                    Program.CopyTSV(di, Documents.LocalesDirectory);
                }
                di = new DirectoryInfo(Documents.DictionariesDirectory);
                if (!di.Exists)
                {
                    di.Create();
                }
                di = new DirectoryInfo(Documents.BuildDirectory);
                if (!di.Exists)
                {
                    di.Create();
                }
                di = new DirectoryInfo(Documents.TempDirectory);
                if (!di.Exists)
                {
                    di.Create();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("L'application va s'arrêter parce qu'il est impossible de créer des fichiers dans le répertoire 'Mes documents'", "Impossible de continuer", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            ComputerSettings computerSettings = new ComputerSettings();

            try
            {
                computerSettings.VerifyPowerShell();
                computerSettings.VerifyExecutingPowerShell();
                computerSettings.TestChangeParameterSettings();
                Application.Run(computerSettings);
                if (computerSettings.DialogResult == DialogResult.Cancel)
                {
                    // si cancel alors on stoppe l'application
                    return;
                }
                if (computerSettings.DialogResult == DialogResult.OK)
                {
                    Form1 form = new Form1(computerSettings);
                    try
                    {
                        // création du fichier editeur.HTM en fonction de la langue
                        o2Mate.Compilateur  comp = new o2Mate.Compilateur();
                        o2Mate.Dictionnaire dict = new o2Mate.Dictionnaire();
                        string fileNameDict      = Documents.TempDictFile;
                        dict.Save(fileNameDict);
                        comp.Compilation(Documents.EditorPageXML, fileNameDict, Documents.EditorPage, null);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    Application.Run(form);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            finally
            {
                computerSettings.RevertToSaved();
                // suppress all temporary files
                DirectoryInfo dir = new DirectoryInfo(Documents.TempDirectory);
                dir.EnumerateFiles().AsParallel().ForAll(a => { a.Delete(); });
            }
        }
예제 #8
0
        public void Load()
        {
            o2Mate.Dictionnaire IHMdict = new o2Mate.Dictionnaire();
            string fileNameDict         = Path.Combine(Documents.TempDirectory, Path.GetFileNameWithoutExtension(new FileInfo(this.fileNameSrc).Name) + ".xml");;

            this.preferredHeight = 270;
            this.keys.Clear();
            o2Mate.Array  tabInput         = this.inputDict.GetArray(this.keyTab) as o2Mate.Array;
            o2Mate.Fields fieldsInput      = tabInput.Item(1) as o2Mate.Fields;
            o2Mate.Array  tabDefaultFields = new o2Mate.Array();
            int           fieldIndex       = 0;

            if (!this.outputDict.IsArray(this.keyTab))
            {
                this.outputDict.AddArray(this.keyTab, new o2Mate.Array());
            }
            o2Mate.Array  arrRows   = this.outputDict.GetArray(this.keyTab) as o2Mate.Array;
            o2Mate.Fields rowFields = null;
            if (index > 0)
            {
                rowFields = arrRows.Item(this.index) as o2Mate.Fields;
            }
            o2Mate.Array refArrConnections = new o2Mate.Array();
            foreach (string key in fieldsInput.Keys)
            {
                o2Mate.Fields fieldsDefault = new o2Mate.Fields();
                ++fieldIndex;
                o2Mate.ILegende leg = this.inputDict.Legendes.GetLegendeByName(key, this.keyTab);
                this.keys.Add("field" + fieldIndex.ToString(), key);
                fieldsDefault.AddString("nom", "field" + fieldIndex.ToString());
                string description = key;
                if (leg != null)
                {
                    description = leg.Description;
                }
                fieldsDefault.AddString("description", description);
                string commentaire = "";
                if (leg != null)
                {
                    commentaire = leg.Commentaire;
                }
                fieldsDefault.AddString("commentaire", commentaire);
                string myType = "String";
                if (leg != null)
                {
                    myType = leg.Type;
                    if (leg.Observe != "")
                    {
                        fieldsDefault.AddString("observe", leg.Observe);
                    }
                }
                fieldsDefault.AddString("type", myType);
                string arrName, field;
                if (this.outputDict.GetInConnection(leg, this.keyTab, this.index, out arrName, out field))
                {
                    fieldsDefault.AddString("arrayReference", arrName);
                    o2Mate.Array  arrConnection       = this.outputDict.GetArray(arrName) as o2Mate.Array;
                    o2Mate.Fields refFieldsConnection = new o2Mate.Fields();
                    refFieldsConnection.AddString("name", "field" + index.ToString());
                    refFieldsConnection.AddString("value", "");
                    refArrConnections.Add(refFieldsConnection);
                    for (int indexConnection = 1; indexConnection <= arrConnection.Count; ++indexConnection)
                    {
                        o2Mate.Fields f = arrConnection.Item(indexConnection) as o2Mate.Fields;
                        if (f.Exists(field))
                        {
                            o2Mate.Fields refFields = new o2Mate.Fields();
                            refFields.AddString("name", "field" + index.ToString());
                            refFields.AddString("value", f.GetString(field));
                            refArrConnections.Add(refFields);
                        }
                    }
                }
                if (this.index > 0)
                {
                    if (rowFields.Exists(key))
                    {
                        fieldsDefault.AddString("valeur", rowFields.GetString(key));
                    }
                    else
                    {
                        rowFields.AddString(key, "");
                        fieldsDefault.AddString("valeur", "");
                    }
                }
                tabDefaultFields.Add(fieldsDefault);
                this.preferredHeight += 40;
            }
            IHMdict.AddArray("keyTab", tabDefaultFields);
            IHMdict.AddArray("connections", refArrConnections);
            if (this.index > 0)
            {
                IHMdict.AddString("title", "Nouvel élément du tableau '" + this.keyTab + "'");
            }
            else
            {
                IHMdict.AddString("title", "Edition d'un élément du tableau '" + this.keyTab + "'");
            }
            o2Mate.ILegende legTab         = this.inputDict.Legendes.GetLegendeByName(this.keyTab);
            string          descriptionTab = this.keyTab;

            if (legTab != null)
            {
                descriptionTab = legTab.Description;
            }
            IHMdict.AddString("description", descriptionTab);
            string commentaireTab = "";

            if (legTab != null)
            {
                commentaireTab = legTab.Commentaire;
            }
            IHMdict.AddString("commentaire", commentaireTab);
            IHMdict.Save(fileNameDict);
            o2Mate.Compilateur comp = new o2Mate.Compilateur();
            comp.LoadTemplates(Documents.GeneratedDictionariesTemplatesDirectory);
            try
            {
                comp.Compilation(Documents.SaisieChampsPage, fileNameDict, this.fileNameFinal, null);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.ToString());
            }
        }
        public new void Load()
        {
            o2Mate.Dictionnaire IHMdict = new o2Mate.Dictionnaire();
            string fileNameDict         = Path.Combine(Documents.TempDirectory, Path.GetFileNameWithoutExtension(new FileInfo(this.fileNameSrc).Name) + ".xml");

            o2Mate.Array arr = new o2Mate.Array();
            this.PreferredHeight = 258;
            this.keys.Clear();
            int index = 1;

            IHMdict.AddString("title", "Saisie des champs libres");
            o2Mate.Array refArrConnections = new o2Mate.Array();
            foreach (string key in this.inputDict.StringKeys)
            {
                o2Mate.Fields fields = new o2Mate.Fields();
                this.keys.Add("field" + index.ToString(), key);
                fields.AddString("nom", "field" + index.ToString());
                o2Mate.ILegende leg         = this.inputDict.Legendes.GetLegendeByName(key);
                string          description = key;
                if (leg != null)
                {
                    description = leg.Description;
                }
                fields.AddString("description", description);
                string commentaire = "";
                if (leg != null)
                {
                    commentaire = leg.Commentaire;
                }
                fields.AddString("commentaire", commentaire);
                string myType = "String";
                if (leg != null)
                {
                    myType = leg.Type;
                    if (leg.Expression != "")
                    {
                        fields.AddString("observe", leg.Expression);
                    }
                }
                fields.AddString("type", myType);
                string arrName, field;
                if (this.outputDict.GetInConnection(leg, "", 0, out arrName, out field))
                {
                    fields.AddString("arrayReference", arrName);
                    o2Mate.Array  arrConnection       = this.outputDict.GetArray(arrName) as o2Mate.Array;
                    o2Mate.Fields refFieldsConnection = new o2Mate.Fields();
                    refFieldsConnection.AddString("name", "field" + index.ToString());
                    refFieldsConnection.AddString("value", "");
                    refArrConnections.Add(refFieldsConnection);
                    for (int indexConnection = 1; indexConnection <= arrConnection.Count; ++indexConnection)
                    {
                        o2Mate.Fields f = arrConnection.Item(indexConnection) as o2Mate.Fields;
                        if (f.Exists(field))
                        {
                            o2Mate.Fields refFields = new o2Mate.Fields();
                            refFields.AddString("name", "field" + index.ToString());
                            refFields.AddString("value", f.GetString(field));
                            refArrConnections.Add(refFields);
                        }
                    }
                }
                if (this.outputDict.IsString(key))
                {
                    fields.AddString("valeur", this.outputDict.GetString(key));
                }
                else
                {
                    fields.AddString("valeur", "");
                }
                arr.Add(fields);
                this.PreferredHeight += 40;
                ++index;
            }
            IHMdict.AddArray("connections", refArrConnections);
            IHMdict.AddArray("champs", arr);
            IHMdict.Save(fileNameDict);
            o2Mate.Compilateur comp = new o2Mate.Compilateur();
            comp.LoadTemplates(Documents.GeneratedDictionariesTemplatesDirectory);
            comp.Compilation(Documents.SaisieLibrePage, fileNameDict, this.fileNameFinal, null);
            FileInfo fi = new FileInfo(Documents.GeneratedDictionariesDirectory + Documents.ImageAdd);

            fi.CopyTo(Path.GetDirectoryName(this.fileNameFinal) + Documents.ImageAdd, true);
            fi = new FileInfo(Documents.GeneratedDictionariesDirectory + Documents.ImageEdit);
            fi.CopyTo(Path.GetDirectoryName(this.fileNameFinal) + Documents.ImageEdit, true);
        }
예제 #10
0
        public new void Load()
        {
            o2Mate.Dictionnaire IHMdict = new o2Mate.Dictionnaire();
            string fileNameDict         = Path.Combine(Documents.TempDirectory, Path.GetFileNameWithoutExtension(new FileInfo(this.fileNameSrc).Name) + ".xml");

            this.PreferredHeight = 270;
            this.keys.Clear();
            o2Mate.Array  tabInput         = this.inputDict.GetArray(this.keyTab) as o2Mate.Array;
            o2Mate.Fields fieldsInput      = tabInput.Item(1) as o2Mate.Fields;
            o2Mate.Array  tabDefaultFields = new o2Mate.Array();
            int           fieldIndex       = 0;

            foreach (string key in fieldsInput.Keys)
            {
                o2Mate.Fields fieldsDefault = new o2Mate.Fields();
                ++fieldIndex;
                o2Mate.ILegende leg = this.inputDict.Legendes.GetLegendeByName(key, this.keyTab);
                this.keys.Add("field" + fieldIndex.ToString(), key);
                fieldsDefault.AddString("nom", "field" + fieldIndex.ToString());
                string description = key;
                if (leg != null)
                {
                    description = leg.Description;
                }
                fieldsDefault.AddString("description", description);
                string commentaire = "";
                if (leg != null)
                {
                    commentaire = leg.Commentaire;
                }
                fieldsDefault.AddString("commentaire", commentaire);
                string myType = "String";
                if (leg != null)
                {
                    myType = leg.Type;
                    if (leg.Expression != "")
                    {
                        fieldsDefault.AddString("observe", leg.Expression);
                    }
                }
                fieldsDefault.AddString("type", myType);
                tabDefaultFields.Add(fieldsDefault);
            }
            IHMdict.AddArray("keyTab", tabDefaultFields);
            IHMdict.AddString("title", "Saisie du tableau '" + this.keyTab + "'");
            o2Mate.ILegende legTab         = this.inputDict.Legendes.GetLegendeByName(this.keyTab);
            string          descriptionTab = this.keyTab;

            if (legTab != null)
            {
                descriptionTab = legTab.Description;
            }
            IHMdict.AddString("description", descriptionTab);
            string commentaireTab = "";

            if (legTab != null)
            {
                commentaireTab = legTab.Commentaire;
            }
            IHMdict.AddString("commentaire", commentaireTab);
            if (!this.outputDict.IsArray(this.keyTab))
            {
                this.outputDict.AddArray(this.keyTab, new o2Mate.Array());
            }
            o2Mate.Array tabOutput = this.outputDict.GetArray(this.keyTab) as o2Mate.Array;
            o2Mate.Array arrRows   = new o2Mate.Array();
            o2Mate.Array arrFields = new o2Mate.Array();
            for (int index = 1; index <= tabOutput.Count; ++index)
            {
                o2Mate.Fields tabRows = new o2Mate.Fields();
                tabRows.AddString("index", index.ToString());
                arrRows.Add(tabRows);
                o2Mate.Fields tabFieldsInput = tabInput.Item(1) as o2Mate.Fields;
                o2Mate.Fields fields         = tabOutput.Item(index) as o2Mate.Fields;
                fieldIndex = 0;
                foreach (string key in tabFieldsInput.Keys)
                {
                    o2Mate.Fields tabFields = new o2Mate.Fields();
                    tabFields.AddString("rowId", index.ToString());
                    ++fieldIndex;
                    o2Mate.ILegende leg = this.inputDict.Legendes.GetLegendeByName(key, this.keyTab);
                    this.keys.Add("rowId" + index.ToString() + "_field" + fieldIndex.ToString(), key);
                    tabFields.AddString("nom", "rowId" + index.ToString() + "_field" + fieldIndex.ToString());
                    string description = key;
                    if (leg != null)
                    {
                        description = leg.Description;
                    }
                    tabFields.AddString("description", description);
                    string commentaire = "";
                    if (leg != null)
                    {
                        commentaire = leg.Commentaire;
                    }
                    tabFields.AddString("commentaire", commentaire);
                    string myType = "String";
                    if (leg != null)
                    {
                        myType = leg.Type;
                        if (leg.Expression != "")
                        {
                            tabFields.AddString("observe", leg.Expression);
                        }
                    }
                    tabFields.AddString("type", myType);
                    if (fields.Exists(key))
                    {
                        tabFields.AddString("value", fields.GetString(key));
                    }
                    else
                    {
                        tabFields.AddString("value", "");
                    }
                    arrFields.Add(tabFields);
                    this.PreferredHeight += 40;
                }
                this.PreferredHeight += 10;
            }
            IHMdict.AddArray("items", arrRows);
            IHMdict.AddArray("fields", arrFields);
            IHMdict.Save(fileNameDict);
            try
            {
                o2Mate.Compilateur comp = new o2Mate.Compilateur();
                comp.LoadTemplates(Documents.GeneratedDictionariesTemplatesDirectory);
                comp.Compilation(Documents.SaisieTableauPage, fileNameDict, this.fileNameFinal, null);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            FileInfo fi = new FileInfo(Documents.GeneratedDictionariesDirectory + Documents.ImageTabUp);

            fi.CopyTo(Path.GetDirectoryName(this.fileNameFinal) + Documents.ImageTabUp, true);
            fi = new FileInfo(Documents.GeneratedDictionariesDirectory + Documents.ImageTabDown);
            fi.CopyTo(Path.GetDirectoryName(this.fileNameFinal) + Documents.ImageTabDown, true);
        }