public static string GetISOStringValue(MultiLangString multiLangString) { string sLang = "ko_KR"; ISOCode isoCode = new ISOCode(sLang); ISOCode.Language language = isoCode.GetNumber(); string value = multiLangString.GetString(language); return(value.Trim()); }
//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 }