Цитата:
Сообщение от Kailon
Как это не верно?AnsiUpperCase
|
Каюсь. Неправильно пояснил суть проблемы. Если в исходнике принудительно заменить String на AnsiString, Char на AnsiChar, то все в XE7 компилируется, но по другому пути, чем в SE7. Впрочем, как и со String и Char. Причиной может быть, как пишут в нете:
Цитата:
Все зависит от того на какой версии Дельфи ты компилишь данный код, если на ANSI, то один символ = один байт, если на Unicode, то один символ - два байта.
|
Вопрос "символ - один или два байта", я планирую решить по схеме (может, это и неверно):
Код:
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);
S:= RawByteString(S); //!
case ??? of
1: if ConvD(S[1])>=0 then H:=ConvD(S[1])
else Error:=true;
...
Как вместо
??? записать переменную
S в новом формате
RawByteString?