Archiv für das Jahr: 2015

NewTranslationInstance

Wir haben ein neues kostenloses Script im ShopForProcess:

NewTranslationInstance

NewTranslationInstance_Woerterbuch

Mit NewTranslationInstance haben Sie die Möglichkeit das Wörterbuch in einer eigenen Instanz zu öffnen. Sie können so den Dialog für das Wörterbuch immer geöffnet haben und gleichzeitig in Ihrem Projekt weiterarbeiten. Dadurch sind andere Fenster und Dialoge in EPLAN nicht mehr blockiert.

Von |2015-10-26T15:09:10+01:002015-10-26|EPLAN|

PlaceHolderTranslateAction

Frank hat ein super Script geschrieben, mit dem es möglich ist Platzhalter zu Übersetzen.

Vielen Dank.

// PlaceHolderTranslateAction.cs
//
// Erweitert das Kontextmenü vom Platzhalterobjekt (Reiter Werte) um den Menüpunkt "Übersetzen"
// und um den Menüpunkt "Übersetzungen entfernen"
//
// Copyright by Frank Schöneck, 2015
// letzte Änderung:
// V1.0.0, 23.10.2015, Frank Schöneck, Projektbeginn
//
// für Eplan Electric P8, ab V2.5
//

using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;

namespace EplanScriptingProjectBySuplanus.PlaceHolderTranslateAction
{
    public class PlaceHolderTranslate
    {
        [DeclareMenu]
        public void PlaceHolderTranslateContextMenu()
        {
            //Context-Menüeintrag (hier im Platzhalterobjekt)
            Eplan.EplApi.Gui.ContextMenu oContextMenu = new Eplan.EplApi.Gui.ContextMenu();
            Eplan.EplApi.Gui.ContextMenuLocation oContextMenuLocation = new Eplan.EplApi.Gui.ContextMenuLocation("PlaceHolder", "1004");
            oContextMenu.AddMenuItem(oContextMenuLocation, "Übersetzen", "PlaceHolderTranslateAction", false, false);
            oContextMenu.AddMenuItem(oContextMenuLocation, "Übersetzungen entfernen", "PlaceHolderTranslateDeleteAction", false, false);
        }

        [DeclareAction("PlaceHolderTranslateAction")]
        public void PlaceHolderTranslate_Action()
        {
            //Übersetzen
            new CommandLineInterpreter().Execute("EnfTranslateEditAction");
        }

        [DeclareAction("PlaceHolderTranslateDeleteAction")]
        public void PlaceHolderTranslateDelete_Action()
        {
            //Übersetzungen entfernen
            new CommandLineInterpreter().Execute("EnfDeleteEditTranslationsAction");
        }

    }
}

Download auf GitHub

Von |2018-08-17T12:30:17+02:002015-10-23|EPLAN, EPLAN-Scripts|

Contextmenu-Actions

Aufgrund des Scriptes ConnectionPointDesignationReverse habe ich mal die Actions im Kontextmenü getestet. Anbei meine gefunden Actions mit Beschreibung.

Diese Aktionen können in Textfeldern verwendet werden. Übersetzung nur in Multilanguage-Eigenschaften verfügbar.

Kopieren
GfDlgMgrActionIGfWind /function:Copy

Ausschneiden
GfDlgMgrActionIGfWind /function:Cut

Einfügen
GfDlgMgrActionIGfWind /function:Paste

Alles markieren
GfDlgMgrActionIGfWind /function:SelectAll

Zeilenumbruch einfügen
GfDlgMgrActionIGfWind /function:InsertLineFeed

Sonderzeichen Einfügen
GfDlgMgrActionIGfWind /function:SpecialCharacterDlg

Text Löschen
GfDlgMgrActionIGfWindDelete

Mehrzeilige Eingabe
GfDlgMgrActionIGfWind /function:MultiLineDlg

Mehrsprachige Eingabe
GfDlgMgrActionIGfWind /function:MultiLanguageDlg

Übersetzen
EnfTranslateEditAction

Übersetzung Entfernen
EnfDeleteEditTranslationsAction

Nicht zu übersetzenden Text kennzeichnen
EnfSetNotTranslateAction

Kennzeichnung entfernen (“Nicht übersetzen”)
EnfDeleteNotTranslateAction

Von |2017-11-09T11:22:19+01:002015-10-02|EPLAN, EPLAN-Scripts|

ConnectionPointDesignationReverse

Frank Schöneck hat wieder ein super Script geschrieben um Anschlussbezeichnungen zu drehen.
Das Script ist im Kontextmenü ausführbar. Vielen Dank!

P8_20151001_01 P8_20151001_02

Download auf GitHub

// ConnectionPointDesignationReverse.cs
//
// Erweitert das Kontextmenü von 'Anschlussbezeichnungen',
// im Dialog 'Eigenschaften (Schaltzeichen): Allgemeines Betriebsmittel',
// um den Menüpunkt 'Reihenfolge drehen'.
// Es wird die Eingabe im Feld 'Anschlussbezeichnungen' automatisch gedreht.
//
// Copyright by Frank Schöneck, 2015
// letzte Änderung:
// V1.0.0, 04.03.2015, Frank Schöneck, Projektbeginn
//
// für Eplan Electric P8, ab V2.3

using System;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

public class ConnectionPointDesignationReverse
{

	[DeclareMenu]
	public void ProjectCopyContextMenu()
	{
		//Context-Menüeintrag
		string menuText = getMenuText();
		Eplan.EplApi.Gui.ContextMenu oContextMenu = new Eplan.EplApi.Gui.ContextMenu();
		Eplan.EplApi.Gui.ContextMenuLocation oContextMenuLocation = new Eplan.EplApi.Gui.ContextMenuLocation("XDTDataDialog", "4006");
		oContextMenu.AddMenuItem(oContextMenuLocation, menuText, "ConnectionPointDesignationReverse", true, false);
	}

