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

Неадекватное поведение приложения под Android...


HyperZen

Вопрос

Добрый день!

Вот пример простенького приложения - генератор паролей с простейшим алгоритмом неповторяющихся символов.

Под Windows работает все корректно, вообще без каких-либо нареканий. Но вот под Андроид: генерируется любое количество символов (иногда и нужное количество, заданное трэкбаром), появляются артефакты, иногда выдает вообще пустое окно. Посмотрите, пожалуйста, в чем дело, ничего не пойму :)

Некорректная работа наблюдается как на реальном устройстве, так и на эмуляторе.

(Windows 10 64 bit, Berlin Update 2).

PassGen.rar

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

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

  • 0

думаю, вы упускаете этот момент

http://docwiki.embarcadero.com/RADStudio/Seattle/en/Zero-based_strings_(Delphi)

в андроид индексы в строках идут с 0, на десктопе - с 1

и, насколько я помню, все движется в сторону immutable strings, когда нельзя будет заменить конкретный символ в строке кроме как составлением новой строки

так что приводите свой алгоритм в соответствие с этими вводными

Ссылка на комментарий
  • 0
  if (LengthPassword > Length(Symb)) then TempLengthPassw := Length(Symb)
    else TempLengthPassw := LengthPassword;

//  ShowMessage('LenghtPassword: ' + LenghtPassword.ToString + ', Length(Symb): ' + Length(Symb).ToString + ' ' + Symb[0]);

  SetLength(Result, TempLengthPassw); // устанавливаем длину конечной строки
  LengthSymb := Length(Symb); // Длина Таблицы для внутреннего цикла

  N := 0;

  while N < TempLengthPassw do
    begin
      TempLetter := Random(LengthSymb);
      // проверяем присутствие этого символа в конечной строке
      if (Pos(Symb[TempLetter], Result) = 0) then
        begin
          Result[N] := Symb[TempLetter]; // теперь его сохраняем
          Inc(N); // символ не найден
        end;
    end;

 

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

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

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

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

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

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

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

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

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

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

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