sgcRichEdit: eine Textverarbeitung in Ihrer eigenen Anwendung

· Komponenten
sgcRichEdit: eine Textverarbeitung in Ihrer eigenen Anwendung
✦  sgcUI · sgcRichEdit

Eine Textverarbeitung.
In Ihrer Anwendung.

sgcRichEdit ist der neue Rich-Text-Dokumenteditor von sgcUI. Ihre Anwender schreiben Briefe, Verträge, Notizen und Berichte mit Formatvorlagen, Listen, Tabellen, Bildern und Links. Ihr Code liest und schreibt RTF, HTML, Markdown und JSON und exportiert DOCX, PDF und PNG-Seiten.

  • VCL
  • FireMonkey
  • C++ Builder
  • WinForms
  • WPF
  • Avalonia

↔  Ziehen Sie den Griff, um von Hell zu Dunkel zu wechseln

sgcRichEdit Editor—□✕
Die sgcRichEdit-Demo Editor mit dem Fluent-Preset, hell
Dasselbe Dokument mit dem Fluent-Preset, dunkel
HellDunkel
4Formate lesen und schreiben
3Exportformate
5UI-Frameworks
12Editorsprachen

Früher oder später braucht jede Geschäftsanwendung echte Dokumente. Ein CRM schreibt Briefe an Kunden, eine Praxisverwaltung führt Fallnotizen, ein ERP speichert Angebotsvorlagen, und ein Helpdesk antwortet in formatiertem Text. Ein einfaches Memofeld reicht dafür nicht aus.

sgcRichEdit ist ein vollständiger Dokumenteditor, der in sgcUI integriert ist. Er führt ein echtes Dokumentmodell mit benannten Formatvorlagen, mehrstufigen Listen, Tabellen mit verbundenen Zellen, eingebetteten Bildern und Hyperlinks und setzt das Dokument seitenweise um. Ein einziges Dokumentmodell steuert die Controls für VCL, FireMonkey, WinForms, WPF und Avalonia, und dasselbe Modell lädt, konvertiert und exportiert Dokumente auch ganz ohne Fenster.

sgcRichEdit in 60 Sekunden

Formatvorlagen, Tabellen, jede Sprache, hell und dunkel, jedes Format und jede Plattform in einer Minute. Auch auf YouTube.

Ein echtes Dokument, kein Textfeld

Verträge, Berichte und Briefe müssen bei jedem Öffnen gleich aussehen. sgcRichEdit speichert Absätze mit benannten Formatvorlagen, und die Formatierung ergibt sich aus einer Vorlagenkette plus direkter Formatierung. Wer die Vorlage Überschrift 1 ändert, ändert damit alle Überschriften des Dokuments auf einmal.

AaAaAa
Benannte FormatvorlagenStandard, Überschrift 1 bis 6, Titel, Untertitel, Zitat, Code, Listenabsatz, Hyperlink und Tabellenraster sind bereits enthalten.
Listen mit 9 EbenenAufzählungszeichen, Zahlen, Buchstaben und römische Ziffern, mit einem Befehl zum Herauf- oder Herabstufen einer Ebene.
TabellenZellen über Spalten und Zeilen verbunden, Kopfzeilen, Rahmen, Hintergründe und verschachtelte Tabellen.
Bilder und LinksEingebettete Bilder und Hyperlinks, mit Ctrl+Klick und einem OnLinkClick-Ereignis.
↺↻
Rückgängig und WiederholenEin vollständiger Verlauf, bei dem Tastatureingaben zu Wörtern gruppiert werden, sodass ein Rückgängig genau ein Wort entfernt.
Wachstum im 3. Quartal, Wachstum in Europa
Suchen und ErsetzenÜber Absätze und Tabellenzellen hinweg, mit regulären Ausdrücken und Alle ersetzen als ein einziger Rückgängig-Schritt.

Aus der Nähe

Fett, kursiv, unterstrichen, durchgestrichen, hochgestellt und tiefgestellt, Schriftarten, Größen, Farben und Hervorhebungen, Ausrichtung, Einzüge und Zeilenabstand. Hier sehen Sie die Formatierung des obigen Dokuments bei 200 % Zoom.

Zeichenformatierung bei 200 % Zoom

Tabellen, Bilder und Seiten

Der Editor paginiert das Dokument mit eigenen Seiteneinstellungen. Absätze werden zeilenweise getrennt, die Kopfzeilen einer Tabelle wiederholen sich auf jeder Seite, und Seitenumbrüche bleiben erhalten, sodass Anwender genau das drucken, was sie sehen. Print und PrintPreview funktionieren auf dem Desktop, und ExportToPNG rendert jede Seite in der von Ihnen gewählten Auflösung.

