public static string GetMuLanStringToDisplay(string mulangString)
        {
            MultiLangString mls = new MultiLangString();

            mls.SetAsString(mulangString);
            return(mls.GetStringToDisplay(LANGUAGE));
        }
Ejemplo n.º 2
0
        public static int GetActiveEplanVersion()
        {
            string eplanVersion = "0"; //default value = 0 to ensure, that EPLAN-version is correctly recognized

            //try new variable $(EPLAN_VERSION) first, if not valid, no possibility to get active get active EPLAN-version
            if (PathMap.SubstitutePath("$(EPLAN_VERSION)") != "$(EPLAN_VERSION)")
            {
                eplanVersion = PathMap.SubstitutePath("$(EPLAN_VERSION)");
            }
            else
            {
                //try different method to get version of executing eplan, in case the actual version doesn't support $(EPLAN_VERSION)
                string   dllFilename = Path.Combine(PathMap.SubstitutePath("$(BIN)"), "Eplan.EplApi.Baseu.dll");
                FileInfo fileInfo    = new FileInfo(dllFilename);
                if (fileInfo.Exists)
                {
                    var versionInfo = FileVersionInfo.GetVersionInfo(dllFilename);
                    //return main-version-infos (without build number)
                    if (versionInfo.ProductVersion.Length >= 5)
                    {
                        eplanVersion = versionInfo.ProductVersion.Substring(0, 5);
                    }
                }
            }

            if (eplanVersion == "0" || eplanVersion == "$(EPLAN_VERSION)")
            {
                MultiLangString multiLangErrorText = new MultiLangString();
                multiLangErrorText.AddString(ISOCode.Language.L_de_DE, "Die aktuelle EPLAN-Version konnte nicht ermittelt werden.");
                multiLangErrorText.AddString(ISOCode.Language.L_en_US, "Unable to get actual EPLAN-version.");
                ISOCode.Language guiLanguage = new Languages().GuiLanguage.GetNumber();
                string           errorText   = multiLangErrorText.GetStringToDisplay(guiLanguage);
                if (String.IsNullOrEmpty(errorText))
                {
                    //if actual GUI-language is not defined in multi-language-string, use en_US-text-version
                    errorText = multiLangErrorText.GetStringToDisplay(ISOCode.Language.L_en_US);
                }
                new BaseException(errorText, MessageLevel.Warning).FixMessage();
                eplanVersion = "0";
            }
            return(Convert.ToInt16(eplanVersion.Replace(".", string.Empty)));
        }
Ejemplo n.º 3
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
    }