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

krapotkin

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

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

  • Посещение

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

    209

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

  1. Like
    krapotkin получил реакцию от dnekrasov в Получение времени от серверов времени   
    TIdTime is a client implementation of the Time Protocol as described in the Internet Standards document:

    RFC 868 - Time Protocol (http://www.rfc-editor.org/rfc/rfc868.txt)

    Time is a simple protocol for synchronizing time on a local network. For a time protocol with higher accuracy over several networks, use TIdSNTP. To retrieve the current date and time in human-readable form, use TIdDayTime.

    Please note that the Time Protocol in its current form cannot handle most dates after the year 2035. This limitation is stated in RFC 868.
  2. Thanks
    krapotkin получил реакцию от Bob32 в Получение времени от серверов времени   
    если даже не использовать NTP
    При каждом HTTP запросе в ответе приходят заголовки. Например
    Connection: keep-alive
    Strict-Transport-Security: max-age=0
    Content-Encoding: 
    Content-Type: text/html; charset=utf-8
    Date: Fri, 05 Apr 2019 07:02:28 GMT
    Server: nginx
     
  3. Like
    krapotkin получил реакцию от Ingalime в Получение времени от серверов времени   
    TIdTime is a client implementation of the Time Protocol as described in the Internet Standards document:

    RFC 868 - Time Protocol (http://www.rfc-editor.org/rfc/rfc868.txt)

    Time is a simple protocol for synchronizing time on a local network. For a time protocol with higher accuracy over several networks, use TIdSNTP. To retrieve the current date and time in human-readable form, use TIdDayTime.

    Please note that the Time Protocol in its current form cannot handle most dates after the year 2035. This limitation is stated in RFC 868.
  4. Thanks
    krapotkin получил реакцию от Vitaldj в [Win32] На TButton не отображается иконка   
    сделали бы проект минимальный, выложили сюда, мы бы открыли на 10.3 и решили бы...
  5. Like
    krapotkin получил реакцию от Ingalime в [Win32] На TButton не отображается иконка   
    сделали бы проект минимальный, выложили сюда, мы бы открыли на 10.3 и решили бы...
  6. Like
    krapotkin получил реакцию от Ingalime в Отправить на печать несколько изображений сразу   
    если вы сами решаетесь печатать, вам нужно самостоятельно производить все расчеты.
    для этого нужно ознакомиться с документацией http://docwiki.embarcadero.com/RADStudio/Rio/en/Printing_from_a_FireMonkey_Application
    далее используем Printer.PageWidth и PageHeight
    вы знаете размер бумаги в мм и знаете размер страницы в точках
    далее идет тема Пропорции, 4-й класс, чтобы разместить то что вам нужно в правильное место хоть в точках, хоть в мм
  7. Thanks
    krapotkin получил реакцию от Bob32 в Типовая задача доступа к данным - Нужен дельный совет   
    по вопросам.
    1) выбор на хостингах невелик - MySQL, Postgres.  Я PG выбрал чисто в силу интереса и он вроде поближе к стандартам, и у него ХП и другие всякие штуки.... Сижу на SWEB.RU. Опять же просто потому что давно. Есть и masterhost и любой другой крупный провайдер подойдет.
    2) не путаем хостинг с бэкенд-сервером (BAS). Типа Firebase или Amazon или еще туча. на хостинге у вас все свое. что написали то и работает. на BAS есть много приятных плюшек. Довольно платных ессно. Зато и push и email рассылки и админка...
    3) MSSQL не вариант. Веб в основном на Linux.
    4) обычно просто THttpClient. На нем нормально пишется клиентская часть API
    5) обычная схема. просто с нуля некоторые вещи пилить. зато бесплатно. Практика показывает что иногда лучше заплатить и получить богатое приложение сразу. но иногда как написал Евгений, потом можно упереться в ограничения сервисов. Но можно решать проблемы по мере поступления...
     
  8. Like
    krapotkin получил реакцию от Евгений Корепов в Как отловить нажатие на кнопку "Домой" на android   
    для этого нужно менять глубже
    в нормальном состоянии система всегда позволяет закрыть программу / перейти на домашний экран
    и нужно зарегистрировать свою программу как лаунчер и  еще удалить лаунчер стандартный и в защищенных настройках ОС тоже покрутить правильные ручки
     
    есть мануалы для программ на яве
    пример
    можно попробовать их реализовать тут
  9. Like
    krapotkin получил реакцию от Ingalime в Переезд на 10.3 Rio   
    да.
    хотя идея создавать форму из потока так себе идея.
    я стараюсь просто потоку с собой сунуть ссылку на прогресс-бар, фрейм или форму. 
    и уж точно не делать это глобальной переменной !
  10. Like
    krapotkin получил реакцию от Sergionn в Переезд на 10.3 Rio   
    сколько бед принесла уже стрельба в ногу под названием ProcessMessages
    как хорошо, что в Андроиде наконец всех отучат от этого крайне вредного трюка
    давайте формально 
    все что там у вас "высоконагруженное" выносите в потоки и пусть они работают. Ваши "потоки" пасутся в главном (Synchronize) и никакого толка нет
    концепцию надо поменять. запустили поток и занимайтесь своим делом. например покажите Splash
    а вернется поток - вот по возвращению и сделаете то, что этот Splash закроет.
    и уж точно потоки не должны ничего общего иметь с формами
    я писал статью про потоки, там про сплеши тоже есть в блоге и про ProcessMessages отдельная боль...
    http://www.cyberforum.ru/blogs/469693/blog4875.html
     
  11. Like
    krapotkin получил реакцию от #WAMACO в Типовая задача доступа к данным - Нужен дельный совет   
    по вопросам.
    1) выбор на хостингах невелик - MySQL, Postgres.  Я PG выбрал чисто в силу интереса и он вроде поближе к стандартам, и у него ХП и другие всякие штуки.... Сижу на SWEB.RU. Опять же просто потому что давно. Есть и masterhost и любой другой крупный провайдер подойдет.
    2) не путаем хостинг с бэкенд-сервером (BAS). Типа Firebase или Amazon или еще туча. на хостинге у вас все свое. что написали то и работает. на BAS есть много приятных плюшек. Довольно платных ессно. Зато и push и email рассылки и админка...
    3) MSSQL не вариант. Веб в основном на Linux.
    4) обычно просто THttpClient. На нем нормально пишется клиентская часть API
    5) обычная схема. просто с нуля некоторые вещи пилить. зато бесплатно. Практика показывает что иногда лучше заплатить и получить богатое приложение сразу. но иногда как написал Евгений, потом можно упереться в ограничения сервисов. Но можно решать проблемы по мере поступления...
     
  12. Like
    krapotkin получил реакцию от Barbanel в Типовая задача доступа к данным - Нужен дельный совет   
    по вопросам.
    1) выбор на хостингах невелик - MySQL, Postgres.  Я PG выбрал чисто в силу интереса и он вроде поближе к стандартам, и у него ХП и другие всякие штуки.... Сижу на SWEB.RU. Опять же просто потому что давно. Есть и masterhost и любой другой крупный провайдер подойдет.
    2) не путаем хостинг с бэкенд-сервером (BAS). Типа Firebase или Amazon или еще туча. на хостинге у вас все свое. что написали то и работает. на BAS есть много приятных плюшек. Довольно платных ессно. Зато и push и email рассылки и админка...
    3) MSSQL не вариант. Веб в основном на Linux.
    4) обычно просто THttpClient. На нем нормально пишется клиентская часть API
    5) обычная схема. просто с нуля некоторые вещи пилить. зато бесплатно. Практика показывает что иногда лучше заплатить и получить богатое приложение сразу. но иногда как написал Евгений, потом можно упереться в ограничения сервисов. Но можно решать проблемы по мере поступления...
     
  13. Like
    krapotkin получил реакцию от Ingalime в Типовая задача доступа к данным - Нужен дельный совет   
    по вопросам.
    1) выбор на хостингах невелик - MySQL, Postgres.  Я PG выбрал чисто в силу интереса и он вроде поближе к стандартам, и у него ХП и другие всякие штуки.... Сижу на SWEB.RU. Опять же просто потому что давно. Есть и masterhost и любой другой крупный провайдер подойдет.
    2) не путаем хостинг с бэкенд-сервером (BAS). Типа Firebase или Amazon или еще туча. на хостинге у вас все свое. что написали то и работает. на BAS есть много приятных плюшек. Довольно платных ессно. Зато и push и email рассылки и админка...
    3) MSSQL не вариант. Веб в основном на Linux.
    4) обычно просто THttpClient. На нем нормально пишется клиентская часть API
    5) обычная схема. просто с нуля некоторые вещи пилить. зато бесплатно. Практика показывает что иногда лучше заплатить и получить богатое приложение сразу. но иногда как написал Евгений, потом можно упереться в ограничения сервисов. Но можно решать проблемы по мере поступления...
     
  14. Like
    krapotkin получил реакцию от Евгений Корепов в Переезд на 10.3 Rio   
    сколько бед принесла уже стрельба в ногу под названием ProcessMessages
    как хорошо, что в Андроиде наконец всех отучат от этого крайне вредного трюка
    давайте формально 
    все что там у вас "высоконагруженное" выносите в потоки и пусть они работают. Ваши "потоки" пасутся в главном (Synchronize) и никакого толка нет
    концепцию надо поменять. запустили поток и занимайтесь своим делом. например покажите Splash
    а вернется поток - вот по возвращению и сделаете то, что этот Splash закроет.
    и уж точно потоки не должны ничего общего иметь с формами
    я писал статью про потоки, там про сплеши тоже есть в блоге и про ProcessMessages отдельная боль...
    http://www.cyberforum.ru/blogs/469693/blog4875.html
     
  15. Thanks
    krapotkin получил реакцию от Bob32 в Рисование маркеров на определенных уровнях Zoom-a   
    маркерами управляете только вы сами
    поэтому не выбрасывайте ссылки на созданные маркеры, а самостоятельно добавляйте удаляйте их при смене масштаба карты
  16. Like
    krapotkin получил реакцию от Anatoliy в Фреймворк для стандартного ListView   
    Вот и картинки подвезли. Идиотский Deployment отказывается переписывать старые файлы на новые....
    Пока полностью не удалил приложение, файл-описание раскладки был старый, без картинок
    Как видно из заголовка 3000+ итемов с авторасчетом высоты. 6 секунд
    Крутится плавно...

    ListViewTest.apk.rar
  17. Thanks
    krapotkin получил реакцию от scbeast в Переезд на 10.3 Rio   
    научили конечно ))) все придумано до нас
    вот статья
    вот так в грубом приближении должно это быть 
    p.s. Забыл удалить из ваших форм эти циклы, которых там быть не должно
    Форма - это интерфейс взаимодействия с пользователем. Данные должны жить отдельно.
    test10.3.zip
  18. Like
    krapotkin получил реакцию от Yarpda в Переезд на 10.3 Rio   
    научили конечно ))) все придумано до нас
    вот статья
    вот так в грубом приближении должно это быть 
    p.s. Забыл удалить из ваших форм эти циклы, которых там быть не должно
    Форма - это интерфейс взаимодействия с пользователем. Данные должны жить отдельно.
    test10.3.zip
  19. Like
    krapotkin получил реакцию от Ingalime в Переезд на 10.3 Rio   
    научили конечно ))) все придумано до нас
    вот статья
    вот так в грубом приближении должно это быть 
    p.s. Забыл удалить из ваших форм эти циклы, которых там быть не должно
    Форма - это интерфейс взаимодействия с пользователем. Данные должны жить отдельно.
    test10.3.zip
  20. Like
    krapotkin получил реакцию от gonzales в Переезд на 10.3 Rio   
    научили конечно ))) все придумано до нас
    вот статья
    вот так в грубом приближении должно это быть 
    p.s. Забыл удалить из ваших форм эти циклы, которых там быть не должно
    Форма - это интерфейс взаимодействия с пользователем. Данные должны жить отдельно.
    test10.3.zip
  21. Like
    krapotkin получил реакцию от Tumaso в Переезд на 10.3 Rio   
    сколько бед принесла уже стрельба в ногу под названием ProcessMessages
    как хорошо, что в Андроиде наконец всех отучат от этого крайне вредного трюка
    давайте формально 
    все что там у вас "высоконагруженное" выносите в потоки и пусть они работают. Ваши "потоки" пасутся в главном (Synchronize) и никакого толка нет
    концепцию надо поменять. запустили поток и занимайтесь своим делом. например покажите Splash
    а вернется поток - вот по возвращению и сделаете то, что этот Splash закроет.
    и уж точно потоки не должны ничего общего иметь с формами
    я писал статью про потоки, там про сплеши тоже есть в блоге и про ProcessMessages отдельная боль...
    http://www.cyberforum.ru/blogs/469693/blog4875.html
     
  22. Like
    krapotkin получил реакцию от qz5 в Фреймворк для стандартного ListView   
    Всем привет!
    После долгого творческого запоя я запилил альфу либы, которая позволяет юзать обычный, не-генномодифицированный ListView.
    Данные подаются в виде модели данных, описание раскладки итема лежит в JSON.

    Для работы пишется примитивный наследник класса-адаптера, который биндит данные модели на элементы из JSON. Я решил, что руками делать это дешевле чем через RTTI
    { TMyAdapter } procedure TMyAdapter.SetupDrawableContent(const ADrawable: TListItemDrawable; const AData: TMyData); begin if SameText( ADrawable.Name, 'text') then begin (ADrawable as TListItemText).Text := AData.Text; end else if SameText( ADrawable.Name, 'detail') then begin (ADrawable as TListItemText).Text := AData.Detail; end else if SameText( ADrawable.Name, 'balance') then begin (ADrawable as TListItemText).Text := FormatFloat('0.00', AData.Balance); end else if SameText( ADrawable.Name, 'reserved') then begin (ADrawable as TListItemText).Text := FormatFloat('0.00', AData.Reserved); end end; Главная хитрость и отличие от стандартного DynamicAppearance+LiveBinding - переменная высота итемов ListView и использование арифметики в описании раскладки.
    Можно указать Detail.Y  = Text.Bottom + 5, ItemHeight = Detail.Bottom + 10, Detail.W = ItemWidth/2 - X
    {"Kind":"rect","Name":"BonusRect","Value":"", "Place":{"X":"itemwidth*3/4","Y":"Text.Y","W":"ItemWidth/4-5","H":"50"}, "BorderColor":"#FF005500", "Color":"lime", "LineWidth":3}, {"TextHAlign":2,"TextVAlign":1,"Kind":"text","Name":"Balance","Value":"", "Place":{"X":"BonusRect.x+5","Y":"Text.Y","W":"BonusRect.w-10","H":"50"}, "WordWrap":true, "Color" :"Black", "Font":{"Size":18,"Style":""}} ], "ItemHeight":"detail.bottom+10", Это дает довольно гибкую систему. Не на все случаи жизни, но все, что нужно, можно после автоматической раскладки дополнительно приписать в OnUpdateObjects 
    Код для работы примерно такой
    procedure TForm1.FormCreate(Sender: TObject); begin data:= TMyDataList.CreateFromFile(ExePath()+'data.json'); // загрузка в модель данных Adapter := TMyAdapter.Create(lvWallets, data.Items, ExePath()+'pattern.json'); // создание адаптера и загрузка шаблона Adapter.Pattern.SetupListView(lvWallets); // задать отступы и разную мелочь Adapter.ResetView(); // здесь в цикле из модели данных создается нужное количество итемов ListView end; procedure TForm1.lvWalletsUpdatingObjects(const Sender: TObject; const AItem: TListViewItem; var AHandled: Boolean); begin Adapter.SetupContent(AItem); // загрузить текст, картинки и другое содержимое в элементы итема Adapter.Pattern.DoLayout(AItem); // поправить раскладку в соответствии с содержимым элементов итема end; Для использования кроме стандартных - текст, картинка, кнопка - создано несколько дополнительных элементов итема - прямоугольник, круг, уголок, линия.
    Отличие от ModernLV - , 
    1) все происходит без правки системных файлов
    2) пока нет колонок и других особых изысков.
    На результат работы смотреть тут. Исходники пока не причесаны, будут чуть позже
    UPD.
    ссылки на репозитории ниже
     
  23. Like
    krapotkin получил реакцию от Barbanel в Переезд на 10.3 Rio   
    сколько бед принесла уже стрельба в ногу под названием ProcessMessages
    как хорошо, что в Андроиде наконец всех отучат от этого крайне вредного трюка
    давайте формально 
    все что там у вас "высоконагруженное" выносите в потоки и пусть они работают. Ваши "потоки" пасутся в главном (Synchronize) и никакого толка нет
    концепцию надо поменять. запустили поток и занимайтесь своим делом. например покажите Splash
    а вернется поток - вот по возвращению и сделаете то, что этот Splash закроет.
    и уж точно потоки не должны ничего общего иметь с формами
    я писал статью про потоки, там про сплеши тоже есть в блоге и про ProcessMessages отдельная боль...
    http://www.cyberforum.ru/blogs/469693/blog4875.html
     
  24. Like
    krapotkin получил реакцию от GASCHE в Переезд на 10.3 Rio   
    сколько бед принесла уже стрельба в ногу под названием ProcessMessages
    как хорошо, что в Андроиде наконец всех отучат от этого крайне вредного трюка
    давайте формально 
    все что там у вас "высоконагруженное" выносите в потоки и пусть они работают. Ваши "потоки" пасутся в главном (Synchronize) и никакого толка нет
    концепцию надо поменять. запустили поток и занимайтесь своим делом. например покажите Splash
    а вернется поток - вот по возвращению и сделаете то, что этот Splash закроет.
    и уж точно потоки не должны ничего общего иметь с формами
    я писал статью про потоки, там про сплеши тоже есть в блоге и про ProcessMessages отдельная боль...
    http://www.cyberforum.ru/blogs/469693/blog4875.html
     
  25. Like
    krapotkin получил реакцию от Maximus в Переезд на 10.3 Rio   
    сколько бед принесла уже стрельба в ногу под названием ProcessMessages
    как хорошо, что в Андроиде наконец всех отучат от этого крайне вредного трюка
    давайте формально 
    все что там у вас "высоконагруженное" выносите в потоки и пусть они работают. Ваши "потоки" пасутся в главном (Synchronize) и никакого толка нет
    концепцию надо поменять. запустили поток и занимайтесь своим делом. например покажите Splash
    а вернется поток - вот по возвращению и сделаете то, что этот Splash закроет.
    и уж точно потоки не должны ничего общего иметь с формами
    я писал статью про потоки, там про сплеши тоже есть в блоге и про ProcessMessages отдельная боль...
    http://www.cyberforum.ru/blogs/469693/blog4875.html
     
×
×
  • Создать...