Example #1
0
        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());
        }
Example #2
0
    //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
    }