====== Vega.Files — Dateien und Pfade für die VCL ====== Textdateien laden und sichern, Verzeichnisse lesen, Pfade zerlegen. Eigene Unit statt Methoden auf [[lyx_-_programmiersprache:vega:controls:tstringlist|TStringList]]: [[lyx_-_programmiersprache:vega:units:lists|Vega.Lists]] soll nichts vom Dateisystem wissen — eine Liste ist ein Datentyp, kein Dateiformat, und ein Programm, das nur zeichnet, muss ''std.fs'' nicht mitziehen. Quelldatei: ''Vega/Files.lyx'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|Vega VCL]] ---- ===== Klassen ===== ^ Klasse ^ Basis ^ Zweck ^ | ''TDirectoryListing'' | — | Der gelesene Inhalt eines Verzeichnisses | | ''TFileEntry'' | — | Ein Eintrag eines Verzeichnisses: Name, Art, Größe | ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Bedeutung ^ | ''VEGA_MAX_FILE'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''16777216'' | Größte Datei, die am Stück gelesen wird | | ''VEGA_PATH_MAX'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''4096'' | Längster Pfad | ===== Freie Funktionen ===== ^ Signatur ^ Zweck ^ | ''LoadBufferFromFile(dst: TTextBuffer, path: pchar): bool'' | Datei in einen Textpuffer laden | | ''SaveBufferToFile(src: TTextBuffer, path: pchar): bool'' | Textpuffer in eine Datei schreiben | | ''LoadStringsFromFile(list: TStringList, path: pchar): bool'' | Datei zeilenweise in eine Liste laden | | ''SaveStringsToFile(list: TStringList, path: pchar): bool'' | Liste zeilenweise in eine Datei schreiben | | ''CurrentDirectory(dst: TTextBuffer): void'' | Arbeitsverzeichnis | | ''HomeDirectory(dst: TTextBuffer): void'' | Persönliches Verzeichnis des Benutzers | | ''JoinPath(dst: TTextBuffer, a: pchar, b: pchar): void'' | Zwei Pfadteile mit Trenner zusammensetzen | | ''ParentDirectory(dst: TTextBuffer, path: pchar): void'' | Übergeordnetes Verzeichnis | | ''BaseName(dst: TTextBuffer, path: pchar): void'' | Letzter Teil des Pfades, mit Endung | | ''StemOf(dst: TTextBuffer, path: pchar): void'' | Letzter Teil ohne Endung | | ''ExtensionOf(dst: TTextBuffer, path: pchar): void'' | Endung **mit** Punkt (''".ttf"'') | | ''MatchesPattern(name: pchar, pattern: pchar): bool'' | Passt der Name auf ein Muster wie ''*.txt'' | ---- ===== Zu beachten ===== * ''ExtensionOf'' liefert die Endung **mit** Punkt — beim Vergleich also ''".png"'', nicht ''"png"''. * Alle Funktionen schreiben in einen übergebenen [[lyx_-_programmiersprache:vega:controls:ttextbuffer|TTextBuffer]], statt Speicher zurückzugeben: so entscheidet der Aufrufer über Anlegen und Freigeben. * ''MatchesPattern'' kennt ''*'' und ''?'' — das reicht für Dateifilter, ist aber kein volles Muster mit Zeichenklassen. ---- ===== Abhängigkeiten ===== **Importiert:** [[lyx_-_programmiersprache:vega:units:types|Vega.Types]], [[lyx_-_programmiersprache:vega:units:strings|Vega.Strings]], [[lyx_-_programmiersprache:vega:units:lists|Vega.Lists]], ''Vega.Mem'' · Standardbibliothek: ''std.fs'', ''std.env'' **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:editbtn|Vega.EditBtn]], [[lyx_-_programmiersprache:vega:units:filedlg|Vega.FileDlg]], [[lyx_-_programmiersprache:vega:units:fontdlg|Vega.FontDlg]], [[lyx_-_programmiersprache:vega:units:lfmparse|Vega.LfmParse]], [[lyx_-_programmiersprache:vega:units:lfmsave|Vega.LfmSave]], [[lyx_-_programmiersprache:vega:units:themefile|Vega.ThemeFile]], [[lyx_-_programmiersprache:vega:units:truetype|Vega.TrueType]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/Files.lyx'' erhoben.