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

rareMax

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

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

  • Посещение

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

    35

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

  1. Нужно сериализовать объект. Проблема в том, что бы поля, значения которых nil - нужно вообще исключить из итогового JSON. Использую System.Json.Serializers. Пробовал сделать это через свой IJsonContractResolver - но там я не смог проверить значение. Знаю что можно свой конвертер для каждого типа написать - но это довольно объемная работа получится. Есть ли у вас варианты, как можно решить мой вопрос? JSON-Serialize-Experiments/IgnoreIfNil.dpr at main · ms301/JSON-Serialize-Experiments (github.com)
  2. В Рад Студио 10.4 (После 2 патча) перестал компилироваться проект. Ошибка: [dcc32 Error] TelegramBotApi.Client.pas(85): E2512 Type parameter 'TArgument' must be a non-nullable value type. Метод в котором появляется ошибка: function TTelegramBotApi.ForwardMessage(AForwardMessageArgument: TtgForwardMessageArgument): ItgResponse<TtgMessage>; begin Result := InternalExecute<TtgForwardMessageArgument, TtgMessage>(AForwardMessageArgument); end; Хейдер метода InternalExecute: protected function InternalExecute<TArgument: record; TResult: class>(AArgument: TArgument): ItgResponse<TResult>; В 10.4 без патчей - ошибки не было. Есть идеи как заставить компилировать проект?
  3. напрямую боту писал? бот может общаться с пользователем только после того как пользователь отправит команду /start боту
  4. procedure TTgBotUpdateParser.EventParser(AUpdates: TArray<ItgUpdate>); var LUpdate: ItgUpdate; begin DoOnUpdates(AUpdates); // Вызывает OnUpdates for LUpdate in AUpdates do // Перебираем массив begin DoOnUpdate(LUpdate); // Вызываем OnUpdates TypeUpdate(LUpdate); // Определяем тип обновления и вызываем соответствующее событие end; end;
  5. Боту могут много человек одновременно писать. Для этого от сервера возвращается не один объект Update, а массив таких объектов. Событие OnUpdates - возвращает скоп таких обновлений. Событие OnUpdate - перебирает массив и вызывается для каждого элемента(массива) Для чего: OnUpdate - тебе не придется запускать цикл, ты работаешь напрямую с объектом. OnUpdates - был случай, когда необходимо было этот массив событий отправить в TParallel.For. Раз понадобился мне - возможно и вам понадобится.
  6. https://www.native-english.ru/grammar/english-nouns-plural https://core.telegram.org/bots/api#getting-updates
  7. зачем скролл - если нечего скроллить? кинь в скроллбокс компонент, который будет пересекать границу родителя - и будет тебе скролл
  8. Пропущен тип Telegapi.types или типа того. Вроде писал, что оперативная поддержка в телеграм-чате осуществляется. А на сайте я не постоянно нахожусь. Да Ты прав, в ближайшее время напишу. Максим Сысоев?: Все еще бета версия. Не стоит меня винить, если в продакшене пойдет что-либо не так библиотекой! GIT: https://bitbucket.org/RareGods/cloudapi/branch/develop ?ZIP: https://bitbucket.org/RareGods/cloudapi/get/develop.zip ?Установка: https://bitbucket.org/RareGods/cloudapi/wiki/Установка ?Баг-репорт: https://bitbucket.org/RareGods/cloudapi/issues/new. Регистрация необязательна. ?Delphi Community Edition: https://www.embarcadero.com/ru/products/delphi/starter (Win32/Win64/iOS/Mac/Android) FREE
  9. Мне очень неудобно, что я не обновил статью. На самом деле с этой библиотекой произошло очень много изменений с проектом: - переехал на битБакет: https://bitbucket.org/RareGods/cloudapi/src/master/ - теперь там не только работа с телеграмом, но и другие сервисы - после выхода Delphi CE позволил себе вырезать работу с сетевыми библиотеками, отличными от System.Net. - пофиксил больше багов чем добавил. На вскидку это все. На вопросы оперативно отвечаем в телеграм-чате : @CloudAPI.
  10. Лично я его использую как самостоятельный класс, проблем не замечал за ним. Таймаут тоже работает
  11. ModernListView GridLayout(в названии мог ошибиться) Либо на скроллБокс кидаешь нужные тебе компоненты.
  12. Помимо свойства Align используйте TLayout для группировки компонентов. Приложите простую демку - и возможно вам покажут как сделать пропорциональное изменение дизайна. Еще обратите внимание на компонент TScaledLayout - он изменяет размеры всех дочерних контролов пропорционально изменению своих размеров
  13. никто не говорил что будет просто ?
  14. Прямой ссылки не будет. Есть m3u плейлист, который будет подгружаться после нажатия "Плей" в плеере на сайте.
  15. {$ZEROBASEDSTRING ON} и работай с учётом что строка с 0 начинается. Либо юзай хелперы
  16. Тык тык https://github.com/zhaoyipeng/FMXComponents/blob/master/ComponentsSource/FMX.Graphics.NativeCanvas.pas
  17. cuHttpClientSysNet1.Proxy:=TcuProxy.Create(EditHost.Text, EditPort.Value, EditUserName.Text, EditPassword.Text); попробуй так
  18. Думаю стоит глянуть на длл"ки, идущие в .net framwork
×
×
  • Создать...