Есть код, который успешно компилируется в 7SE. В новых компиляторах (у меня это Delphi XE7), в которых разработчики продукта перешли на универсальную кодировку UTF8?, некоторые команды с переменной String читаются неверно.
Например,
Код:
function HConvert(E:TEdit; var H:Byte):Boolean;
var Hp:Byte; S:String; Error:Boolean;
begin
Hp:=H; Result:=true;
Error:=false;
S:=UpperCase(E.Text);
case length(S) of
1: if ConvD(S[1])>=0 then H:=ConvD(S[1])
else Error:=true;
...
Помогите записать этот фрагмент кода, если S:AnsiString; или S:RawByteString;
Заранее благодарю за помощь.