Inhaltsverzeichnis

Vega.Strings — Veränderbarer Text und UTF-8

Lyx kennt nur pchar — eine Adresse auf nullterminierte Bytes, die sich nicht wachsen lassen. Eingabefelder brauchen aber genau das: einfügen, löschen, den Puffer vergrößern. Dafür gibt es TTextBuffer, dazu die UTF-8-Rechnung, die Byte- und Zeichenpositionen auseinanderhält.

Quelldatei: Vega/Strings.lyx

Alle Units · Alle Steuerelemente · Vega VCL


Klassen

Klasse Basis Zweck
TTextBuffer Wachsender Textpuffer mit Byte- und Zeichenrechnung

Konstanten

Name Typ Wert Bedeutung
VEGA_TEXT_MIN_CAP int64 32 Anfangsgröße, bevor der Puffer erstmals wächst

Freie Funktionen

Signatur Zweck
Utf8CharLen(b: int64): int64 Wie viele Bytes das Zeichen hat, das mit diesem Byte beginnt
Utf8IsTrail(b: int64): bool Ist das ein Folgebyte, also keine Zeichengrenze
Utf8Decode(addr: int64, i: int64): int64 Zeichen an dieser Byteposition als Codepunkt
Utf8LenOf(cp: int64): int64 Wie viele Bytes dieser Codepunkt braucht
Utf8Encode(addr: int64, cp: int64): int64 Codepunkt an diese Adresse schreiben; liefert die Zahl der Bytes
PCharEqual(a: pchar, b: pchar): bool Zwei pchar auf gleichen Inhalt prüfen
PCharLen(s: pchar): int64 Länge einer pchar in Bytes
IntToText(v: int64, dst: TTextBuffer): void Zahl in einen Textpuffer schreiben
PCharToInt(s: pchar): int64 Zahl aus Text lesen
NewTextBuffer(): TTextBuffer Erzeugt einen leeren Textpuffer

Zu beachten


Abhängigkeiten

Importiert: Vega.Mem

Wird importiert von: Vega.Actions, Vega.Backend, Vega.Backend.LyxOS, Vega.Backend.Null, Vega.Backend.Win32, Vega.Backend.X11, Vega.Calendar, Vega.Chrome, Vega.ColorCtrls, Vega.ColorDlg, Vega.Component, Vega.Control, Vega.DateTimePicker, Vega.Dialogs, Vega.EditBtn, Vega.Edits, Vega.ExtCtrls, Vega.Extras, Vega.FileDlg, Vega.Files, Vega.Font, Vega.FontDlg, Vega.Grids, Vega.Hints, Vega.Images, Vega.Layout, Vega.LfmClasses, Vega.LfmLoad, Vega.LfmParse, Vega.LfmSave, Vega.LfmValue, Vega.ListCtrls, Vega.ListView, Vega.Lists, Vega.MaskEdit, Vega.Menus, Vega.Picture, Vega.StdCtrls, Vega.Style, Vega.ThemeFile, Vega.Themes, Vega.Trees, Vega.TrueType, Vega.ValueList

Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus Vega/Strings.lyx erhoben.