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()); } }
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); }
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); }
void PowerShell_Click(object sender, 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(); string outputFinalFile = Documents.BuildDirectory + Path.GetFileNameWithoutExtension(fi.Name) + ".ps1"; try { comp.UnderConversion = true; comp.ConvertedLanguage = new Converters.PowerShellConverter(); comp.LoadTemplates(Documents.TemplatesDirectory); comp.LoadSkeletons(Documents.SkeletonsDirectory); comp.Convert(comp.ConvertedLanguage, this.fileNameSrc, fileNameDict, outputFinalFile); Process proc = new Process(); if (global::CodeCommander.Properties.Settings.Default.AcceptExecutingPrograms && global::CodeCommander.Properties.Settings.Default.PowerShellInstalled) { proc.StartInfo.CreateNoWindow = true; proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; proc.StartInfo.Verb = global::CodeCommander.Properties.Settings.Default.ExecPowerShellVerb; } else { proc.StartInfo.Verb = "Open"; } proc.StartInfo.FileName = outputFinalFile; proc.Start(); if (global::CodeCommander.Properties.Settings.Default.AcceptExecutingPrograms && global::CodeCommander.Properties.Settings.Default.PowerShellInstalled) { proc.WaitForExit(); } // ouvrir le document résultat if (global::CodeCommander.Properties.Settings.Default.AcceptExecutingPrograms && global::CodeCommander.Properties.Settings.Default.PowerShellInstalled) { proc = new Process(); proc.StartInfo.Verb = "Open"; proc.StartInfo.FileName = Documents.BuildDirectory + Path.GetFileNameWithoutExtension(fi.Name) + ".txt"; proc.Start(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } if (this.Close != null) { this.Close(this, new EventArgs()); } }
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); }
void Java_Click(object sender, HtmlElementEventArgs e) { FileInfo fi = new FileInfo(this.fileNameSrc); string pathExecutable = Path.Combine(Documents.BuildDirectory, Path.Combine(Path.GetFileNameWithoutExtension(fi.Name), Path.Combine(Path.GetFileNameWithoutExtension(fi.Name), "bin\\Debug"))); string fileNameDict = Documents.TempDictFile; this.outputDict.Save(fileNameDict); o2Mate.Compilateur comp = new o2Mate.Compilateur(); string outputFinalFile = Path.Combine(pathExecutable, Path.GetFileNameWithoutExtension(fi.Name) + ".exe"); try { comp.UnderConversion = true; comp.ConvertedLanguage = new Converters.JavaConverter(); comp.LoadTemplates(Documents.TemplatesDirectory); comp.LoadSkeletons(Documents.SkeletonsDirectory); comp.Convert(comp.ConvertedLanguage, this.fileNameSrc, fileNameDict, outputFinalFile); Process proc = new Process(); if (global::CodeCommander.Properties.Settings.Default.AcceptExecutingPrograms) { proc.StartInfo.Verb = "Open"; } else { proc.StartInfo.Verb = "Edit"; } proc.StartInfo.FileName = outputFinalFile; proc.Start(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } if (this.Close != null) { this.Close(this, new EventArgs()); } }
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()); } }
void WindowsCPP_Click(object sender, HtmlElementEventArgs e) { // fermer la dialog box pour lancer le message d'attente if (this.Close != null) { this.Close(this, new EventArgs()); } FileInfo fi = new FileInfo(this.fileNameSrc); string solutionPath = Path.Combine(Documents.BuildDirectory, Path.GetFileNameWithoutExtension(fi.Name) + "_wincpp"); string projectPath = Path.Combine(solutionPath, Path.GetFileNameWithoutExtension(fi.Name)); string executablePath = Path.Combine(solutionPath, @"x64\Debug"); string fileNameDict = Path.Combine(Documents.DictionariesDirectory, Path.GetFileNameWithoutExtension(fi.Name) + ".xml"); this.outputDict.Save(fileNameDict); o2Mate.Compilateur comp = new o2Mate.Compilateur(); string outputFinalFile = Path.Combine(Documents.BuildDirectory, Path.GetFileNameWithoutExtension(fi.Name) + ".txt"); try { comp.UnderConversion = true; comp.ConvertedLanguage = new Converters.MicrosoftCPPConverter(); comp.LoadTemplates(Documents.TemplatesDirectory); comp.LoadSkeletons(Documents.SkeletonsDirectory); comp.Convert(comp.ConvertedLanguage, this.fileNameSrc, fileNameDict, outputFinalFile); #region Start Progress Bar PopupProgress pp = new PopupProgress(false, ProgressBarStyle.Marquee); pp.Start(false); #endregion #region compile and execute C++ Windows generated app bool compiled = false; ThreadObject to = new ThreadObject(new object[] { comp, pp }); if (System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(delegate(object param) { ThreadObject d = param as ThreadObject; try { compiled = comp.ConvertedLanguage.CompileAndExecute(Path.Combine(solutionPath, Path.GetFileNameWithoutExtension(fi.Name) + ".sln"), Path.Combine(projectPath, Path.GetFileNameWithoutExtension(fi.Name) + ".vcxproj"), Path.Combine(executablePath, Path.GetFileNameWithoutExtension(fi.Name) + ".exe"), global::CodeCommander.Properties.Settings.Default.AcceptExecutingPrograms); (d.Datas[1] as PopupProgress).IsFinished = true; } catch (Exception ex) { (d.Datas[1] as PopupProgress).GiveException(ex); (d.Datas[1] as PopupProgress).IsFinished = true; } }), to)) { to.Wait.WaitOne(2000); if (!pp.IsFinished) { pp.ShowDialog(); } #region Copy dict file into the source directory if (compiled) { File.Copy(fileNameDict, Path.Combine(solutionPath, Path.GetFileName(fileNameDict)), true); #region Open result file Process proc = new Process(); if (global::CodeCommander.Properties.Settings.Default.AcceptExecutingPrograms) { proc.StartInfo.Verb = "Open"; proc.StartInfo.FileName = outputFinalFile; } else { proc.StartInfo.Verb = "Edit"; proc.StartInfo.FileName = Path.Combine(projectPath, "compiled.cpp"); } proc.Start(); #endregion } else { MessageBox.Show("La compilation a échouée.", "Erreur à la compilation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } #endregion } #endregion } catch (Exception ex) { 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); }
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); }