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

Tumaso

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

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

  • Посещение

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

    40

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

  1. @Ingalime 1. если высота фрейма зависит от данных, то да, вычисляйте высоту 2. по расположению создаваемых фреймов друго под другом - самый простой вариант использовать свойство Align у фреймов (устанавить в Top), для этого размещайте создаваемые фреймы на общем контейнере для них (например на VertScrollBox) условно говоря примерно так: procedure TForm1.AddFrame(const AParent: TFmxObject; const AData: TFrameData); var LFrame: TMyFrame; begin LFrame := TMyFrame.Create(Self); // или nil, если в дальнейшем будете сами уничтожать фреймы LFrame.Parent := AParent; LFrame.Align := TAlignLayout.Top; LFrame.Data := AData; // этим кодом предполагается заполнение фрейма данными, при котором фрейм заполнит выводимые компоненты и настроит свою высоту end; procedure TForm1.FillFrames; var I: Integer; begin for I := 0 to Data.Count - 1 do AddFrame(vsbFrames, Data[I]); // vsbFrames - TVertScrollBox для размещения фреймов, Data - список данных для отображения, каждый элемент - данные для отдельного фрейма end;
  2. Другой вариант - использование TListView
  3. Я бы сделал шаблонный фрейм, в котором бы выводил текст с помощью TText (или TLabel или другой), если нужно выводить картинки - TImage и т.д. Далее для каждой карточки создаете свой экземпляр фрейма и в качестве параметров передаете значения отображаемых полей. Легко в реализации, гибко, работает на всех платформах, включая Linux через FmxLinux
  4. Еще вариант, из бесплатного - библиотека Alcinoe. С ней вообще можно сделать в стиле vcl - в качестве контейнера vertscrollbox, в качестве элементов - панели и текстовые метки
  5. Почему вы решили, что стандартный TListView не подойдет? Прекрасно подойдет. Посмотрите демо, идущее с делфи, в каталоге C:\Users\Public\Documents\Embarcadero\Studio\версия\Samples\Object Pascal\Multi-Device Samples\User Interface\ListView\VariableHeightItems. Для вашей задачи - идеальный старт
  6. ImageLocationSample это банально TImage, в котором я храню изображение маркера - заказчик хотел, чтобы маркеры отображались в его корпоративном стиле у меня был загружен в TImage как .png
  7. Я делал так, маркер устанавливался в заданную позицию при создании: var LLocation: TMapCoordinate; LMarker: TMapMarkerDescriptor; LLocation := TMapCoordinate.Create(DEFAULT_LATITUDE, DEFAULT_LONGITUDE); LMarker := TMapMarkerDescriptor.Create(LLocation, 'Название метки'); LMarker.Icon := ImageLocationSample.Bitmap; MapView.AddMarker(LMarker); MapView.Zoom := DEFAULT_ZOOM; где DEFAULT_LATITUDE и DEFAULT_LONGITUDE это мои константы с нужной координатой маркера
  8. Эх, Елена, вы лично сами вообще разбираетесь в линейке своих продуктов? FastReport VCL это генератор отчетов для делфи. Но и FastReport FMX это тоже генератор отчетов для делфи. FastReport VCL работает только под windows (VCL как бы прозрачно на это намекает, не правда ли?) FastReport FMX работает и под windows, и под macOS. Но не работает под Linux, что весьма грустно, т.к.моими заказчиками востребовано
  9. Интересует Fast Report FMX именно для делфи, а не для lazarus/c#
  10. @ElenaS. молодцы. Есть такой вопрос - а поддержку Linux собираетесь добавлять?
  11. @Евгений Корепов подскажи, у тебя под ubuntu 18.04 нормально работает? я пробовал другую похожую либу, с ней под debian приложение работает нормально, а вот под убунтой приложение при старте иногда зависает. p.s. твой вариант еще не тестировал, поэтому и спрашиваю ?
  12. @Sashar333 если вы из потока меняете визуальные компоненты в основном потоке приложения, то вам нужно оборачивать изменения визуальных компонентов в синхронизацию. А правильнее будет в потоке получить только данные, а созданием компонентов и их заполнением должен заниматься главный поток. Т.е. в потоке считываете данные в TStringList, а код парсинга этого текста переносите в форму
  13. Зарегистрируйся как самозанятый (НПД), тогда проблема с аккаунтом уйдет (ты останешься физлицом)
  14. В моем проекте этот способ не работает
  15. А как Fill формы влияет на артефакты при отрисовке текста? У меня у формы fill всегда дефолтный, тем не менее артефакты пристутствуют
  16. @Makaвоз и ныне там, артефакты никуда не делись. Поэтому каждый борется как может. Мой способ борьбы - отложенная перерисовка формы/фрейма, в большинстве случаев помогает (т.е. сначала артефакты все равно есть, но перерисовывая форму через 500 мс - артефакты уходят)
  17. Пример моего кода, который корректно отправляет/получает данные: function Post(const ASession: TNetHTTPClient; const AUrl: string; const ASource: TStrings; const AIsURLEncode: Boolean): string; var LResult: TStringStream; begin Result := ''; LResult := TStringStream.Create('', TEncoding.UTF8); try ASession.AcceptCharSet := 'utf-8'; if AIsURLEncode then ASession.Post(TNetEncoding.URL.Encode(AUrl, [], []), ASource, LResult) else ASession.Post(AUrl, ASource, LResult); Result := LResult.DataString; finally LResult.DisposeOf; end; end;
  18. Вы можете самостоятельно реализовать собственную библиотеку для разработчиков C++, и получите почет, уважение и деньги
  19. Что, серьезно?)
  20. Видео весьма интересные, поэтому пожалуйста не удаляйте тему. Думаю, что субтитры на английском языке решат проблему озвучки видео, и мы, русскоязычные разработчики сможем в полной мере оценить труд турецкого разработчика.
  21. @Евгений Корепов 2G как был медленным, так медленным и остался ?
  22. Tumaso

    TBluetoothLE, Android

    @vovanse вынеси работу с TBluetoothLE в отдельный поток, и тогда приложение подвисать не будет
  23. Вообще на этом форуме обсуждают приложения написанные на Delphi + FMX, а другие системы разработки обсуждают на других, специализированных форумах/чатах/группах
  24. А оно на чем написано?)))
×
×
  • Создать...