using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace Eplan_Zusatz { class Class1 { private void ActionTest() { string i_Symbole = String.Join("\n", ea_GetEinstellungen_arraylist("PROJECT.TrDMProject.EmbeddedMasterDataLibraries", "SymbolLibs").ToArray()); MessageBox.Show("Anzeige\n_" + Path.GetTempPath() + "\n" + strFilename + "\n" + i_Symbole); } private ArrayList ea_GetEinstellungen_arraylist(string i_NodeAuslesen, string i_SettingName) //STATION.SystemError" //LogFilePath { ArrayList i_Wertausgelesen = new ArrayList(); string i_action = "XSettingsExport"; string i_actionText = "Die Projekteinstellungen \"ea_GetProjectLanguages\" \"" + i_NodeAuslesen + "\" konnten nicht Exportiert werden.\n" + pr_Projekt_Pfad_Edb + "\n"; int i_NodePunkt_Gesamtanzahl = i_NodeAuslesen.Split(new Char[] { '.' }).Length; string i_NodePunkte = ""; ArrayList i_array_NodePunkte = new ArrayList(); i_array_NodePunkte.Add("/Settings"); i_array_NodePunkte.Add("/CAT"); i_array_NodePunkte.Add("/MOD"); i_array_NodePunkte.Add("/LEV1"); int i_Zähler = 0; i_Counter: i_NodePunkte += i_array_NodePunkte[i_Zähler]; if (i_Zähler < i_NodePunkt_Gesamtanzahl) { i_Zähler = i_Zähler + 1; goto i_Counter; } string i_WertAuszulesenAusXML = i_NodePunkte + "/Setting[@name='" + i_SettingName + "']/Val"; string i_PfadDateiAusgelsenXML = Path.Combine(se_tempDirectory_LwC, "GetEinstellungen.xml"); DeleteFile(i_PfadDateiAusgelsenXML); // Action parameter Dictionary i_parameters = null; i_parameters = new Dictionary(); i_parameters.Add("node", i_NodeAuslesen); i_parameters.Add("XMLFile", i_PfadDateiAusgelsenXML); if (i_NodeAuslesen.Split((new Char[] { '.' })).Length > 0) { if (i_NodeAuslesen.Split((new Char[] { '.' }))[0].ToUpper() == "PROJECT") { i_parameters.Add("prj", pr_Projekt_Pfad_Edb); } } // Action ausführen bool i_ActionResult = this.Action_universale(i_action, i_parameters); if (i_ActionResult == false) { MessageHelper.Error(i_actionText + "\n\nAction wird abgebrochen!"); return i_Wertausgelesen; } else { //MessageBox.Show("1\n" + i_PfadDateiAusgelsenXML + "\n" + File.Exists(i_PfadDateiAusgelsenXML)); if (File.Exists(i_PfadDateiAusgelsenXML)) { // ; am Ende rausfiltern i_Wertausgelesen.AddRange(GetXml_auslesen_arraylist(i_PfadDateiAusgelsenXML, i_WertAuszulesenAusXML)); //i_Wertausgelesen = String.Join(";", GetXml_auslesen(i_PfadDateiAusgelsenXML, i_WertAuszulesenAusXML).Split(new Char[] { ';' })); } } return i_Wertausgelesen; } private ArrayList GetXml_auslesen_arraylist(string filename, string url) { ArrayList i_WertZurück = new ArrayList(); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(filename); //MessageBox.Show("Daten_1.1=" + url); XmlNodeList rankListSchemaName = xmlDocument.SelectNodes(url); int i_Zähler = 0; foreach (var ixx in rankListSchemaName) { i_WertZurück.Add(rankListSchemaName[i_Zähler].InnerText); i_Zähler++; } return i_WertZurück; } private bool DeleteFile(string i_PfadFile) { //MessageBox.Show("DeletFile1\n" + i_PfadFile + "\n" + (File.Exists(i_PfadFile))); if (File.Exists(i_PfadFile)) { try { File.SetAttributes(i_PfadFile, FileAttributes.Normal); File.Delete(i_PfadFile); } catch (IOException e) { MessageBox.Show("Folgende Datei konnte nicht gelöscht werden = " + e); return false; } } return true; } } }