CharInSet не работает с неанглийными буквами?

Я обновил приложение с Delphi 2007 на Delphi 2010, все прошло нормально, за исключением одного оператора, который компилировался нормально, но не работает:

If Edit1.Text[1] in ['S','س'] then 
  ShowMessage('Found')
else
  ShowMessage('Not Found')

Однако я знал, что в will нет, поэтому я изменил на CharInSet

If CharinSet(Edit1.Text[1],['S','س']) then
  ShowMessage('Found')
else
  ShowMessage('Not Found')

, но он никогда не работал, когда строка س, но всегда работал с S, но всегда работал с S, даже я отливаю edt1. Text1 с AnsiChar не всегда работают арабские буквы.

Я делаю что-то не так, или это не то, как работает CharInSet?, или это ошибка в CharinSet?

ОБНОВЛЕНИЕ:

Мой большой друг Иссам Али предложил другое решение, которое отлично работает:

  If CharinSet(AnsiString(edt1.Text)[1],['S','س']) then
16
задан Mohammed Nasman 23 November 2010 в 09:36
поделиться