Skip to content

AlphaDango/PascalStringBuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

uDangoStringBuilder

Ein leichter, eigenständiger StringBuilder für Delphi/Object Pascal.
Entwickelt primär für ältere Delphi-Versionen, die keine TStringBuilder Klasse haben.


✨ Features

  • Effizientes String-Aufbauen ohne ständiges Kopieren
  • Dynamisches Wachstum des Buffers
  • Methoden:
    • Append(const S: string) → Strings anhängen
    • AppendChar(C: Char) → einzelnes Zeichen anhängen
    • ToString: string → fertigen String zurĂĽckgeben
  • UnterstĂĽtzung fĂĽr Method Chaining
  • Robust gegen leere Strings
  • Kompatibel mit Delphi 7+ bis Unicode Delphi Versionen (Delphi 2009)

đź“– KlassenĂĽbersicht

🔹 TStringBuilder

Eigenschaften

  • FLength: Integer → Anzahl der aktuell im Buffer gespeicherten Zeichen (intern)

Methoden

  • constructor Create(InitialCapacity: Integer = 16)
    Erstellt den StringBuilder.

    • Wirft eine Exception, wenn InitialCapacity < 1.
  • function Append(const S: string): TStringBuilder
    Hängt den angegebenen String an. Leere Strings werden ignoriert.

    • Gibt fĂĽr Method Chaining Self zurĂĽck.
  • function AppendChar(C: Char): TStringBuilder
    Hängt ein einzelnes Zeichen an.

    • Gibt fĂĽr Method Chaining Self zurĂĽck.
  • function ToString: string
    Gibt den gesamten Inhalt als String zurĂĽck.

    • Bei leerem Buffer wird '' zurĂĽckgegeben.

👨‍💻 Anwendung

Strings anhängen (Method Chaining)

var
  SB: TStringBuilder;
begin
  SB := TStringBuilder.Create;
  try
    SB.Append('Hallo')
      .AppendChar(' ')
      .Append('Welt')
      .AppendChar('!');
    ShowMessage(SB.ToString);  // "Hallo Welt!"
  finally
    SB.Free;
  end;
end;

Einzelne Zeichen anhängen

var
  SB: TStringBuilder;
begin
  SB := TStringBuilder.Create;
  try
    SB.AppendChar('A')
      .AppendChar('B')
      .AppendChar('C');
    ShowMessage(SB.ToString);  // "ABC"
  finally
    SB.Free;
  end;
end;

Kombination aus Strings und Zeichen

var
  SB: TStringBuilder;
begin
  SB := TStringBuilder.Create;
  try
    SB.Append('Zeichen: ')
      .AppendChar('X');
    ShowMessage(SB.ToString);  // "Zeichen: X"
  finally
    SB.Free;
  end;
end;

🛠️ Geplante Features

  • Clear-Methode
    Buffer komplett leeren, ohne ein neues Objekt erstellen zu mĂĽssen.

  • Properties

    • Length: aktuelle Länge des Inhalts
    • Capacity: aktuelle Größe des internen Buffers
  • Method Chaining erweitern
    RĂĽckgabe von Self fĂĽr alle Append-Methoden, um Verkettungen zu vereinfachen.

  • Unicode-UnterstĂĽtzung
    Kompatibilität für Delphi-Versionen ab 2009 (string = UnicodeString).

  • Performance-Optimierungen

    • Effizientere Verdopplung des Buffers bei sehr groĂźen Strings
  • Weitere Utility-Methoden

    • Insert → Zeichen oder Strings an einer beliebigen Position einfĂĽgen
    • Remove → bestimmte Teilstrings entfernen

⚠️ Lizenz

Dieses Projekt hat keine offene Lizenz. FĂĽr jede Verwendung oder Weitergabe bitte vorher anfragen.

About

A StringBuilder Class for older Delphi Version i.e. Delphi 7

Topics

Resources

Stars

Watchers

Forks

Languages