krapotkin

Пользователи
  • Публикаций

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

  • Посещение

  • Победитель дней

    68

Весь контент krapotkin

  1. ListView - DynamicAppearance - header

    OnPullRefresh но это неспортивно ) надо пытаться заранее, а не когда уже всё у listView есть ScrollViewPos
  2. ListView - DynamicAppearance - header

    давно уже все говорили, что все эти биндинги плохо решают реальные задачи бесконечная прокрутка должна реализовываться как удаление итемов из направления "позади" и добавление в направление "впереди" в зависимости от направления прокрутки обработчик OnScrollViewChange. направление прокрутки определять самостоятельно при достижении некоторого индекса нужно запускать поток, который запрашивает новую порцию данных когда поток заканчивается, данные подгружать в ListView
  3. золотые слова ) мне лень было столько букв писать )))
  4. есть же шаблон сайта, который ты запускал. Сделай его просто статикой, да и все. Сколько там будет страниц 3 ? 4 ? имхо вполне как вариант
  5. ListView - DynamicAppearance - header

    а если еще подумать, то это окажется то же самое )))
  6. ListView - DynamicAppearance - header

    что ж у вас так запутанно-то всё procedure TfMain.b1Click(Sender: TObject); var li:TListViewItem; begin li := lv1.Items[0]; ShowMessage(li.text); end; procedure TfMain.FormCreate(Sender: TObject); var li:TListViewItem; begin li := lv1.Items.Add; li.Purpose := TListItemPurpose.Header; li.Text := '12345'; li.Detail :='67890'; end;
  7. насколько я понимаю, сама делфи к этому отношения почти не имеет она же рисуется стандартным GDI ?
  8. у каждого компонента есть BoundsRect. Нужно просто сравнить, не попадает ли XY в этот rect .
  9. стили они собсно не для этого. не для размещения компонентов интерфейса на листбокс вполне ложатся компоненты и так. без велосипедов программировать лучше, чем с ними
  10. ListView - DynamicAppearance - header

    а что вариант из первого ответа не?
  11. ну так и приведите пример то. циклы не могут быть сломаны. это привело бы к полному коллапсу
  12. ну дык CartList - локальная переменная. не инициализирована. её б сначала SetLength, а потом уже делать что-либо SetLength(CartList,1); if CartList<>nil then begin rz:=Length(CartList); for iio := 0 to rz-1 do begin Rec:=CartList[iio]; end; end; rz=1; цикл проходит 1 раз все штатно
  13. я тут соглашусь со Станиславским. не верю ) дайте код High - это ИНДЕКС последнего элемента массива если в массиве 1 элемент, то индекс его равен 0
  14. я практик. ))) если запустить GetTickCount то он стабильно дает сначала 0, потом 16 мсек )))
  15. услышьте plz. в токио перешли на "правильную" работу в едином потоке с Java. Вообще это хорошо. Но вся FMX писалась в расчете на старую модель. А теперь те фишки не работают ))) когда поменяют - ХЗ поэтому универсальный ответ - смотрите как это сделано в исходниках, например у TAnimation там все понятно. ProcessMessages точно не будет работать больше. Наконец-то г"внокод умрет. Аллилуйя. Чтобы ответить на вопрос, как часто может быть вызван таймер, надо не срач на форуме устраивать а просто попробовать. И станет ясно, что 1000 fps не получить. И 100. Возможно, при попутном ветре, 10.
  16. трудно придумать что-то, что может успеть выполниться менее чем за 1 мсек на десктопе, а на мобильном и подавно так что вы немного остудите жар-то ))
  17. ну и хорошая идея вместо обвешивания {DEFINE} в одном файле сделать базовый класс и двух наследников раскидать по модулям xxx.android.pas и xxx.ios.pas и в конечном файле просто uses {$IFDEF android} xxx.android.pas {$endif} {$ifdef ios} xxx.ios.pas {$endif}
  18. у вас алгоритм очень странно выглядит начать загрузку в потоке 1 пока не загрузилось, каждые 10 мсек уходить и возвращаться в поток 1 т.к. загрузка в потоке 1, а мы из него так и не выходили, то ничего и не загрузится... на самом-то деле алгоритм простой как мычание запустить загрузку когда закончится загрузка (событие onLoadComplete) делать что-то там, что надо делать дальше ну или запустить там TThread.Queue(procedure begin {что делать дальше} end); тогда это запустится после выхода из onLoadComplete
  19. стиль нужно менять для каждой системы индивидуально. но основой стиля является большой PNG из которого тащатся картинки для контролов а его перенести в другой стиль несложно
  20. я давно говорил, что использование Button.Click(); это беда. При появлении FMX это стало невозможно, и многие плакали. Но вещь правильная Так же давно я всяко боролся с Application.ProcessMessages. Теперь они по факту запрещены ))) Тенденция, аднака ))))