# Struktur editierbarer Einstellungsdateien,  Editieren im allgemeinen Text-Editor

Das Editieren der Dateien kann auch außerhalb des Programmsystems in einem üblichen Text-Editor stattfinden. Änderungen werden in der Projektverwaltung oder im Bauwerk nicht automatisch geladen. Daher sind folgende Vorgehensweisen einzuhalten:

* Zum Editieren der Datei sollte die aufrufende Funktion in der Projektverwaltung oder dem Bauwerk verlassen werden.
* Beim Aufruf der Funktion, die die editierbare Einstellungsdatei verwendet, wird diese auch neu geladen.
* Standard - Funktionen aus *Einstellungen verwalten* sind nur zu verwenden, wenn die Einstellungsdatei nicht in einem Text-Editor geöffnet ist.\
  Anmerkung: Leider ist es nicht immer möglich festzustellen, dass eine Datei gerade geöffnet ist, da z.B. Notepad++ automatisch nur eine Kopie der Datei öffnet.

&#x20;

Hier sind jegliche Fehleingaben möglich, die durch das Programm nicht abgefangen werden können. Die Datei kann unbenutzbar werden. **Deshalb sollten nur versierte Anwender diese Dateien mit einem allgemeinen Text-Editor editieren.**

### Struktur und Inhalte editierbarer Einstellungsdateien

In editierbaren Einstellungsdateien befinden sich Strukturen und Bereiche, die im Editor verändert werden können und solche, die nicht verändert werden sollten. In vielen dieser Dateien finden sich in entsprechenden Einträgen und Kommentaren Hinweise zu Zweck und Inhalten der Datei.

Wird als Text eine Referenz in der Form #123 (Lattenkreuz mit Nummer) angegeben, so ist das die Referenz auf die Zeilennummer in der Editdsi1.frg.

Die Dateien sind in Datenbereiche, sogenannte *sections* aufgeteilt. Jede section beginnt mit einem Eintrag in eckigen Klammern und endet mit demselben Eintrag ergänzt um das Wort ENDSEC:

`[`*`SECTION NAME`*`]`

`...`

`[`*`SECTION NAME`*` ``ENDSEC]`

Innerhalb der *section* besteht jede Zeile aus Kennwort - Gleichheitszeichen - Wert. Danach kann durch doppelten Schrägstrich abgetrennt ein Kommentar folgen.

*`Kennwort`*` ``=`` `*`Wert`*

*`Kennwort`*` ``=`` `*`Wert`*`//`*`Kommentar`*

&#x20;

### Struktur-Version der Datei, \[VERSION]

Bearbeitbarkeit: Nicht ändern!

In der *section* VERSION befindet sich die Kennung für die Struktur-Version der Datei. Das Programm benötigt diese Information, um die Datei richtig verarbeiten zu können. Dies ist nicht die Version ihrer Daten. Diese *section* darf nicht geändert werden.

Beispiel:

`[VERSION]`

`Version=1.1`

`[VERSION ENDSEC]`

### Gruppen, \[CATEGORY]

Bearbeitbarkeit: Bevorzugt mit *Einstellungen verwalten* bearbeiten.

Die *section* CATEGORY enthält die Namen und Reihenfolge der Gruppen. Die Kennwörter enden mit einer Nummer, die der Reihenfolge entspricht. Nach dem Gleichheitszeichen folgt der Name der Gruppe:

Beispiel:

`[CATEGORY]`

`CategoryName1=`*`group abc`*

`CategoryName2=`*`group 123`*

`[CATEGORY ENDSEC]`

### Informationen zur Datei, \[FILE INFO]

Die *section* FILE INFO enthält Informationen zur Datei und den Daten, die darin definiert werden. Hier befinden sich wertvolle Hinweise zu den Daten und Regeln in der Datei.

Wird als Text eine Referenz in der Form #123 (Lattenkreuz mit Nummer) angegeben, so ist das die Referenz auf die Zeilennummer in der Editdsi1.frg. Im Dialog zum Editieren der editierbaren Einstellungsdateien werden die Texte aus der frg (Sprachdatei) angezeigt.

