11 Dateien öffnen speichern


01 SaveFileDialog
using System;
using System.IO;
using System.Windows.Forms;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

public class _11_Dateien_oeffnen_speichern_01_SaveFileDialog
{
  [Start]
  public void Function()
  {
    string projectPath = PathMap.SubstitutePath("$(PROJECTPATH)");
    string fileName = "Testdatei";

    SaveFileDialog sfd = new SaveFileDialog();
    sfd.DefaultExt = "txt";
    sfd.FileName = fileName;
    sfd.Filter = "Textdatei (*.txt)|*.txt";
    sfd.InitialDirectory = projectPath;
    sfd.Title = "Speicherort für Testdatei wählen:";
    sfd.ValidateNames = true;

    if (sfd.ShowDialog() == DialogResult.OK)
    {
      FileStream fileStream = File.Create(sfd.FileName);
      fileStream.Dispose();
      MessageBox.Show(
        "Datei wurde erfolgreich gespeichert:" + Environment.NewLine +
        sfd.FileName,
        "Information",
        MessageBoxButtons.OK,
        MessageBoxIcon.Information
      );
    }
  }
}


02 OpenFileDialog
using System;
using System.Windows.Forms;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

public class _11_Dateien_oeffnen_speichern_02_OpenFileDialog
{
  [Start]
  public void Function()
  {
    string projectPath = PathMap.SubstitutePath("$(PROJECTPATH)");
    string fileName = "Testdatei";

    OpenFileDialog ofd = new OpenFileDialog();
    ofd.DefaultExt = "txt";
    ofd.FileName = fileName;
    ofd.Filter = "Testdatei (*Testdatei*.txt)|*Testdatei*.txt" +
      "|Alle Dateien (*.*)|*.*";
    ofd.InitialDirectory = projectPath;
    ofd.Title = "Testdatei auswählen:";
    ofd.ValidateNames = true;

    if (ofd.ShowDialog() == DialogResult.OK)
    {
      fileName = ofd.FileName;
      MessageBox.Show("Der Speicherort wurde erfolgreich übergeben:" +
                      Environment.NewLine +
                      fileName,
        "Information",
        MessageBoxButtons.OK,
        MessageBoxIcon.Information
      );
    }
  }
}


03 Dateinamen prüfen
using System;
using System.Windows.Forms;
using Eplan.EplApi.Scripting;

public class _11_Dateien_oeffnen_speichern_03_Dateinamen_pruefen
{
  [Start]
  public void Function()
  {
    string invalidChars = @"[\\/:*?""<>|]";

    MessageBox.Show("Diese Zeichen werden umgewandelt:" + 
      Environment.NewLine + invalidChars,
        "Information",
        MessageBoxButtons.OK,
        MessageBoxIcon.Information);

    invalidChars = AdjustPath(invalidChars);

    MessageBox.Show(invalidChars,
        "Information",
        MessageBoxButtons.OK,
        MessageBoxIcon.Information);
  }

  private string AdjustPath(string input)
  {
    return System.Text.RegularExpressions.Regex.Replace(input,
      @"[\\/:*?""<>|]", "-");
  }
}


04 FileSelectDecisionContext
using System;
using System.IO;
using System.Windows.Forms;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

class _11_Dateien_oeffnen_speichern_04_FileSelectDecisionContext
{
  [Start]
  public void Function()
  {
    string projectPath = PathMap.SubstitutePath("$(PROJECTPATH)");

    // Save
    FileSelectDecisionContext fsdcSave = new FileSelectDecisionContext();
    fsdcSave.Title = "Datei auswählen";
    fsdcSave.OpenFileFlag = false;
    fsdcSave.CustomDefaultPath = projectPath;
    fsdcSave.AllowMultiSelect = false;
    fsdcSave.DefaultExtension = "txt";
    fsdcSave.AddFilter("Textdatei (*.txt)", "*.txt");
    fsdcSave.AddFilter("Alle Dateien (*.*)", "*.*");

    Decider deciderSave = new Decider();
    EnumDecisionReturn decisionSave = deciderSave.Decide(fsdcSave);
    if (decisionSave == EnumDecisionReturn.eCANCEL)
    {
      return;
    }

    string fullFileNameSave = fsdcSave.GetFiles()[0];
    FileStream fileStream = File.Create(fullFileNameSave);
    fileStream.Dispose();
    MessageBox.Show("Datei wurde gespeichert:" + Environment.NewLine +
                    fullFileNameSave);

    // Open
    FileSelectDecisionContext fsdcOpen = new FileSelectDecisionContext();
    fsdcOpen.Title = "Datei auswählen";
    fsdcOpen.OpenFileFlag = true;
    fsdcOpen.CustomDefaultPath = projectPath;
    fsdcOpen.AllowMultiSelect = false;
    fsdcOpen.DefaultExtension = "txt";
    fsdcOpen.AddFilter("Textdatei (*.txt)", "*.txt");
    fsdcOpen.AddFilter("Alle Dateien (*.*)", "*.*");

    Decider deciderOpen = new Decider();
    EnumDecisionReturn decisionOpen = deciderOpen.Decide(fsdcOpen);
    if (decisionOpen == EnumDecisionReturn.eCANCEL)
    {
      return;
    }

    string fullFileNameOpen = fsdcOpen.GetFiles()[0];
    MessageBox.Show("Datei wurde geöffnet:" + Environment.NewLine +
                    fullFileNameOpen);
  }
}