Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.099 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Den Ordinal Wert eines Elements im Set ermitteln

  Alt 20. Mai 2015, 18:00
Delphi-Version: 5
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
  Mit Zitat antworten Zitat