Я обновил приложение с Delphi 2007 до Delphi 2010, все прошло нормально, за исключением одного заявления, которое скомпилировалось нормально, но не работает:
If Edit1.Text[1] in ['S','س'] then
ShowMessage('Found')
else
ShowMessage('Not Found')
Однако я знал, что не будет, поэтомуЯ изменил на CharInSet
If CharinSet(Edit1.Text[1],['S','س']) then
ShowMessage('Found')
else
ShowMessage('Not Found')
, но он никогда не работал, когда строка س
, но всегда работал с S
, даже если я бросил edt1.Text 1 сAnsiChar это всегда не работает арабскими буквами.
Я делаю что-то не так, или это не так CharInSet
работает? Или это ошибка в CharinSet
?
ОБНОВЛЕНИЕ:
Мой Великий друг Иссам Али предложил другое решение, которое работает нормально:
If CharinSet(AnsiString(edt1.Text)[1],['S','س']) then