JohannWeiher

Über Johann Weiher

Der Autor hat bisher keine Details angegeben.
Bisher hat Johann Weiher, 535 Blog Beiträge geschrieben.

SetLanguageGui

Anbei ein kleines Script um die Projektsprache komfortabel umzuschalten.

27-12-2012

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 (2585 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");
	}

}

 

Von |2017-11-09T12:23:45+01:002013-01-09|EPLAN, EPLAN-Scripts|

Snowboard Box

Es hätte viele Vorteile einen eigenen Funpark im Garten zu besitzen. Bei uns scheitert es aber meist am Schnee. Dennoch würde es schon Spaß machen am Sonntag bis zu jibben. Aus diesem Grunde hab ich mir eine kleine Box gebaut. Diese dient zum Grinden / Sliden.

 

 

Im Internet hab ich vergeblich nach Vorlagen gesucht, darum hier meine Erfahrungen und verwendeten Komponenten.

Zur Projektseite…

Von |2012-11-28T20:44:35+01:002012-11-28|Projekte|

Snowboard Bank

Wie ihr vielleicht über die Seite Über mich wisst, bin ich begeisterter Snowboardfahrer.

Über die Zeit sammeln sich doch einige Bretter an und beim Wiederverkauf bekommt man oft nicht viel dafür.

In Ratschings hab ich dann mal eine Bierbank gesehen auf der zwei Snowboards verschraubt waren (Sitzbank, Rücklehne). Dies gefiel mir von der Optik her sehr gut. Dennoch ist so eine Bierbank ein bisschen wackelig.

Da wir nach dem Urlaub viel Holz gemacht haben und darunter auch eine Birke war, habe ich diese so geschnitten, dass man Sie als Bank zusammenbauen kann:

  • Rundlinge (2x) als Füße mit V-Schnitt
  • Halbierter Stamm
Ging schnell und schaut schön aus :tongue:

Zur Projektseite…

Von |2017-04-06T07:46:46+02:002012-11-21|Projekte|

SimpleOledDisplay

Da ich mit der Standard Klasse des OLED Display modules nicht so glücklich bin, hab ich einen eigenen Treiber geschrieben.

Folgende Funktionen sind verfügbar:

  • Zeilen schreiben
  • Farbe definieren
Bis jetzt ist nur der SmallFont verfügbar.
Beispiel:
//Setup
SimpleOledDisplay.Display = oledDisplay;
Thread.Sleep(3000);
SimpleOledDisplay.Clear();

// WriteLine
SimpleOledDisplay.Writeline(SimpleOledDisplay.Linenumber.Three, "Hello World", GT.Color.Yellow);
SimpleOledDisplay.Writeline(SimpleOledDisplay.Linenumber.Five, "... and Gadgeteer!", GT.Color.Red);
Thread.Sleep(3000);
SimpleOledDisplay.Clear();

// Write more than one line
SimpleOledDisplay.DefaultTextColor = GT.Color.LightGray;
for (int i = 0; i < SimpleOledDisplay.Lines.Length; i++) {     SimpleOledDisplay.Lines[i] = "Write text in line ==> " + (i + 1);
}
SimpleOledDisplay.WriteAllLines();
Thread.Sleep(3000);
SimpleOledDisplay.Clear();

// Color fade
GT.Color myColor;
for (int i = 0; i < 255; i++)
{
    myColor = GT.Color.FromRGB((byte) i, 0, 0);
    SimpleOledDisplay.Writeline(SimpleOledDisplay.Linenumber.Three, "Hello World", myColor);
}
for (int i = 0; i < 255; i++)
{
    myColor = GT.Color.FromRGB(255, (byte) i, 0);
    SimpleOledDisplay.Writeline(SimpleOledDisplay.Linenumber.Three, "Hello World", myColor);
}
for (int i = 0; i < 255; i++)
{
    myColor = GT.Color.FromRGB(255, 255, (byte) i);
    SimpleOledDisplay.Writeline(SimpleOledDisplay.Linenumber.Three, "Hello World", myColor);
}
Von |2012-11-11T16:44:08+01:002012-11-11|Gadgeteer, NETMF|
Nach oben