Den Kennwörtern FileDescription\_1 bis FileDescription\_5 können bis zu 5 Zeilen Text zugewiesen werden.

Beispiel:

`[FILE INFO]`

`FileDescription_1=`*`Beschreibung der Datei`*

`FileDescription_2=`*`max. 5 lines`*

`FileDescription_3=`*`#123`*

`[FILE INFO ENDSEC]`

### Information zu den sections, \[SECTION INFORMATION]

Bearbeitbarkeit: Information muss für jede *section* vorhanden sein! Hinweise bei den einzelnen Einträgen beachten!

Alle Einstellungen der Datei enthalten dieselben *sections*. System-Informationen sind für alle diese *sections* gleich, unabhängig in welcher Einstellung sie stehen. Deshalb werden diese Informationen in dieser vorgelagerten *section* festgehalten. Einstellungen müssen nicht alle diese *sections* enthalten, können aber nur *sections* enthalten, die hier definiert wurden.

Die *section* SECTION INFORMATION enthält alle *sections*, die in den Einstellungen verwendbar sind. Zu jeder *section* gibt es Informationstexte, den SectionsType und den Verweis auf ein Hilfsbild:

**Line1 .. Line5**

Bis zu fünf Zeilen Erklärungstext zum Inhalt der *section*. Hier stehen wertvolle Hinweise für das Editieren der Datei. Wird als Text eine Referenz in der Form #123 (Lattenkreuz mit Nummer) angegeben, so ist das die Referenz auf die Zeilennummer in der Editdsi1.frg. Im Dialog zum Editieren der editierbaren Einstellungsdateien werden die Texte aus der frg (Sprachdatei) angezeigt.

**SectionType**

Es werden 3 Typen von *sections* unterschieden: FILTER, FREE, FIX

***FILTER***      Das Kennwort vor dem Gleichheitszeichen beschreibt eine Auswahl von Ausführungen (Wand, Decke, Dachfläche) oder eine Auswahl von Identnummern.

Folgende Auswahlbeschreibungen sind möglich:\
\&#xNAN;*ABC123*  der ganze Name lautet ABC123\
\&#xNAN;*ABC*\*    der Name beginnt mit ABC\
\**ABC*    der Name endet mit ABC\
\**ABC*\*   ABC befindet sich irgendwo im Namen.

In diese *section* können beliebig viele Einträge gemacht werden. Die übergeordnete Funktion bestimmt ob alle zutreffenden Einträge, nur der erste oder nur der letzte verwendet wird.

***FREE***         Das Kennwort vor dem Gleichheitszeichen kann frei vergeben werden. Das können z.B. Anwendervariablen sein.

In diese *section* können beliebig viele Einträge gemacht werden.

***FIX***           Die Kennwörter vor dem Gleichheitszeichen und deren Anzahl ist festgelegt. In diesen *sections* sind die möglichen Kennwörter bereits eingetragen. Es können keine weiteren ergänzt werden. Kennwörter, die nicht verwendet werden, sollten einfach ohne zugewiesenen Wert stehen bleiben.

ReferenceImagePath  Verweis auf ein Hilfsbild. Dies wird im Dialog zum Editieren der editierbaren Einstellungsdateien angezeigt.

&#x20;Beispiel:

&#x20;`[SECTION INFORMATION]`

`[`*`SECTION A`*`]`

`Line1=Text for section A`

`Line2=max. 5 lines`

`Line3=#123`

`SectionType=FILTER`

`ReferenceImagePath=%DHPABB%\GWE___04.bmp`

`[`*`SECTION A`*` ``ENDSEC]`

`[`*`SECTION B`*`]`

`..`

`[`*`SECTION B`*` ``ENDSEC]`

`..`

`[SECTION INFORMATION ENDSEC]`

&#x20;

### Einstellungen, \[DATASET EDITDSI]

