Пример #1
0
        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()));
        }
Пример #5
0
        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;
        }
Пример #6
0
        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");
        }
Пример #7
0
        /// <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;
                    }
                }
            }
        }
Пример #8
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
    }
    //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;
    }