	[DeclareAction("ConnectionPointDesignationReverse")]
	public void Action()
	{
		try
		{
			string sSourceText = string.Empty;
			string sReturnText = string.Empty;
			string EplanCRLF = "¶";

			//Zwischenablage leeren
			System.Windows.Forms.Clipboard.Clear();

			//Zwischenablage füllen
			CommandLineInterpreter oCLI = new CommandLineInterpreter();
			oCLI.Execute("GfDlgMgrActionIGfWind /function:SelectAll"); // Alles markieren
			oCLI.Execute("GfDlgMgrActionIGfWind /function:Copy"); // Kopieren

			if (System.Windows.Forms.Clipboard.ContainsText())
			{
				sSourceText = System.Windows.Forms.Clipboard.GetText();
				if (sSourceText != string.Empty)
				{
					string[] sAnschlussbezeichnungen = sSourceText.Split(new string[] { EplanCRLF }, StringSplitOptions.None);

					if (sAnschlussbezeichnungen.Length > 2) // Mehr als 2 Anschlussbezeichnungen
					{
						Decider eDecision = new Decider();
						EnumDecisionReturn eAnswer = eDecision.Decide(EnumDecisionType.eYesNoDecision,
							"Sollen die Anschlussbezeichnungen paarweise gedreht werden?",
							"Reihenfolge drehen",
							EnumDecisionReturn.eYES,
							EnumDecisionReturn.eYES,
							"ConnectionPointDesignationReverse",
							true,
							EnumDecisionIcon.eQUESTION);

						if (eAnswer == EnumDecisionReturn.eYES)
						{
							// String neu aufbauen
							for (int i = 0; i < sAnschlussbezeichnungen.Length; i = i + 2)
							{
								sReturnText += sAnschlussbezeichnungen[i + 1] + EplanCRLF + sAnschlussbezeichnungen[i] + EplanCRLF;
							}
						}
						else
						{
							// String Array drehen
							Array.Reverse(sAnschlussbezeichnungen);

							// String neu aufbauen
							foreach (string sAnschluss in sAnschlussbezeichnungen)
							{
								sReturnText += sAnschluss + EplanCRLF;
							}
						}
					}
					else // Nur 2 Anschlussbezeichnungen
					{
						// String Array drehen
						Array.Reverse(sAnschlussbezeichnungen);

						// String neu aufbauen
						foreach (string sAnschluss in sAnschlussbezeichnungen)
						{
							sReturnText += sAnschluss + EplanCRLF;
						}
					}

					// letztes Zeichen wieder entfernen
					sReturnText = sReturnText.Substring(0, sReturnText.Length - 1);

					//Zwischenablage einfügen
					System.Windows.Forms.Clipboard.SetText(sReturnText);
					oCLI.Execute("GfDlgMgrActionIGfWind /function:SelectAll"); // Alles markieren
					oCLI.Execute("GfDlgMgrActionIGfWindDelete"); // Löschen
					oCLI.Execute("GfDlgMgrActionIGfWind /function:Paste"); // Einfügen
				}
			}
		}
		catch (System.Exception ex)
		{
			MessageBox.Show(ex.Message, "Reihenfolge drehen, Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
		}
		return;
	}

	// Returns the menueitem text in the gui langueage if available.
	private string getMenuText()
	{
		MultiLangString muLangMenuText = new MultiLangString();
		muLangMenuText.SetAsString(
			"de_DE@Reihenfolge drehen;" +
			"en_US@rotate order;"
			);

		ISOCode guiLanguage = new Languages().GuiLanguage;
		return muLangMenuText.GetString((ISOCode.Language)guiLanguage.GetNumber());
	}

}

 

Von |2015-10-01T15:22:09+02:002015-10-01|EPLAN|

.io Domain

Mit den Emailadressen das ist immer so eine Sache… Seit Jahren betreibe ich meinen eigenen Mailserver auf den unterschiedliche Domains aufgeschalten sind.

Aber dennoch musste ich meine aller erste Emailadresse bei GMX immer aktiv halten, da viele Leute noch auf diese Adresse schreiben. Die Werbung und die nicht vorhandene Kontrolle über mein Postfach zwangen mich aber dazu den Schritt zu wagen und die Emailadresse auf Eis zu legen. Sie läuft jetzt auf ein GMAIL Konto welches ich ab und zu mal abrufe.

Man fühlt sich richtig befreit und der Spam ist viel weniger… GMX spamt ja selbst die User zu, mit fast täglichen Emails.

Hatte bereits eine Email für mich privat unter der Suplanus Domain eingerichtet… aber netter wäre doch eine mit meinem Namen :)

Da Weiher.de schon weg ist und nur durch unverschämt hohen Preis zu erwerben wäre habe ich mich mir die neuen Domain angeschaut: Es hat mir aber keine so richtig zugesagt.

Aus diesem Grund habe ich mir eine .io-Domain geholt. Leider sind diese relativ teuer, zumindest bei den deutschen Hostern. Mein Domain-Hoster ist Hosteurope, Daten liegen aber auf Uberspace.

Ich bin auf die Suche gegangen und habe Preise verglichen. Mit Gandi.net hat man einen fairen Preis, vor allem wenn man wie ich gleich einen Mehrjahresplan aufstellt.

Soll keine Werbung sein, sondern eine Empfehlung wenn jemand in der Richtung was sucht.

2015-09-29_09-45-43

 

Von |2015-09-29T09:49:26+02:002015-09-29|Allgemein|
Nach oben