Перейти к содержанию
Fire Monkey от А до Я
  • 0

Функция возвращает разное значение на andoroid и win


Superator

Вопрос

Здравствуйте! Столкнулся с такой проблемой при отладке мультиплатформенного приложения. В windows функция преобразования с двоичного в десятичное работает корректно, а на андроиде дает неверный результат. Протестировал на мобильнике и планшете. Версия андроид 5.1.1

Например в windows двоичное число 1110 дает верный результат 14, а на android неверный  результат 12.

Пример функции:

function BinToInt(Value: string): Integer;
var
  i, iValueSize: Integer;
begin
  Result := 0;
  iValueSize := Length(Value);
  for i := iValueSize downto 1 do
    if Value[i] = '1' then
      Result := Result + (1 shl (iValueSize - i));
end;

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
4 минуты назад, Superator сказал:

Здравствуйте! Столкнулся с такой проблемой при отладке мультиплатформенного приложения. В windows функция преобразования с двоичного в десятичное работает корректно, а на андроиде дает неверный результат. Протестировал на мобильнике и планшете. Версия андроид 5.1.1

Например в windows двоичное число 1110 дает верный результат 14, а на android неверный  результат 12.

Пример функции:


function BinToInt(Value: string): Integer;
var
  i, iValueSize: Integer;
begin
  Result := 0;
  iValueSize := Length(Value);
  for i := iValueSize downto 1 do
    if Value[i] = '1' then
      Result := Result + (1 shl (iValueSize - i));
end;

 

{$ZEROBASEDSTRING ON} и работай с учётом что строка с 0 начинается.

 

Либо юзай хелперы

Ссылка на комментарий
  • 0
5 минут назад, rareMax сказал:

{$ZEROBASEDSTRING ON} и работай с учётом что строка с 0 начинается.

 

Либо юзай хелперы

Спасибо Вам большое! Я долго мучался. Вы подсказали в правильном направлении.

Вот, что было написано на офф. сайте http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Zero-based_strings_(Delphi)

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...