In einer xsd-Datei habe ich die Pattern für TRegEx.Match, um alle Strings bzw. Eingaben zu überprüfen, ob alle Zeichen in einem bestimmten Zeichensatz enthalten sind. In UTF-8 sieht das etwa so aus (über 2000 Zeichen):
const A='( |'|[,-\.]|[A-Z]|[`-z]....';
Die Funktion zur Prüfung des Zeichensatzes brauche ich in mehreren Anwendungen und möchte die xsd nicht separat ausliefern oder als Ressource in jede Anwendung aufnehmen. Daher wollte ich das alles vereinfachen und die Pattern als const in die Funktion einbauen. In
Unicode sieht das etwa so aus:
const B='( |''|[,-\.]|[A-Z]|[`-z]|~|¨|´|·...';
Das Dumme ist nur, das B nicht exakt mit dem aus dem xsd-Schema gelesenen Wert übereinstimmt, da der Delphi-Quelltexteditor wahrscheinlich nicht alle Zeichen 1:1 aufgenommen hat. Wahrscheinlich Sonderzeichen wie Zeilenwechsel, Tab usw.
Daher wollte ich mit const A arbeiten und diese UTF-8 codierten Zeichen erst in der Funktion in echte
Unicode-Zeichen umwandeln. Das bekomme ich aber einfach nicht hin. Ich habe schon mit UTF8ToUnicodeString, UTF8Decode usw. herumgespielt. Es kommt aber immer wieder Variante A statt B dabei heraus.
Weiß jemand, wie ich die Zeichenfolge aus A (in der o.g. Form) in den Quelltexteditor bekomme und anschließend in die richtigen
Unicode-Zeichen konvertiert bekomme? Wie gesagt, mit der xsd ist das kein Problem - es soll aber deutlich schlanker werden. Danke Euch!