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

Генерация рандомных букв. Android. Delphi XE7.


Satellite

Вопрос

На Windows функция генерации работает отлично, а вот на Android она подкашивается и появляются какие-то пробелы, точнее даже не пробелы, а пустота. Сама функция такая:

 function getRandChar(exc:string):string;
  var
    i:integer;
    cl:string;
  begin
    cl:='АБВГДЕЖЗИКЛМНОПРСТУЧЫЭЮЯ';
    Result:=#0;
    for i:=1 to length(exc) do
    begin
      delete(cl,Pos(exc[i],cl),1);
    end;
    Result:=cl[1+random(Length(cl))];
  end;

Далее результат присваивается к двумерному кнопочному массиву:

  For j:=0 to High(btn) do
  begin
    for i:=0 to High(btn[j]) do
    begin
      btn[j,i].text:=getRandChar(temp_s);
    end;
  end;

temp_s - это заданное слово. не понимаю почему на android'e попадаются этакие пробелы. чяднт?

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

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

  • 0

различные длины байтов для символов в разных кодировках. в юникоде два байта для символа в utf8 для нглийских букв один для русских два. прочитайте в инете как правильно работать с уникодными строками в делфи начиная с 2010 версии. 

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

Добрый день!

Приложения, собираемые под мобильную платформу содержат отличие в работе со строками - нумерация символов идет с 0. Возможно дело в этом.

    for i:=Low(exc) to High(exc) do
    begin
      delete(cl,Pos(exc[i],cl),1);
    end;

Такой код должен работать одинаково на всех платформах.

Подробнее можно почитать здесь:

http://docwiki.embarcadero.com/RADStudio/XE6/en/Migrating_Delphi_Code_to_Mobile_from_Desktop

Изменено пользователем Andrey Yefimov
Поправил ссылку
Ссылка на комментарий
  • 0
  • Администраторы

Добрый день,

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

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

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

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

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

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

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

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

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

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

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