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

Tumaso

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

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

  • Посещение

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

    39

Сообщения, опубликованные Tumaso

  1. Я бы сделал шаблонный фрейм, в котором бы выводил текст с помощью TText (или TLabel или другой), если нужно выводить картинки - TImage и т.д.
    Далее для каждой карточки создаете свой экземпляр фрейма и в качестве параметров передаете значения отображаемых полей.

    Легко в реализации, гибко, работает на всех платформах, включая Linux через FmxLinux
     

  2. Почему вы решили, что стандартный TListView не подойдет? Прекрасно подойдет.

    Посмотрите демо, идущее с делфи, в каталоге C:\Users\Public\Documents\Embarcadero\Studio\версия\Samples\Object Pascal\Multi-Device Samples\User Interface\ListView\VariableHeightItems. Для вашей задачи - идеальный старт

  3. Я делал так, маркер устанавливался в заданную позицию при создании:

    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 это мои константы с нужной координатой маркера

  4. Эх, Елена, вы лично сами вообще разбираетесь в линейке своих продуктов? FastReport VCL это генератор отчетов для делфи. Но и FastReport FMX это тоже генератор отчетов для делфи.
    FastReport VCL работает только под windows (VCL как бы прозрачно на это намекает, не правда ли?)
    FastReport FMX работает и под windows, и под macOS. Но не работает под Linux, что весьма грустно, т.к.моими заказчиками востребовано

  5. @Евгений Корепов

    подскажи, у тебя под ubuntu 18.04 нормально работает? я пробовал другую похожую либу, с ней под debian приложение работает нормально, а вот под убунтой приложение при старте иногда зависает.

    p.s. твой вариант еще не тестировал, поэтому и спрашиваю ?

  6. @Sashar333

    если вы из потока меняете визуальные компоненты в основном потоке приложения, то вам нужно оборачивать изменения визуальных компонентов в синхронизацию.

    А правильнее будет в потоке получить только данные, а созданием компонентов и их заполнением должен заниматься главный поток. Т.е. в потоке считываете данные в TStringList, а код парсинга этого текста переносите в форму

  7. 3 часа назад, Slym сказал:

    Лечение уже обсуждалось, что-то найти не могу...
    у формы Fill сбрасываем в дефолт, любая заливка формы через отдельный ректангл.

    А как Fill формы влияет на артефакты при отрисовке текста? У меня у формы fill всегда дефолтный, тем не менее артефакты пристутствуют

  8. @Makaвоз и ныне там, артефакты никуда не делись. Поэтому каждый борется как может.
    Мой способ борьбы - отложенная перерисовка формы/фрейма, в большинстве случаев помогает (т.е. сначала артефакты все равно есть, но перерисовывая форму через 500 мс - артефакты уходят)

  9. Пример моего кода, который корректно отправляет/получает данные:
     

    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;
    

     

  10. 2 часа назад, vasilius сказал:

    Просто Вы мыслете в формате Делфи...  А есть те, кто мыслит в формате С++...

    Ваш FGX, судя по всему, идет тем же путем - игнорирование разработчиков на С++.... ну или в последнюю очередь...

     

    Вы можете самостоятельно реализовать собственную библиотеку для разработчиков C++, и получите почет, уважение и деньги

  11. 14 часов назад, Slym сказал:

      JSON := TJSONObject.ParseJSONValue(Answerreqest);
      //if not Assigned(JSON) then exit(false); //<<< прикинь даже не обязательно проверять на nil :) JPath работает через FindValue - а он сам проверяет на nil
      try
        if JSON.TryGetValue<TJSONObject>('request',JRequest) then

    Что, серьезно?)

  12. 1 час назад, Alialioglu2016 сказал:

    Здравствуйте. Если это не работает для вас, или если вы считаете этот труд чепухой; Вы можете удалить тему.

    Видео весьма интересные, поэтому пожалуйста не удаляйте тему. Думаю, что субтитры на английском языке решат проблему озвучки видео, и мы, русскоязычные разработчики сможем в полной мере оценить труд турецкого разработчика.

  13. Попробуй при создании приложения единоразово вызвать процедуру PreloadContent(TabControl2), где PreloadContent определена следующим образом:

    procedure PreloadContent(const AControl: TControl);
    {$IF DEFINED(ANDROID) or DEFINED(IOS)}
    var
      I: Integer;
    {$ENDIF}
    begin
    {$IF DEFINED(ANDROID) or DEFINED(IOS)}
      if AControl is TStyledControl then
        TStyledControl(AControl).ApplyStyleLookup;
      if AControl.ControlsCount > 0 then
        for I := 0 to AControl.ControlsCount - 1 do
          PreloadContent(AControl.Controls[I]);
    {$ENDIF}
    end;

     

  14. 50 минут назад, Александр Лукьянов (Filament Extruder 1.75) сказал:

    сам прибор нужно воспринимать как камера. микроскопом он становится из за линз. у меня к сожалению знаний маловато. мой уровень - скачать чужой компонент и применить. или исходники какие нибудь переделать под себя.

    а этот микроскоп определяется андроидом как стандартная камера? если да, то задача несложная. В rio вообще всё из коробки, в berlin нужен дополнительный модуль запроса разрешений (для андроид 6+), а с камерой можно работать из коробки

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