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

enatechno

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

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

  • Посещение

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

    26

Активность репутации

  1. Like
    enatechno получил реакцию от Anatoliy в Вывод/отображение нескольких картинок на форме   
    Основные отличия:

    TImageControl - при клике на нем во время выполнения десктоп-приложения открывается диалоговое окно открытия файла, где можно выбрать картинку для отображения в ImageControl. Отображаемая картинка автоматически масштабируется под размеры контрола.

    TImageViewer  - наследник от TCustomScrollBox и имеет встроенные скроллбары. На десктопах изображение может смещаться с помощью мыши и масштабироваться  (колесиком мыши). Также в демках, идущих с RAD, есть пример как масштабировать изображение с помощью жестов на устройствах с тачскрином.  
  2. Like
    enatechno получил реакцию от Rusland в Вывод/отображение нескольких картинок на форме   
    Тогда стандартные стили Вам не подойдут. Создавайте свой стиль для ListBoxItem на базе стандартного или "с нуля". Тут описано как это можно сделать.

    Вот подправил пример. Создал mylistboxitemstyle в котором только 2 элемента - text и image. Этот стиль загружен в StyleBook1 и указан в Listbox1.DefaultItemStyles.ItemStyle. Можете редактировать этот стиль прямо в StyleBook, добавляя новые элементы и располагая их как Вам нужно.

     
    tstListbox1.rar
  3. Like
    enatechno получил реакцию от Равиль Зарипов (ZuBy) в Вывод/отображение нескольких картинок на форме   
    Из стандартных иконку отображают: listboxitembottomdetail, listboxitemleftdetail, listboxitemnodetail, listboxitemrightdetail.
     
    tstListbox1.zip
  4. Like
    enatechno получил реакцию от Anatoliy в Вывод/отображение нескольких картинок на форме   
    Тогда стандартные стили Вам не подойдут. Создавайте свой стиль для ListBoxItem на базе стандартного или "с нуля". Тут описано как это можно сделать.

    Вот подправил пример. Создал mylistboxitemstyle в котором только 2 элемента - text и image. Этот стиль загружен в StyleBook1 и указан в Listbox1.DefaultItemStyles.ItemStyle. Можете редактировать этот стиль прямо в StyleBook, добавляя новые элементы и располагая их как Вам нужно.

     
    tstListbox1.rar
  5. Like
    enatechno получил реакцию от Равиль Зарипов (ZuBy) в Вывод/отображение нескольких картинок на форме   
    Тогда стандартные стили Вам не подойдут. Создавайте свой стиль для ListBoxItem на базе стандартного или "с нуля". Тут описано как это можно сделать.

    Вот подправил пример. Создал mylistboxitemstyle в котором только 2 элемента - text и image. Этот стиль загружен в StyleBook1 и указан в Listbox1.DefaultItemStyles.ItemStyle. Можете редактировать этот стиль прямо в StyleBook, добавляя новые элементы и располагая их как Вам нужно.

     
    tstListbox1.rar
  6. Like
    enatechno получил реакцию от Rusland в Вывод/отображение нескольких картинок на форме   
    Из стандартных иконку отображают: listboxitembottomdetail, listboxitemleftdetail, listboxitemnodetail, listboxitemrightdetail.
     
    tstListbox1.zip
  7. Like
    enatechno получил реакцию от Anatoliy в Вывод/отображение нескольких картинок на форме   
    Из стандартных иконку отображают: listboxitembottomdetail, listboxitemleftdetail, listboxitemnodetail, listboxitemrightdetail.
     
    tstListbox1.zip
  8. Like
    enatechno получил реакцию от Anatoliy в Выравнивание текста внутри динамического Label   
    LabelG.StyledSettings := []; ... LabelG.TextSettings.HorzAlign := TTextAlign.Center; with LabelG do - не нужен
  9. Like
    enatechno получил реакцию от Вячеслав Холод в Выравнивание текста внутри динамического Label   
    LabelG.StyledSettings := []; ... LabelG.TextSettings.HorzAlign := TTextAlign.Center; with LabelG do - не нужен
  10. Like
    enatechno получил реакцию от Winexcel в Выравнивание текста внутри динамического Label   
    LabelG.StyledSettings := []; ... LabelG.TextSettings.HorzAlign := TTextAlign.Center; with LabelG do - не нужен
  11. Like
    enatechno отреагировална krapotkin в DataSnap android client   
    нигде. статический адрес вашему серверу выделяется провайдером за отдельные деньги
  12. Like
    enatechno отреагировална kami в Удаление сложных классов, Android   
    нет, совсем не на раз. Эта задача решается не совсем очевидным способом в том числе и на Windows (раз  два три , и это так - навскидку ). То, что вы не наткнулись на грабли в Windows - это очень хорошо. Вернее, плохо, потому что теперь вы считаете, что так делать можно. И потом возможны вопросы "вот почему раньше получалось, а с вот этим вот компонентом - нет".
    Кросс-платформенные варианты:
    Item.Release; TThread.CreateAnonimousThread(... TThread.Queue(...здесь любой использованный вами ранее код удаления всех компонентов)).Start: или аналог CreateAnonimousThread - TTask.Run
  13. Like
    enatechno получил реакцию от Rusland в Масштабирование изображения   
  14. Like
    enatechno получил реакцию от Anatoliy в Масштабирование изображения   
  15. Like
    enatechno отреагировална Равиль Зарипов (ZuBy) в Define для релиз-версии   
    честно не совсем понял о чем речь. директивы стандартные можно найти в справке ембы
    http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Conditional_compilation_(Delphi)
    http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Delphi_Compiler_Directives_(List)_Index
    ну и так далее
  16. Like
    enatechno отреагировална Равиль Зарипов (ZuBy) в [Андроид] кнопка с эффектом   
    если это основное действие в приложении, то в андроиде принято делать Floating Action Button (гугл в помощь)
    есть компоненты которые правильно рисуют фигуры (без лесенок и зазубрин), поверх компонента положить картинку или пиктограмму и будет стильно, современно, молодежно
  17. Like
  18. Like
    enatechno получил реакцию от Rusland в timage показать изображение круглым   
  19. Like
    enatechno отреагировална Fedor K в Удаление Item'ов из ListBox c помощью цикла while   
    Небольшое уточнение: они не удаляются только на мобильных платформах, т.к. идет вызов DisposeOf:
    //смотрим код в unit FMX.Types; procedure TFmxObject.DoDeleteChildren; ... Child := FChildren[I]; FChildren.Delete(I); Child.FParent := nil; Child.SetRoot(nil); Child.DisposeOf; // вот причина ошибки с именем на мобильных платформ, удалене контрола идет не сразу, а при обнулении ссылок ... Для RunTime компонентов лучше в качестве Owner указывать nil и задавать лишь Parent, чтобы уменьшить кол-во ссылок и путаницы.
  20. Like
    enatechno отреагировална kami в June FSM (FMX SPb Meeting)   
    небольшой фотоотчет. Будет время - напишу еще и результаты блиц-интервью участников.
    Начало встречи.

    потом было вот это

    ну и эпилог:

    на последнем фото, слева направо (без учета z-order): @kami @Error @Nik @Brovin Yaroslav
  21. Like
    enatechno отреагировална Fedor K в TWebBrowser и неверный ssl сертификат на сайте.   
    Причина такого поведения довольно простая - java библиотеки FMX часто передают в Delphi только уведомление о событии, без непосредственного влияния на процесс. Открываем библиотеку fmx.jar и смотрим код класса WebClient (package com.embarcadero.firemonkey.webbrowser;):
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { super.onReceivedSslError(view, handler, error);// обработка ошибки происходит здесь по дефолту if (this.mListener != null) { this.mListener.onReceivedSslError(view, handler, error);//передача в Delphi лишь уведомления, что событие произошло } } Одно из решений*:
    1. Заменяем** код на:
    public void onReceivedSslError(WebView paramWebView, SslErrorHandler paramSslErrorHandler, SslError paramSslError) { if (this.mListener != null) { this.mListener.onReceivedSslError(paramWebView, paramSslErrorHandler, paramSslError);//Delphi обработчик } else { super.onReceivedSslError(paramWebView, paramSslErrorHandler, paramSslError);//обработчик по умолчанию } } После манипуляций получаем свою версию библиотеки, мой пример здесь (Delphi Berlin).
    2. Подключаем библиотеку к проекту (скриншот ниже).
    3. Копируем unit FMX.WebBrowser.Android в папку своего проекта и меняем следующие строки:
    procedure TAndroidWebBrowserService.TWebBrowserListener.onReceivedSslError( P1: JWebView; P2: JSslErrorHandler; P3: JSslError); begin P2.proceed;//добавляем разрешение для истекших сертификатов FWBService.FailLoadingWithError;//стандартный обработчик OnDidFailLoadWithError end; *Если вариант изменения кода java библиотек совсем не подходит, можно реализовать все средствами Delphi. Для этого создаем свою реализация класса WebViewClient (или WebClient) и задаем его для JWebBrowser:
    //все тот же unit FMX.WebBrowser.Android; procedure TAndroidWebBrowserService.InitUIThread; var lClient : TWebBrowserCLientFix;//наш класс begin FJWebBrowser := TJWebBrowser.JavaClass.init(TAndroidHelper.Activity); FJWebBrowser.getSettings.setJavaScriptEnabled(True); lClient := TWebBrowserCLientFix.Create(Self); FJWebBrowser.setWebViewClient(lClient);//меняем на наш класс FListener := TWebBrowserListener.Create(Self); lClient.SetWebViewListener(FListener); //комментируем //FJWebBrowser.SetWebViewListener(FListener); **Замена кода происходит по тому же сценарию, как и создание своих собственных классов на java. Если кому потребуется помощь - пишите, я помогу ответами и примером.

  22. Like
    enatechno отреагировална sinuke в Посоветуйте, сделать TGrid из TListView. Как добавить кнопку-колонку в ListView   
    в МодернЛВ есть свойства для отступов. Можно задать верхний отступ для итемов, чтобы в эту область всунуть те же SpeedButton

  23. Like
    enatechno получил реакцию от Равиль Зарипов (ZuBy) в К знатокам SQL   
    точнее
     
    WHERE     ((FieldDate >= D1) OR (D1 IS NULL)) AND ((FieldDate <= D2) OR (D2 IS NULL))  
  24. Like
    enatechno получил реакцию от Rusland в Параллельные вычисления, System.Threading   
    Видео (Task, Future, Parallel, WaitForAll etc.) 
    и на русском
  25. Like
    enatechno получил реакцию от walexw в К знатокам SQL   
    точнее
     
    WHERE     ((FieldDate >= D1) OR (D1 IS NULL)) AND ((FieldDate <= D2) OR (D2 IS NULL))  
×
×
  • Создать...