Die eigentlichen Einstellungen werden in den sections DATASET EDITDSI definiert.

* Für jede Einstellung gibt es eine solche *section*. Der *section* Name ist dabei immer gleich, enthält also keine fortlaufende Nummer oder den Namen der Einstellung.
* Die Anzeigereihenfolge der Einstellungen entspricht der Reihenfolge in der Datei.

&#x20;

`[DATASET EDITDSI]`

`...`

`[DATASET EDITDSI ENDSEC]`

`[DATASET EDITDSI]`

`...`

`[DATASET EDITDSI ENDSEC]`

&#x20;

Jede der Einstellungen enthält zuerst die Informationen zu der Einstellung:

**Name**                         Der Name der Einstellung mit dem sie in *Einstellungen Auswahl* angezeigt wird. Die Namen der Einstellungen in einer Datei müssen eindeutig sein; kein Name darf doppelt vergeben werden.

**CategoryName**            Gruppe zu der die Einstellung gehört. Mögliche Gruppen sind in der *section* CATEGORY aufgeführt.

**ReferenceImagePath**  Verweis auf ein Hilfsbild. Dieses wird in *Einstellungen Auswahl* angezeigt und kann sehr hilfreich für den Bediener sein.

Die Zuordnung des Hilfsbildes sollte in *Einstellungen verwalten* geschehen, da hier die möglichen Bezüge in den Pfaden automatisch eingetragen werden.

&#x20;

Danach folgen die eigentlichen Daten-*sections*. Diese wurden weiter oben in der *section* \[SECTION INFORMATION] definiert.

&#x20;

Der Kommentar zu der Einstellung wird in der letzten *section* in dieser Einstellung festgehalten: \[DATASET EDITDSI MULTILINE\_STRING] Mit den Kennwörtern Line1 bis Line5 können bis zu 5 Zeilen Kommentartext angegeben werden. Dieser wird in *Einstellungen Auswahl* angezeigt und kann sehr hilfreich für den Bediener sein. Der Kommentar kann auch in *Einstellungen verwalten* eingegeben werden.

&#x20;Beispiel:

&#x20;`[DATASET EDITDSI]`

`Name=`*`Dataset one`*

`CategoryName=`*`group abc`*

`ReferenceImagePath=%DHPABB%\DietrichsLogo.png`

`[`*`SECTION A`*`]`

`AW*=(WL<12.0[m])`*`//use double slash for commentary`*

`[`*`SECTION A`*` ``ENDSEC]`

`[`*`SECTION B`*`]`

`..`

`[`*`SECTION B`*` ``ENDSEC]`

`..`

`[DATASET EDITDSI MULTILINE_STRING]`

`Line1=`*`Text for setting Dataset one`*

`Line2=`*`max. 5 lines`*

`[DATASET EDITDSI MULTILINE_STRING ENDSEC]`

`[DATASET EDITDSI ENDSEC]`

&#x20;

### Datenzeilen

Innerhalb der Daten *section* besteht jede Zeile aus Kennwort - Gleichheitszeichen - Wert. Danach kann durch doppelten Schrägstrich abgetrennt ein Kommentar folgen.

*Kennwort* = *Wert*

*Kennwort* = *Wert*//*Kommentar*

Die Möglichkeiten und Bedeutungen für die Kennwörter und Werte ist abhängig von der Funktion, die diese Daten verarbeitet. In der Datei befinden sich dazu entsprechende Hinweise in den sections \[FILE INFO] und \[SECTION INFORMATION].

Der Kommentar wird bei vorgegebenen Kennwörtern oft für eine Definition des Kennwortes genutzt. Bei selbst definierten Kennwörtern oder Anwendervariablen sollte der Kommentar ebenfalls für eine Beschreibung genutzt werden, da es eine spätere Bearbeitung erheblich erleichtert.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dietrichs.com/das-variablensystem/editierbare-einstellungsdateien/struktur-editierbarer-einstellungsdateien-editieren-im-allgemeinen-text-editor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
