Die Beschreibung der Funktion finden Sie hier.
Für Datenfelder die eine der internen Funktionen "Ordnerauswahl", "Datei öffnen" oder "Datei speichern" besitzen, ist die Funktion automatisch aktiviert. In Textbox-Controls (welche dies nicht bereitstellen) kann in den Eigenschaften die "Scriptklasse" auf den Wert "dyn.NormalizePathTextBox" eingestellt werden um dies zu aktivieren.
Die Konfiguration erfolgt über die Konfigurationsdateien welche in den Konfigurationsverzeichnissen abgelegt sein müssen.
PathNormalization_base.xml
PathNormalization_proj.xml
PathNormalization_vorort.xml
Die Konfigurationsdateien wirken additiv, in einer übergeordneten Version sollten daher nur die abweichenden Anpassungen erfolgen.
Die Konfiguration hat folgenden Aufbau:
<?xml version="1.0" encoding="utf-8"?>
<NormalizationEntryStore xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Entries>
<NormalizationEntry>
<StartsWith>${ARPAPREFIX}\</StartsWith>
<ReplaceBy>${ARPAD1}\</ReplaceBy>
</NormalizationEntry>
<NormalizationEntry>
<StartsWith>${VacosCubeR2_MenuFolder}\</StartsWith>
<ReplaceBy>${VacosCubeR2_MenuFolder}\</ReplaceBy>
</NormalizationEntry>
<NormalizationEntry>
<StartsWith>${SPOOLDIR}\</StartsWith>
<ReplaceBy>${SPOOLDIR}\</ReplaceBy>
</NormalizationEntry>
<NormalizationEntry>
<StartsWith>${PROJ}\</StartsWith>
<ReplaceBy>${PROJ}\</ReplaceBy>
</NormalizationEntry>
<NormalizationEntry>
<StartsWith>${ProjPath}\</StartsWith>
<ReplaceBy>${PROJ}\</ReplaceBy>
</NormalizationEntry>
<NormalizationEntry>
<StartsWith>${ProjPath2}\</StartsWith>
<ReplaceBy>${PROJ}\</ReplaceBy>
</NormalizationEntry>
<NormalizationEntry>
<StartsWith>${ProjPath3}\</StartsWith>
<ReplaceBy>${PROJ}\</ReplaceBy>
</NormalizationEntry>
<NormalizationEntry>
<StartsWith>${Daten}\</StartsWith>
<ReplaceBy>${Daten}\</ReplaceBy>
</NormalizationEntry>
</Entries>
</NormalizationEntryStore>
Über "StartsWith" kann ein Text oder der Inhalt einer Variablen (${Variable}) festgelegt werden, der bei Eingabe durch den nachfolgenden Text ersetzt werden soll.
Ist ReplaceBy leer, wird ein ggf. zuvor definierter, gleichlautender StartsWith Eintrag entfernt.
Die Auswertung der Einträge erfolgt nach Länge des StartWith Eintrags absteigend. Wird eine Übereinstimmung gefunden, erfolgt die Ersetzung genau 1x. Weitere Ersetzungen werden nicht ausgewertet.
Unter "StartsWith" können auch absolute Pfade oder UNC Pfade eingetragen werden. Beachten Sie aber, dass diese dann nicht automatisch auf Veränderungen der Umgebung (Neuinstallation eines Server o.Ä.) reagieren, sondern ggf. angepasst werden müssen.
Bei der Umsetzung in einen normierten Pfad gilt:
Ist das aktuelle Projekt nicht über einen UNC Pfad registriert, so werden eingegebene UNC Pfade zuerst in MappedDrive-Pfade umgesetzt und dann gegen die konfigurierten Einträge geprüft.
Ist das aktuelle Projekt über einen UNC Pfad registriert, so werden eingegebene MappedDrive Pfade zuerst in UNC-Pfade umgesetzt und dann gegen die konfigurierten Einträge geprüft.