sgcRichEdit Editor—□✕
Eine Tabelle mit farbiger Kopfzeile, einer verbundenen Zelle und einem eingebetteten Diagrammbild
Seite 1 des Dokuments, als PNG exportiert
Seite 1
Seite 2 des Dokuments, als PNG exportiert
Seite 2
Seite 3 des Dokuments, als PNG exportiert
Seite 3

Die drei Seiten des Dokuments aus den Screenshots, geschrieben von ExportToPNG mit 150 DPI.

Jede Sprache, jeder Anwender

Japanische, chinesische und koreanische Anwender tippen über einen Input Method Editor, und arabische und hebräische Anwender schreiben von rechts nach links, oft mit englischen Wörtern im selben Satz. sgcRichEdit zeigt die IME-Eingabe direkt an der Einfügemarke an und übernimmt sie als einen einzigen Rückgängig-Schritt. Bidirektionale Absätze halten Einfügemarke und Markierung dort, wo der Leser sie erwartet, und jeder Absatz hat seine eigene Richtung.

sgcRichEdit Editor—□✕
Arabischer Rechts-nach-links-Text gemischt mit Englisch sowie japanische, chinesische, koreanische und russische Absätze, dunkles Theme

Hell, Dunkel, Fluent oder Classic

sgcRichEdit ist ein sgcUI-Control und folgt deshalb wie der Rest der Suite dem Anwendungs-Theme. Wählen Sie das Fluent-Preset, und Editor und Ribbon erhalten den Windows-11-Look. Wechseln Sie auf Dunkel, werden Ribbon, Statusleiste und Backstage dunkel, während die Seite wie Papier weiß bleibt.

sgcRichEdit Editor—□✕
sgcRichEdit mit dem Fluent-Preset, hell
sgcRichEdit mit dem Classic-Preset
sgcRichEdit mit dem Fluent-Preset, dunkel
uses
  sgcUICore_Theme;

// the Windows 11 look for every sgcUI control, sgcRichEdit included
sgcUISetApplicationThemePreset('Fluent');
// follow the light / dark setting of Windows, live
sgcUISetApplicationThemeFollow(utfSystem, True);

Ein Dokument, jedes Format

Dokumente kommen als RTF aus Word, als HTML aus einem Browser oder einer E-Mail und als Markdown aus einem Entwicklerwerkzeug. sgcRichEdit liest und schreibt sie alle und hat ein eigenes natives JSON-Format, das jedes Detail des Dokuments speichert. LoadFromFile erkennt das Format, SaveToFile verwendet das gewünschte Format, und AsHTML, AsRTF und AsMarkdown lesen und schreiben das Dokument als String.

Laden

RTFaus Word
HTMLmit CSS
Markdownauch Tabellen
JSONnativ
Ein Dokumentmodell Formatvorlagen, Listen, Tabellen, Bilder und Links, seitenweise umgesetzt

Speichern und exportieren

DOCXfür Word
PDFgetaggt
PNGbeliebige DPI
RTF, HTML, MDund JSON

Jede Format-Unit in der uses-Klausel registriert ihren Reader oder Writer, und sgcUIPDF_Export verbindet den PDF-Export mit der sgcPDF-Engine, die zusammen mit sgcRichEdit installiert wird.

uses
  sgcRichEdit_Formats, sgcRichEdit_VCL,
  sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcRichEdit_Markdown,
  sgcRichEdit_DOCX, sgcUIPDF_Export;

procedure TForm1.ConvertContract;
begin
  sgcVCLRichEdit1.LoadFromFile('contract.rtf');
  sgcVCLRichEdit1.SaveToFile('contract.html', refHTML);
  sgcVCLRichEdit1.SaveToFile('contract.md', refMarkdown);
  sgcVCLRichEdit1.SaveToFile('contract.docx', refDOCX);
  sgcVCLRichEdit1.ExportToPDF('contract.pdf');
  sgcVCLRichEdit1.ExportToPNG('page1.png', 0, 150);
end;

Bearbeiten, wie man es kennt

Anwender bringen ihre Gewohnheiten aus der Textverarbeitung mit. Der Editor reagiert auf die üblichen Tastenkürzel (Ctrl+B, Ctrl+I, Ctrl+U, Ausrichtung, Überschriften, Aufzählungen und Ctrl+K für Links), führt einen vollständigen Rückgängig- und Wiederholen-Verlauf und sucht und ersetzt Text über Absätze und Tabellenzellen hinweg.

sgcRichEdit Editor—□✕
Die Suchen-und-Ersetzen-Leiste der Demo Editor

