Flower

← Alle Module · Daten & Formate

ini

Liest und bearbeitet INI-Konfigurationsdateien (Abschnitte in eckigen Klammern mit Schlüssel=Wert-Zeilen). Änderungen sind zeilen-erhaltend: Kommentare, Reihenfolge und Formatierung bleiben beim Schreiben unangetastet.

Block-Einstellungen

Gelten für den ganzen Modul-Block (im Editor oben im Inspektor, in YAML direkt unter dem Modulnamen).

FeldTypPflichtBeschreibung
dateiTextjaPfad zur INI-Datei. Wird beim ersten Zugriff in einen Puffer geladen; lesende Aktionen brauchen sie, schreibende Aktionen geben sie zurück. Bei fehlender Datei wird ein leerer Inhalt angenommen.
groß-klein-egalWahrheitBehandelt Abschnitts- und Schlüsselnamen ohne Rücksicht auf Groß-/Kleinschreibung (Windows-INI-Konvention). Standard: ja (true).

Aktionen

lesenlesend

Liest die gesamte INI-Datei als verschachtelte Struktur (Abschnitt zu Schlüssel-Wert-Paaren); abschnittslose Einträge am Dateianfang landen unter dem leeren Abschnittsnamen.

Ausgaben (über ergebnis:)

inhaltObjekt: Abschnittsname zu einer Map aus Schlüssel und Wert (alle Werte als Text).

wert-lesenlesend

Liest einen einzelnen Wert aus einem Abschnitt; fehlt er, wird der Standardwert geliefert.

Eingaben

FeldTypPflichtBeschreibung
schlüsselTextjaName des zu lesenden Schlüssels.
abschnittTextAbschnitt, in dem gesucht wird. Leer oder weggelassen liest aus dem abschnittslosen Bereich am Dateianfang.
standardTextErsatzwert, falls Schlüssel oder Abschnitt nicht existieren. Standard: nichts.

Ausgaben (über ergebnis:)

wertGefundener Wert als Text, sonst der Standardwert.

wert-setzenverändernd

Setzt oder ändert einen Schlüssel; ein fehlender Schlüssel wird ans Abschnitts-Ende gehängt, ein fehlender Abschnitt am Datei-Ende neu angelegt (Änderung im Puffer, danach speichern nötig).

Eingaben

FeldTypPflichtBeschreibung
schlüsselTextjaName des zu setzenden Schlüssels.
wertTextNeuer Wert (Zahl/Wahrheit werden als Text geschrieben). Standard: leer.
abschnittTextZielabschnitt. Leer schreibt in den abschnittslosen Bereich.

schlüssel-entfernenverändernd

Entfernt einen Schlüssel aus einem Abschnitt; wirft einen Fehler, wenn Abschnitt oder Schlüssel nicht existieren (Änderung im Puffer, danach speichern nötig).

Eingaben

FeldTypPflichtBeschreibung
schlüsselTextjaName des zu entfernenden Schlüssels.
abschnittTextAbschnitt, aus dem entfernt wird. Leer betrifft den abschnittslosen Bereich.

existiertlesend

Prüft, ob ein Abschnitt (ohne Schlüssel) oder ein bestimmter Schlüssel in einem Abschnitt vorhanden ist.

Eingaben

FeldTypPflichtBeschreibung
abschnittTextZu prüfender Abschnitt.
schlüsselTextOptionaler Schlüssel. Wird er angegeben, prüft die Aktion auf den Schlüssel statt nur auf den Abschnitt.

Ausgaben (über ergebnis:)

vorhandenWahrheit: ob das Gesuchte existiert.

abschnitt-lesenlesend

Liest alle Schlüssel-Wert-Paare eines Abschnitts als Map; wirft einen Fehler, wenn der Abschnitt fehlt.

Eingaben

FeldTypPflichtBeschreibung
abschnittTextName des zu lesenden Abschnitts. Leer liest den abschnittslosen Bereich.

Ausgaben (über ergebnis:)

werteObjekt: Schlüssel zu Wert (als Text) für den Abschnitt.

abschnitt-entfernenverändernd

Entfernt einen kompletten Abschnitt samt Kopfzeile und allen Einträgen; wirft einen Fehler, wenn der Abschnitt fehlt (Änderung im Puffer, danach speichern nötig).

Eingaben

FeldTypPflichtBeschreibung
abschnittTextjaName des zu entfernenden Abschnitts (darf nicht leer sein).

abschnitte-listelesend

Listet die Namen aller benannten Abschnitte in Dateireihenfolge (der abschnittslose Bereich ist nicht enthalten).

Ausgaben (über ergebnis:)

abschnitteListe der Abschnittsnamen als Text.

schlüssel-listelesend

Listet die Schlüsselnamen eines Abschnitts in Dateireihenfolge; wirft einen Fehler, wenn der Abschnitt fehlt.

Eingaben

FeldTypPflichtBeschreibung
abschnittTextAbschnitt, dessen Schlüssel aufgelistet werden. Leer betrifft den abschnittslosen Bereich.

Ausgaben (über ergebnis:)

schlüsselListe der Schlüsselnamen als Text.

schreibenverändernd

Überschreibt die gesamte Datei aus einer Map (Abschnitt zu Schlüssel-Wert-Paaren) und schreibt sie sofort auf die Festplatte.

Eingaben

FeldTypPflichtBeschreibung
inhaltObjektjaMap aus Abschnittsname zu einer Map von Schlüssel und Wert. Der leere Abschnittsname erzeugt abschnittslose Einträge am Dateianfang.

speichernverändernd

Schreibt den aktuellen, im Puffer geänderten Inhalt zurück in die ursprüngliche Datei.

speichern-unterverändernd

Schreibt den aktuellen Inhalt in eine andere Datei; die Ausgangsdatei bleibt unverändert.

Eingaben

FeldTypPflichtBeschreibung
pfadTextjaZielpfad für die neue Datei (darf nicht leer sein).

Beispiele

Port in der Server-Konfiguration ändern

Liest den aktuellen Port, setzt einen neuen Wert und speichert die Datei zurück; Kommentare und Reihenfolge bleiben erhalten.

ini
wert-lesen
abschnittserver
schlüsselport
ergebnisalter_port
ini
wert-setzen
abschnittserver
schlüsselport
wert9090
- ini:
    datei: "C:\\Programme\\App\\config.ini"
    aktionen:
      - wert-lesen:
          abschnitt: server
          schlüssel: port
          ergebnis: alter_port
      - wert-setzen:
          abschnitt: server
          schlüssel: port
          wert: "9090"
      - speichern: {}

Alle Abschnitte auflisten und einen Wert mit Standard lesen

Holt die Liste der Abschnitte und liest danach einen Timeout-Wert, der bei Fehlen auf 30 zurückfällt.

ini
abschnitte-liste
ergebnisabschnitte
ini
wert-lesen
abschnittclient
schlüsseltimeout
standard30
ergebnistimeout
- ini:
    datei: "\\\\server\\freigabe\\client.ini"
    aktionen:
      - abschnitte-liste:
          ergebnis: abschnitte
      - wert-lesen:
          abschnitt: client
          schlüssel: timeout
          standard: "30"
          ergebnis: timeout