16-05-2012 12-23-10

SetStringSettingExamplePath

1

Anbei ein Beispiel wie man die Settings nutzen kann.

Mit diesem Script kann ein Pfad gesetzt werden. Dieser wird gespeichert und beim erneuten Ausführen des Scriptes geladen.

SetSettingExamplePath (14)

 

private void frmSetSettingExamplePath_Load(object sender, System.EventArgs e)
{
    // Check if setting exists
    if (!oSettings.ExistSetting(SettingPath))
    {
        // Add setting
        oSettings.AddStringSetting(
            SettingPath,
            new string[] {},
            new string[] {},
            "FolderBrowseDialog Path",
            new string[] {@"Default value of test setting"},
            ISettings.CreationFlag.Insert
            );
        // Add setting value
        oSettings.SetStringSetting(SettingPath, Environment.GetFolderPath(Environment.SpecialFolder.Desktop), 0);
        txtPath.Text = oSettings.GetStringSetting(SettingPath, 0);
    }
    else
    {
        // Load values
        txtPath.Text = oSettings.GetStringSetting(SettingPath, 0);
    }
}
 
private void btnPath_Click(object sender, System.EventArgs e)
{
    // Check if directory exists
    if (Directory.Exists(txtPath.Text))
    {
        fbd.SelectedPath = txtPath.Text;
    }
    else
    {
        fbd.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    }
 
    // Set path to setting
    if (fbd.ShowDialog() == DialogResult.OK)
    {
        txtPath.Text = fbd.SelectedPath;
        oSettings.SetStringSetting(SettingPath, fbd.SelectedPath, 0);
    }
}
14-05-2012 12-26-15

SetStringSetting

3

Weiß ja nicht ob ihr es wusstet, ich nicht… Man kann in EPLAN eigene Settings erstellen und dann (wie bekannt) abrufen.

Das ermöglicht einiges im Scripting. So können Pfade, Fensterpositionen, usw. gespeichert werden.

Anbei ein Beispiel um ein String Setting zu erstellen und diesem Werte zuzuweisen.

SetStringSetting (14)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System.Windows.Forms;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;
 
public class SetStringSetting
{
    [Start]
    public void SetStringSettingVoid()
    {
        const string SettingPath = "USER.SCRIPTS.SUPLANUS";
        Eplan.EplApi.Base.Settings oSettings = new Eplan.EplApi.Base.Settings();
 
        // Check if setting exists
        if (oSettings.ExistSetting(SettingPath))
        {
            oSettings.DeleteSetting(SettingPath);
            MessageBox.Show("Setting removed.", SettingPath);
        }
 
        // Add setting
        oSettings.AddStringSetting(
            SettingPath,
            new string[] {},
            new string[] {},
            "My setting from Suplanus",
            new string[] {@"Default value of test setting"},
            ISettings.CreationFlag.Insert
            );
 
        // Add setting values
        oSettings.SetStringSetting(SettingPath, "Message 0", 0);
        oSettings.SetStringSetting(SettingPath, "Message 1", 1);
        oSettings.SetStringSetting(SettingPath, "Message 2", 2);
        MessageBox.Show("Setting OK.", SettingPath);
 
        // Show setting values
        string value = oSettings.GetStringSetting(SettingPath, 1);
        MessageBox.Show("Value of Index " + 1 + ":\n" + value, SettingPath);
    }
}
1336559556_page_add

InsertPageMacro

1

Anbei eine Möglichkeit ein Seitenmakro per Script einzufügen. Diese Action ist nicht von EPLAN dokumentiert.

InsertPageMacro (28)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;
 
public class InsertPageMacro
{
    [Start]
    public void InsertPageMacroVoid()
    {
        string strFilename = @"C:\test.emp";
 
        ActionCallingContext oAcc = new ActionCallingContext();
        CommandLineInterpreter oCLI = new CommandLineInterpreter();
 
        oAcc.AddParameter("filename", strFilename);
        oCLI.Execute("XMInsertPageMacro", oAcc);
    }
}
Gehe zum Anfang