Anbei ein kleines Script um die Projektsprache komfortabel umzuschalten.
Ich hatte erst versucht ein dynamisches Menü zu machen, leider funktioniert dies aufgrund der eingeschränkten Funktionalität in EPLAN nicht.
Die Auflistung zeigt nur die im Projekt eingestellten Sprachen.
SetLanguageGui (1825 Downloads )
[DeclareAction("SetLanguageGui")]
public void Function()
{
SetLanguageGui frm = new SetLanguageGui();
frm.ShowDialog();
return;
}
private void SetLanguageGui_Load(object sender, System.EventArgs e)
{
string ActionReturnParameterValue = string.Empty;
// Languagelist
oCLI.Execute("GetProjectLanguages", acc);
acc.GetParameter("LANGUAGELIST", ref ActionReturnParameterValue);
string[] ProjectLanguages = ActionReturnParameterValue.Split(';');
// VariableLanguage
oCLI.Execute("GetVariableLanguage", acc);
acc.GetParameter("LANGUAGELIST", ref ActionReturnParameterValue);
string VariableLanguage = ActionReturnParameterValue;
// Add languages
foreach (string CurrentLanguage in ProjectLanguages)
{
if (CurrentLanguage != "")
{
ListViewItem liviItem = new ListViewItem();
// Check if current language
if (CurrentLanguage.Equals(VariableLanguage))
{
liviItem.Selected = true;
}
liviItem.Text = CurrentLanguage;
// LanguageMapping
foreach(string line in EplanLanguageList)
{
if(line.StartsWith(CurrentLanguage))
{
if (line.Split(';').Length > 1) liviItem.SubItems.Add(line.Split(';')[1]);
}
}
liviLanguages.Items.Add(liviItem);
}
}
// Sort & resize
liviLanguages.Sorting = SortOrder.Ascending;
liviLanguages.Sort();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void liviLanguages_MouseDoubleClick(object sender, MouseEventArgs e)
{
SetLanguage();
}
private void btnOk_Click(object sender, EventArgs e)
{
SetLanguage();
}
private void SetLanguage()
{
if (liviLanguages.SelectedItems.Count > 0)
{
string CurrentLanguage = liviLanguages.SelectedItems[0].Text;
// Bug
//acc.AddParameter("varLANGUAGE", CurrentLanguage);
//acc.AddParameter("dispLANGUAGE", CurrentLanguage);
//oCLI.Execute("ChangeLanguage", acc);
oCLI.Execute("ChangeLanguage /varLANGUAGE:" + CurrentLanguage + " /dispLANGUAGE:\"" + CurrentLanguage + ";\"");
this.Close();
}
else
{
MessageBox.Show("Keine Sprache gewählt");
}
}
[…] « SetLanguageGui […]
Johann, respect man
Hi, das Script funktioniert bei mir, allerdings sind keine Projektsprachen zur Auswahl. Welche Einstellung benötigt ich noch? Danke für Eure Hilfe
Welche Version nutzt du?
Eplan P8 V2.2
Hast du das MultilanguageTool_v21 installiert?
Bekommst du Systemmeldungen?
Hi,
leider bin ich auf Grund von Kundenvorgaben gezwungen mit P8 V2.1.6 zu arbeiten.
Aber über Action XSettingsImport müsste das doch ganz einfach gehen habe jedoch dabei ein Problem.
public class Anzeigesprache_DEU
{
[DeclareAction(“Anz_DEU”)]// In Gänsefüßchen steht der Name der Action die EPLAN über den Button aufruft
public void BeschriftungVoid( )
{ //String strProjectName, String strSettingsFolder, Int32 nImportSettings, Int32 nCompleteProject, String strSelectionFilter
// Projektverzeichnis laden
string ProjectFullName = PathMap.SubstitutePath(“$(P)”); // Projektpfad + Projektname + Erweiterung
string sProjectName = PathMap.SubstitutePath(“$(PROJECTNAME)”);
string Projectpath = PathMap.SubstitutePath(“$(PROJECTPATH)”); // Projektpfad
Projectpath = Projectpath.Substring(0, Projectpath.LastIndexOf(“\\”)); // Pfad zur Projektdatei
string sDatum = DateTime.Now.ToString(“yyyyMMdd”);
bool bResult = true;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Projeknummer KUNDE hier global ändern
string sProNr = “P-03226_”;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Anzeigesprache Deutsch
XSettingsImport
/XMLFile:d:\Zeugs\Dropbox\Programme\EPLAN\Projekteinstellungen\TransGer.xml
/node:PROJECT.TRANSLATEGUI
progress.EndPart(true);
}
}
Hat sicher erledigt. So viel zum Thema das Rad neu erfinden….
Aber nochmal ein Lob an dich und diese Seite!
Wie lässt man das Script ausführen bzw. bekommt einen Button den man drückt ??????
Script laden ist kein Problem
Das Script ist veraltet, somit dürfte es nicht mehr funktionieren.
Du kannst es aufrufen wenn du eine Toolbar mit folgender Befehlszeile erstellst: SetLanguageGui