Hallo Zusammen,
ich habe eine Liste an Bytes in einem Set angelegt "SpecialCharacterBytesSet".
Jedes Byte repräsentiert ein Zeichen aus dem Array "SpecialCharacters" Beides wird als synchron gehalten.
Über die Abfrage
if (Byte(Msg[i]) in SpecialCharacterBytesSet) then
kann ich ermitteln ob das Byte welche ich untersuche im Set vorkommt. Jetzt würde ich gerne den Ordinalwert
des gefundenen Bytes ermitteln, denn dieser repräsentiert das Zeichen aus dem Array of AnsiChar.
Ich such also eine Möglichkeit ohne jedes mal das Array durchlaufen zu müssen und es muss leider auch
Delphi5 (nicht XE5)kompatibel sein.
Delphi-Quellcode:
type TByteSet = set of Byte;
const SpecialCharacters: array [0 .. 13] of AnsiChar = '[\]{|}~ÄÖÜäöüß';
var
SpecialCharacterBytesSet: TByteSet;
begin
SpecialCharacterBytesSet := [$5B, $5C, $5D, $7B, $7C, $7D, $7E, $8E, $99, $9A, $84, $94, $81, $E1];
if (Byte(Msg[i]) in SpecialCharacterBytesSet) then
...
Hat jemand eine Idee?
Gruß Kostas