public static MultiLangString GetMultiLangString(this string text) { MultiLangString mlString = new MultiLangString(); if (string.IsNullOrWhiteSpace(text)) { mlString.SetAsString(string.Empty); } else { mlString.SetAsString(text); } return(mlString); }
public static string GetMuLanStringToDisplay(string mulangString) { MultiLangString mls = new MultiLangString(); mls.SetAsString(mulangString); return(mls.GetStringToDisplay(LANGUAGE)); }
// Returns the menu item text in the GUI language if available. private string getMenuText() { MultiLangString muLangMenuText = new MultiLangString(); muLangMenuText.SetAsString( "en_US@rotate order;" ); ISOCode guiLanguage = new Languages().GuiLanguage; return(muLangMenuText.GetString((ISOCode.Language)guiLanguage.GetNumber())); }
/// <summary> /// Returns the menueitem text in the gui langueage if available. /// Translated with google :-\ /// </summary> /// <returns></returns> private string getMenuText() { MultiLangString muLangMenuText = new MultiLangString(); muLangMenuText.SetAsString( "de_DE@Dateipfad öffnen;" + "en_US@Open Path;" + "ru_RU@Открыть путь;" + "pt_PT@Abrir Caminho;" + "fr_FR@Ouvrir Chemin;" ); ISOCode guiLanguage = new Languages().GuiLanguage; return(muLangMenuText.GetString((ISOCode.Language)guiLanguage.GetNumber())); }
public Strukturekennzeichen(string bezeichnung) { MultiLangString emptyMLS = new MultiLangString(); emptyMLS.SetAsString(""); _Bezeichnung = bezeichnung; Beschreibung1 = emptyMLS; Beschreibung2 = emptyMLS; Beschreibung3 = emptyMLS; BeschreibungZusatzfeld1 = emptyMLS; BeschreibungZusatzfeld2 = emptyMLS; BeschreibungZusatzfeld3 = emptyMLS; BeschreibungZusatzfeld4 = emptyMLS; BeschreibungZusatzfeld5 = emptyMLS; BeschreibungZusatzfeld6 = emptyMLS; BeschreibungZusatzfeld7 = emptyMLS; BeschreibungZusatzfeld8 = emptyMLS; BeschreibungZusatzfeld9 = emptyMLS; BeschreibungZusatzfeld10 = emptyMLS; }
public void StartScript() { string epjsource = @"C:\Dokumente und Einstellungen\PappD\Desktop\ST10.epj"; string epjtarget = string.Empty; string absPrjName = @"C:\EPLAN_P8\Projects\ST10.elk"; string settings = @"C:\EPLAN_P8\XML\ProjectSettings.xml"; string auswertungen = @"C:\EPLAN_P8\XML\Auswertungen.xml"; Strukturekennzeichen stk = new Strukturekennzeichen("ND01"); MultiLangString beschreibung1 = new MultiLangString(); beschreibung1.SetAsString("de_DE@Beschreibung;en_US@Description;;"); //beschreibung1.AddString(ISOCode.Language.L_de_DE, "Beschreibung"); //beschreibung1.AddString(ISOCode.Language.L_en_US, "Description"); stk.Beschreibung1 = beschreibung1; epjtarget = EpjHandler.WriteEpjFile(epjsource, stk); NewProjectWithIdDescriptions.ImportProjectEPJ(epjtarget, absPrjName); NewProjectWithIdDescriptions.ImportPrjSettings(absPrjName, settings); NewProjectWithIdDescriptions.ImportPrjSettings(absPrjName, auswertungen); NewProjectWithIdDescriptions.OpenProject(absPrjName); new CommandLineInterpreter().Execute("XPrjActionProjectCompleteMasterData"); }
/// <summary> /// Find and replace text /// </summary> /// <param name="search">Searchobject with the given properties</param> /// <param name="searchText">Text to search</param> /// <param name="replaceText">Replacement text</param> /// <param name="project">EPLAN Project</param> public static void SearchAndReplaceText(Search search, string searchText, string replaceText, Project project) { // Init search search.ClearSearchDB(project); search.Project(project, searchText); // Get objects StorableObject[] foundObjects = search.GetAllSearchDBEntries(project); foreach (var foundObject in foundObjects) { // Filter only text objects // EPLAN fix (2.6) T1085938 var existingValues = foundObject.Properties.ExistingValues .Where(p => !p.Definition.IsInternal && (p.Definition.Type == PropertyDefinition.PropertyType.MultilangString || p.Definition.Type == PropertyDefinition.PropertyType.String)).ToList(); List <PropertyValue> existingValuesWithoutEmpty = new List <PropertyValue>(); foreach (var propertyValue in existingValues) { if (propertyValue.Definition.IsIndexed) { foreach (int index in propertyValue.Indexes) { if (!propertyValue[index].IsEmpty) { existingValuesWithoutEmpty.Add(propertyValue[index]); } } } else { if (!propertyValue.IsEmpty) { existingValuesWithoutEmpty.Add(propertyValue); } } } existingValues = existingValuesWithoutEmpty; // Replace foreach (PropertyValue propertyValue in existingValues) { switch (propertyValue.Definition.Type) { // MultiLanguageString case PropertyDefinition.PropertyType.MultilangString: MultiLangString multiLangString = propertyValue; var valueMultiLangString = multiLangString.GetAsString(); if (valueMultiLangString.Contains(searchText)) { string newValue = valueMultiLangString.Replace(searchText, replaceText); // All languages multiLangString.SetAsString(newValue); propertyValue.Set(newValue); } break; // String case PropertyDefinition.PropertyType.String: var value = propertyValue.ToString(); if (value.Contains(searchText)) { string newValue = value.Replace(searchText, replaceText); propertyValue.Set(newValue); } break; } } } }
//Projekteigenschaft auslesen (wird aus Projektinfo.xml ausgelesen) public bool GetProjectProperty( string strProjectPath, int intPropertyID, string strLanguage, out string strProjectProperty) { string strXmlFilename = strProjectPath + @"\Projectinfo.xml"; // Pfad zur Infodatei des Eplan-Projektes string strReadProperty = string.Empty; // Variable fürs Auslesen der Projekteigenschaft bool bolReadSuccessful = false; // Variable Projekteigenschaft wurde gefunden // Prüfen ob Projekt ausgewählt wurde: if (strProjectPath == "") { // Fehlermeldung MessageBox.Show("Fehler: Es wurde kein Eplan-Projekt ausgewählt.", "GetProjectProperty", MessageBoxButtons.OK, MessageBoxIcon.Error); strProjectProperty = string.Empty; //Leerstring zurückgeben return(false); // Rückgabe Fehler } // Prüfen ob Übergabeparameter gültig (Werte zu klein oder zu groß): if ((intPropertyID < 1) | (intPropertyID > 99999)) { // Fehlermeldung MessageBox.Show("Fehler: Übergabeparameter \"intPropertyID\" enthält ungültige Werte: " + intPropertyID, "GetProjectProperty", MessageBoxButtons.OK, MessageBoxIcon.Error); strProjectProperty = string.Empty; //Leerstring zurückgeben return(false); // Rückgabe Fehler } // Text aus Projectinfo.xml des Projektes auslesen XmlTextReader objReader = new XmlTextReader(strXmlFilename); // Diese Datei lesen while (objReader.Read()) // Nächsten Knoten lesen { if (objReader.HasAttributes) // Nur wenn Attribute vorhanden { while (objReader.MoveToNextAttribute()) // Zum nächsten Attribut wechseln { if (objReader.Name == "id") { if (objReader.Value == intPropertyID.ToString()) { strReadProperty = objReader.ReadString(); bolReadSuccessful = true; // Projekteigenschaft wurde gefunden } } } } } objReader.Close(); // Datei wieder schließen (sonst bleibt diese gesperrt) if (!bolReadSuccessful) // Eigenschaft wurde nicht gefunden { // Fehlermeldung MessageBox.Show("Fehler: Die Projekteigenschaft \"" + intPropertyID + "\" wurde nicht gefunden!", "GetProjectProperty", MessageBoxButtons.OK, MessageBoxIcon.Error); strProjectProperty = string.Empty; //Leerstring zurückgeben return(false); // Rückgabe Fehler } // Gegebenenfalls Sprache aus Multilanguage-String herausfiltern... if (strLanguage != "all") // Nur wenn Sprachfilter gewünscht { MultiLangString objMLText = new MultiLangString(); // Multi Language String zur Bearbeitung objMLText.SetAsString(strReadProperty); ISOCode.Language enuLanguage = ISOCode.Language.L___; // Variable für den ISOCode der gewählten Sprache if (!Enum.TryParse("L_" + strLanguage, out enuLanguage)) // Wandlung der Sprachkennung nicht erfolgreich? { // Fehlermeldung MessageBox.Show("Fehler: Übergabeparameter \"strLanguage\" enthält ungültige Werte: " + strLanguage, "GetProjectProperty", MessageBoxButtons.OK, MessageBoxIcon.Error); strProjectProperty = string.Empty; //Leerstring zurückgeben return(false); // Rückgabe Fehler } strReadProperty = objMLText.GetStringToDisplay(enuLanguage); // Einzelne Sprache auslesen } // Erfolgreich gelesene Eigenschaft zurückgeben... strProjectProperty = strReadProperty; return(true); // Rückgabe OK }
//PXF Datei einlesen private void PXFeinlesen(string sFileName) { //Progressbar ein #if !DEBUG Progress oProgress = new Progress("SimpleProgress"); oProgress.SetTitle("Documentation-Tool"); //oProgress.SetActionText("Projektdaten durchsuchen"); oProgress.BeginPart(50, "Projektdaten durchsuchen"); oProgress.ShowImmediately(); #endif //MessageBox.Show("XML.Reader :" + sFileName); ListViewItem objListViewItem = new ListViewItem(); //Wir benötigen einen XmlReader für das Auslesen der XML-Datei XmlTextReader XMLReader = new XmlTextReader(sFileName); //Es folgt das Auslesen der XML-Datei while (XMLReader.Read()) //Es sind noch Daten vorhanden { //Alle Attribute (Name-Wert-Paare) abarbeiten if (XMLReader.AttributeCount > 0) { string sArtikelnummer = string.Empty; string sHersteller = string.Empty; //Es sind noch weitere Attribute vorhanden while (XMLReader.MoveToNextAttribute()) //nächstes { if (XMLReader.Name == "P22001") // Artikel (eingelagert) Artikelnummer) { sArtikelnummer = XMLReader.Value; } if (XMLReader.Name == "P22007") // Artikel (eingelagert) Hersteller) { sHersteller = XMLReader.Value; } if ( XMLReader.Name == "A2082" || // Hyperlink Dokument //XMLReader.Name == "P11058" || // Fremddokument XMLReader.Name == "P22149" || // Artikel (eingelagert) Externes Dokument 1 XMLReader.Name == "P22150" || // Artikel (eingelagert) Externes Dokument 2 XMLReader.Name == "P22151" || // Artikel (eingelagert) Externes Dokument 3 XMLReader.Name == "P22235" || // Artikel (eingelagert) Externes Dokument 4 XMLReader.Name == "P22236" || // Artikel (eingelagert) Externes Dokument 5 XMLReader.Name == "P22237" || // Artikel (eingelagert) Externes Dokument 6 XMLReader.Name == "P22238" || // Artikel (eingelagert) Externes Dokument 7 XMLReader.Name == "P22239" || // Artikel (eingelagert) Externes Dokument 8 XMLReader.Name == "P22240" || // Artikel (eingelagert) Externes Dokument 9 XMLReader.Name == "P22241" || // Artikel (eingelagert) Externes Dokument 10 XMLReader.Name == "P22242" || // Artikel (eingelagert) Externes Dokument 11 XMLReader.Name == "P22243" || // Artikel (eingelagert) Externes Dokument 12 XMLReader.Name == "P22244" || // Artikel (eingelagert) Externes Dokument 13 XMLReader.Name == "P22245" || // Artikel (eingelagert) Externes Dokument 14 XMLReader.Name == "P22246" || // Artikel (eingelagert) Externes Dokument 15 XMLReader.Name == "P22247" || // Artikel (eingelagert) Externes Dokument 16 XMLReader.Name == "P22248" || // Artikel (eingelagert) Externes Dokument 17 XMLReader.Name == "P22249" || // Artikel (eingelagert) Externes Dokument 18 XMLReader.Name == "P22250" || // Artikel (eingelagert) Externes Dokument 19 XMLReader.Name == "P22251" // Artikel (eingelagert) Externes Dokument 20 ) { string[] sValue = XMLReader.Value.Split('\n'); string sDateiname = string.Empty; string sDateiBeschreibung = string.Empty; sDateiname = sValue[0]; //Überprüfen ob Beschreibung vorhanden ist if (sValue.Length == 2) { if (sValue[1] != null && sValue[1] != string.Empty) { sDateiBeschreibung = sValue[1]; #if !DEBUG MultiLangString mlstrDateiBeschreibung = new MultiLangString(); //Nur die deutsche Übersetzung verwenden //String in MultiLanguages wandeln mlstrDateiBeschreibung.SetAsString(sDateiBeschreibung); //Daraus nur die Deutsche übersetzung sDateiBeschreibung = mlstrDateiBeschreibung.GetString(ISOCode.Language.L_de_DE); //Wenn es keine Deutsche gibt, dann die unbestimmte if (sDateiBeschreibung == "") { sDateiBeschreibung = mlstrDateiBeschreibung.GetString(ISOCode.Language.L___); } #endif } } #if !DEBUG sDateiname = PathMap.SubstitutePath(sDateiname); #endif //keine Dokumente die mit HTTP anfangen bearbeiten if (!sDateiname.StartsWith("http")) { objListViewItem = new ListViewItem(); objListViewItem.Name = sDateiname; // Name muß gesetzt werden damit ContainsKey funktioniert objListViewItem.Text = sDateiname; objListViewItem.SubItems.Add(sDateiBeschreibung); //Datei Beschreibung objListViewItem.SubItems.Add(sHersteller); //Hersteller objListViewItem.SubItems.Add(sArtikelnummer); //Artikelnummer objListViewItem.Checked = true; //Prüfen ob Datei vorhanden if (!File.Exists(sDateiname)) { objListViewItem.Checked = false; objListViewItem.ForeColor = System.Drawing.Color.Gray; } //Eintrag in Listview, wenn nicht schon vorhanden if (!listView.Items.ContainsKey(sDateiname)) { listView.Items.Add(objListViewItem); } } } } } } //XMLTextReader schließen XMLReader.Close(); //Spaltenbreite automatisch an Inhaltsbreite anpassen //listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); //Progressbar aus #if !DEBUG oProgress.EndPart(true); #endif return; }