Jeder Befehl steht im Code über ExecuteCommand und CommandState sowie über VCL- und FireMonkey-Actions zur Verfügung, sodass Ihre eigene Symbolleiste oder ein sgcToolbar-Ribbon immer zur Auswahl passt.

uses
  sgcRichEdit_Commands;

procedure TForm1.btnBoldClick(Sender: TObject);
begin
  sgcVCLRichEdit1.ExecuteCommand(recBold);
end;

procedure TForm1.sgcVCLRichEdit1SelectionChange(Sender: TObject);
begin
  // the button shows the state of the selection
  btnBold.Down := sgcVCLRichEdit1.CommandState(recBold).Checked;
end;

Ihre Dokumente in Ihrer Datenbank

Notizen, Briefe und Vorlagen liegen meist in einem Datenbankfeld. TsgcVCLDBRichEdit und TsgcFMXDBRichEdit verbinden sich mit einer TDataSource, lesen Memo- und BLOB-Felder, versetzen das Dataset bei der ersten Änderung in den Bearbeitungsmodus und schreiben das Dokument zurück, wenn der Anwender das Control verlässt. Escape stellt den Feldwert wieder her, und AutoDisplay lädt große Dokumente bei Bedarf.

uses
  sgcRichEdit_Formats, sgcRichEdit_VCL_DB;

sgcVCLDBRichEdit1.DataSource := dsNotes;
sgcVCLDBRichEdit1.DataField := 'NOTE';
// store the documents as JSON; refAuto, the default, detects the format
sgcVCLDBRichEdit1.FieldFormat := refJSON;

Headless, sogar unter Linux64

Dokumente müssen oft auf einem Server konvertiert werden: RTF zu HTML für ein Portal, JSON zu PDF für ein Archiv, eine Seite zu PNG für eine Vorschau. Dokumentmodell, Formate, Layout und Exporte sind weder von VCL noch von FireMonkey abhängig. Ein Windows-Dienst oder ein Linux64-Daemon (Delphi 10.2 und neuer) kann Dokumente daher ohne Fenster laden, ändern, rendern und exportieren, mit demselben Seitenlayout wie die visuellen Controls.

uses
  sgcRichEdit_Model, sgcRichEdit_Formats, sgcRichEdit_Print,
  sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcUIPDF_Export;

var
  oDocument: TsgcRichDocument;
begin
  oDocument := TsgcRichDocument.Create;
  try
    sgcRichLoadFromFile(oDocument, 'letter.rtf');
    sgcRichSaveToFile(oDocument, 'letter.html', refHTML);
    // tagged PDF, no window and no VCL or FireMonkey needed
    sgcRichExportPDF(oDocument, nil, 'letter.pdf');
  finally
    oDocument.Free;
  end;
end;

Auch für .NET

Die .NET-Controls für WinForms, WPF und Avalonia verwenden dieselben Namen wie die Delphi-Controls. Die Kernbibliothek zielt auf .NET Standard 2.0, .NET Framework 4.7.2 sowie .NET 6, 8, 9 und 10, und die Eigenschaft DocumentText lässt sich in allen drei Frameworks an Ihre Daten binden.

using esegece.sgcRichEdit;
using esegece.sgcUICore;

// once at startup: PDF export through the esegece.sgcUICore.sgcPDF package
TsgcUIPDFExporter.Register();

richEdit.LoadFromFile("contract.rtf");
richEdit.SaveToFile("contract.html", TsgcRichEditFormat.refHTML);
richEdit.SaveToFile("contract.docx", TsgcRichEditFormat.refDOCX);
richEdit.ExportToPDF("contract.pdf");

Die Demos ausprobieren

Die Demos für Delphi und C++ Builder werden mit der sgcUI-Testversion installiert, und die .NET-Demos sind im Registered-.NET-Download enthalten.

Wo sgcRichEdit enthalten ist

sgcRichEdit wird einzeln für Delphi und C++ Builder sowie für .NET verkauft und ist in sgcUI Enterprise und im All-Access-Paket enthalten. Das Einzelpaket installiert auch sgcPDF, sodass der PDF-Export immer funktioniert. Eine kostenlose Community-Edition gibt es nicht. Details finden Sie auf der Preisseite.

Geben Sie Ihren Anwendern eine Textverarbeitung

sgcRichEdit erscheint mit sgcUI 2026.11 für Delphi und C++ Builder, unter VCL und FireMonkey, und für .NET unter WinForms, WPF und Avalonia.

Fragen oder Feedback? Nehmen Sie Kontakt auf, Sie erhalten eine Antwort von den Menschen, die den Code geschrieben haben.