OPEN XML

Die neuste Version des Entity Translators finden Sie auf den Internet-Seiten von Open XML!

This page in English

Entity Translator v1.0.2

Offline Dokumentation

Worum handelt es sich beim Entity-Translator-Paket?

Das Entity-Translator-Paket für Delphi™ enthält zwei Komponenten, mit denen bestimmte Elemente einer Zeichenkette durch andere ersetzt werden können. Damit kann man beispielsweise sehr einfach herkömmliche Strings in HTML-konforme Strings umwandeln, und umgekehrt. Die Komponente TCharToEntityTranslator dient dazu, einzelne Zeichen eines Textes durch eine Zeichenfolge (Entity) zu ersetzen; umgekehrt kann man mit der Komponente TEntityToCharTranslator Entities durch andere Zeichen ersetzen. Wichtig: Entities beginnen jeweils mit demselben Zeichen (in HTML mit '&') und enden jeweils mit demselben Zeichen (in HTML mit ';').
 
 

Systemvoraussetzungen

Das Entity-Translator-Paket wurde unter Delphi 3 programmiert und getestet. Im Grunde sollte er ebenfalls unter allen höheren Delphi-Versionen funktionieren und vielleicht auch unter Delphi 1 und 2. Falls Sie das Paket mit einer anderen Version als Delphi 3 getestet haben, geben Sie uns bitte eine Rückmeldung, ob es funktioniert hat - oder nicht!
 
 

Das Entity Translator Archiv

Sämtliche Dateien, die Sie zur Installation des Entity-Translator-Pakets benötigen, finden Sie in einem Zip-Archiv, das Sie über die Internet-Seiten von Open XML herunterladen können. Dieses Archiv enthält folgende Dateien:
Entity.dcr Die Bitmaps für die Delphi-Komponenten-Palette
Entity.pas Der Delphi-Quellcode
gitter4.gif Ein Bild zur Verwendung in der Dokumentation
HtmlToLatin1.ini Beispiel-Datei für TEntityToCharTranslator zur Konversion von HTML in Latin1
Latin1ToHtml.ini Beispiel-Datei für TCharToEntityTranslator zur Konversion von Latin1 in HTML
liesmich.html Die Dokumentation in Deutsch
openxmllogo.gif Ein Bild zur Verwendung in der Dokumentation
readme.html Die Dokumentation in Englisch
spacer.gif Ein Bild zur Verwendung in der Dokumentation
 
 

Installation

Zur Installation gehen Sie folgendermaßen vor:
  1. Legen Sie ein neues Verzeichnis an und entpacken Sie darin das Zip-Archiv.
  2. Wählen Sie die Option "Komponente installieren" aus dem "Komponente"n-Menü.
  3. Fügen Sie die Datei mit der Endung ".pas" einem neuen oder einem bereits existierenden Package hinzu.
  4. Klicken Sie auf OK, und bestätigen Sie anschließend, daß die Komponenten compiliert und installiert werden sollen.
  5. Schließen Sie das Package-Fenster, und bestätigen Sie anschließend, daß die Änderungen gespeichert werden sollen.
  6. Sobald die Komponenten erfolgreich installiert sind, sollte in der Komponenten-Palette ein neue Seite mit dem Titel "XML" erscheinen. Dort finden Sie die neuen Komponenten.
 
 

TCharToEntityTranslator Komponente

Abgeleitet von TComponent
Unit: Entity

Mit einer TCharToEntityTranslator-Komponente kann man einzelne Zeichen eines Textes durch eine Zeichenfolge ersetzen.


Eigenschaften

TCharToEntityTranslator.DictionaryFile

property DictionaryFile: TFileName

Die Eigenschaft DictionaryFile gibt den Namen der Datei an, die die Übersetzungstabelle enthält, auf deren Grundlage einzelne Zeichen in Zeichenfolgen übersetzt werden. Es muß sich dabei um eine Text-Datei handeln, deren einzelne Zeilen die Struktur
<EinzelnesZeichen>=<Zeichenfolge>
besitzen.

Hinweis: Dem Zip-Archiv liegt eine Datei Latin1ToHTML.ini bei, mit der man einen Text, der mit einem Text-Editor und einem Latin-1-Zeichensatz erstellt wurde, in einen HTML-Text umwandeln kann. Damit wird dann zum Beispiel ein 'ß' umgewandelt in '&szlig;'.


TCharToEntityTranslator.HasEntries (readonly)

property HasEntries: Boolean

Gibt 'True' zrück, falls if die Übersetzungstabelle Einträge enthält; andernfalls wird 'False' zrückgeliefert.


Methoden

TCharToEntityTranslator.Create

constructor Create(AOwner: TComponent); override;

Die Methode Create erzeugt und initialisiert eine Instanz von TCharToEntityTranslator. Mit Create können Sie zur Laufzeit einen CharToEntityTranslator erzeugen. Für CharToEntityTranslatoren, die zur Entwurfszeit in einem Formular plaziert werden, wird Create automatisch aufgerufen.


TCharToEntityTranslator.Translate

function Translate(const source: string): string; virtual;

Die Funktion Translate ersetzt einzelne Zeichen von 'source' gemäß der in der Eigenschaft 'DictionaryFile' angegebenen Übersetzungstabelle und gibt das Ergebnis in einem String zurück. Der Eigenschaft 'DictionaryFile' muß zuvor eine gültige Übersetzungstabelle zugewiesen worden sein!


