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

chaplin.u@gmail.com

Пользователи
  • Постов

    275
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные chaplin.u@gmail.com

  1. Видимо картинка не чёткая и люди не видят кода. Вот может так будет понятнее :

    -------------------------------------------------------------------

    void  __fastcall TForm1::SetMinIndex(void)
    {
        TListBoxItem *CurListBoxItem;

        for (int i = 0; i < ListBox1->Items->Count; i++)
        {
            CurListBoxItem =  ListBox1->ItemByIndex(i);

            if(CurListBoxItem->Tag > 0)
            {
                 Imin = i;
                 return;
            }
        }

        Memo1->Lines->Add("Imin"+ IntToStr(Imin));
    }

    -------------------------------------------------------------------

    Как видите количество задаётся  ListBox1->Items->Count  а индекс ListBox1->ItemByIndex(i).

    А вопрос был почему этот код делает ошибку ? Вроде всё по учебнику.

     

     

  2. Столкнулся с разницей в нумерации индексов ( в Вин32 начинается с 0 а в Анроиде с 1 ). Решил при запуске программы находить минимальный индекс.

    Поставил на каждый TListBoxItem  Tag > 0 ( 1,2...) . Написал функцию а она рушит апликацию на старте. Не могу понять что ей не нравится.

    Capture.PNG

     Imin определил как глобальную переменную  - int Imin = 0;

    если убираю эту функцию - программа стартует нормально.

     

     

  3. П

    11 минут назад, Brovin Yaroslav сказал:

    А я вам ниже написал:

    При чем здесь Children?

    При том что мне нужны не  ListBoxItem  а элементы на них расположеные. А к ним доступ как вы выше сказали  " бегать по чилдам" .

     

  4. Поставил несколько TCheckBox на TListBox и на 4 инчевой  мобилке очень плохо реагируют на нажатия пальцами. В лучшем случае требуется пару раз тапнуть а то и пять-шесть.

    Причём пока никакого кода не вводил. По умолчанию у всех стоит  HitTest = True.

  5. Пошёл по Tag-ам. Создал динамически   ListBoxItem-ы и проставил им Tag. Только вот когда сканирую по чилдам "(for (int i = 1; i < ListBox1->ChildrenCount; i++) " то по обращению  CurListBoxItem = ListBox1->Children->Items; ругается :

    [bcc32 Error] Unit3.cpp(255): E2034 Cannot convert 'TFmxObject *' to 'TListBoxItem *'

    Почему он возвращает тип TFmxObject  хотя обьект был создан как TListBoxItem ?
      

  6. Я имею ввиду - будут ли работать все 3 опции  при вышеописанных обстоятельствах ?

    Нет ли каких-то ограничений ( по ресурсам , по совместимости...) ?

    Ну и в конце концов - чтобы Вы посоветовали не искушЁнному программисту. 

  7. Сузим количество версий по параметру - мультиплатформенная апликация (iOS/Android) . Во всех ли платформах будут работать все опции ?

    По идеи пользователь может выбрать 7 значений ( либо 7 разных значений времени в один день недели. либо одно время в 7 разных днях).

    И тогда нужно использовать 7   ListBoxItem. Так что лучше создать  их заранее и показывать их или создавать динамически ?

     

     

  8. 47 минут назад, krapotkin сказал:

    черт побери код

    
    procedure TForm1.Timer1Timer(Sender:TObject);
    begin
      progressBar1.value := progressBar1.value + 1;
    end;

    легче стало?

    нет не стало. я бы допустил что это дал ничего не понимающий в программировании человек но для гуру это туфта.

    Такой код я бы не написал. по этому коду прогрес бар движется как паровоз " в комуне остановка".

     

  9. Я хочу создать кросплатформеную апликацию использующую BLE.  Зашёл в примеры и выбрал :

    C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\CPP\Multi-Device Samples\Device Sensors and Services\Bluetooth\ExploreDevicesLE

    Во- первых Multi-Device оказался только Windows и OSX. И возможности добавить Андроид или ещё чего-то нет. См. картинку.

    Во-вторых после запуска приложения оно ругается на отсутствие DLL.

    Просьба помоь решить проблемы и/или указать на места где есть рабочие примеры и реально Multi-Device.

     

    BLE.PNG

    plat.png

×
×
  • Создать...