TCharToEntityTranslator.ReplaceWhiteSpace

function ReplaceWhiteSpace(const Source: string; const ReplaceChar: Char): string; virtual;

Die Funktion ReplaceWhiteSpace ersetzt jedes Leerraumzeichen (SPACE, TAB, LF, CR) in String 'Source' durch das in 'ReplaceChar' angegebene Zeichen und gibt das Ergebnis als String zurück.

Hinweis: Mehrere direkt hintereinander stehende Leerraumzeichen werden durch ebensoviele direkt hintereinander stehende 'ReplaceChar'-Zeichen ersetzt.


TCharToEntityTranslator.ReplaceChar

function ReplaceChar(const Source: string; const FindChar, ReplaceChar: Char): string; virtual;

Die Funktion ReplaceChar ersetzt jedes 'FindChar'-Zeichen im String 'Source' durch das in 'ReplaceChar' angegebene Zeichen und gibt das Ergebnis als String zurück.

Hinweis: Diese Funktion ist im Zusammenhang mit dem PageProducer sehr nützlich, wenn man als Parameter-Wert einen Text übergeben möchte. Enthält der Text nämlich Leerzeichen, führt dies zu Fehlern bei der Verarbeitung durch den PageProducer. Um solche Fehler zu verhindern, ersetzt man vorher alle Leerzeichen eines Textes mittels der Funktion ReplaceWhiteSpace durch ein Zeichen, das im Text garantiert nicht vorkommt. Beispiel:

with CharToEntityTranslator1 do
  NeuerText:= ReplaceWhiteSpace(AlterText,Char(1));


Im OnHTMLTag-Ereignis des PageProducers kann man dies dann wieder rückgängig machen, indem man die entsprechenden Zeichen mit der Funktion ReplaceChar in SPACE verwandelt:

with CharToEntityTranslator1 do
  AlterText:= ReplaceChar(TagParams.Values['Value'],Char(1),' ');


Achtung: TABs, LFs und CRs des urspünglichen Textes sind nun zu SPACEs geworden! Für HTML ist das aber in der Regel sowieso egal.

 
 

TEntityToCharTranslator Komponente

Abgeleitet von TCharToEntityTranslator
Unit: Entity

Mit einer TEntityToCharTranslator-Komponente kann man Zeichenfolgen, die durch Begrenzungszeichen markiert sind, durch andere ersetzen.


Eigenschaften

TEntityToCharTranslator.DictionaryFile

property DictionaryFile: TFileName

Die Eigenschaft DictionaryFile gibt den Namen der Datei an, die die Übersetzungstabelle enthält, auf deren Grundlage Zeichenfolgen in einzelne Zeichen übersetzt werden. Es muß sich dabei um eine Text-Datei handeln, deren einzelne Zeilen die Struktur
<Zeichenfolge>=<EinzelnesZeichen>
besitzen, wobei alle Zeichenfolgen mit jeweils demselben Zeichen beginnen und mit jeweils demselben Zeichen schließen müssen.

Hinweis: Dem Zip-Archiv liegt eine Datei HTMLToLatin1.ini bei, mit der man einen HTML-Text in einen Text umwandeln kann, der auf dem Latin-1-Zeichensatz basiert. Damit wird dann zum Beispiel '&szlig;' in 'ß' umgewandelt.


TCharToEntityTranslator.HasEntries (readonly)

property HasEntries: Boolean

Gibt 'True' zrück, falls if die Übersetzungstabelle Einträge enthält; andernfalls wird 'False' zrückgeliefert.


TEntityToCharTranslator.LeftDelimiter

property LeftDelimiter: Char default '&';

Diese Eigenschaft enthält das erste Zeichen, der Zeichenfolgen, die ersetzt werden sollen. Die Voreinstellung ist '&'.

TEntityToCharTranslator.RightDelimiter

property RightDelimiter: Char default ';';

Diese Eigenschaft enthält das letzte Zeichen, der Zeichenfolgen, die ersetzt werden sollen. Die Voreinstellung ist ';'.


Methoden

TEntityToCharTranslator.Create

constructor Create(AOwner: TComponent); override;

Die Methode Create erzeugt und initialisiert eine Instanz von TEntityToCharTranslator. Mit Create können Sie zur Laufzeit einen EntityToCharTranslator erzeugen. Für EntityToCharTranslator, die zur Entwurfszeit in einem Formular plaziert werden, wird Create automatisch aufgerufen.


TEntityToCharTranslator.Translate

function Translate(const source: string): string; virtual;

Die Funktion Translate ersetzt bestimmte Zeichenfolge von 'source' gemäß der in der Eigenschaft 'DictionaryFile' angegebenen Übersetzungstabelle und gibt das Ergebnis in einem String zurück. Alle Zeichenfolgen, die ersetzt werden sollen, müssen mit dem Zeichen beginnen, das in der Eigenschaft LeftDelimiter angegeben ist, und müssen mit dem Zeichen schließen, daß in der Eigenschaft RightDelimiter angegeben ist. Der Eigenschaft 'DictionaryFile' muß zuvor eine gültige Übersetzungstabelle zugewiesen worden sein!


TEntityToCharTranslator.ReplaceWhiteSpace

Siehe: TCharToEntityTranslator.ReplaceWhiteSpace


TEntityToCharTranslator.ReplaceChar

Siehe: TCharToEntityTranslator.ReplaceChar

 
 

Rückmeldungen an Open XML