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

x11

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

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

  • Посещение

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

    13

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

  1. По сохранению данных в базу. Зависит от того, будет ли на сервер API либо будет прямой доступ к базе. Если прямой доступ к базе, то UniDAC я использовал (но для Firebird)
  2. У кого есть пример использования клавиатуры? TtgInlineKeyboardMarkup TtgInlineKeyboardButton procedure TForm1.btnSendKeyBoardClick(Sender: TObject); Var UserLink: TtgUserLink; Kb: TtgInlineKeyboardMarkup; begin UserLink := StrToInt64Def(edChatId.Text, 0); if UserLink.ToString = '0' then begin Memo1.Lines.Add('SendMsg: ' + edChatId.Text + ' is not valid integer value'); exit; end; Kb := TtgInlineKeyboardMarkup.Create; try Kb.AddRow([TtgInlineKeyboardButton.Create('1'), TtgInlineKeyboardButton.Create('2'), TtgInlineKeyboardButton.Create('3'), TtgInlineKeyboardButton.Create('4')]); Kb.AddRow([TtgInlineKeyboardButton.Create('5'), TtgInlineKeyboardButton.Create('6'), TtgInlineKeyboardButton.Create('7'), TtgInlineKeyboardButton.Create('8')]); TelegramBot1.SendMessage(UserLink, edChatMsgText.Text, TtgParseMode.default, False, False, 0, KB); finally kb.DisposeOf; end; end; в итоге получаю ошибку Project raised exception class EArgumentException with message 'В данном методе указанное значение не может быть таким, как и значение по-умолчанию'.
  3. Может кому пригодится https://blog.andreamagni.eu/2019/02/how-to-add-android-app-shortcuts-to-a-fmx-application/
  4. x11

    OrangeUI

    с горем пополам скачал OrangeUI 1.75 а есть нормальные файломопойки, куда бы перевыложить?
  5. x11

    OrangeUI

    Видать, там ограничение на сессию. Т.е. после ошибки при скачивании нужно подождать минут 30-40 и нажать кнопку докачки. Сейчас докачиваю 1,75
  6. x11

    OrangeUI

    не нужно было это публиковать в явном виде уже закрыли, видать эту лазейку Если кто скачать 1,75, перевыложите, пожалуйста
  7. x11

    OrangeUI

    Лучше на форуме, т.к. есть поиск и Гугл индексирует.
  8. Предупреждаю! Автор зачем-то использует формат файлов UNIX. Поэтому все файлы нужно преобразовать (пересохранить) в формат Windows (CR LF) иначе отладчик сходит с ума в буквальном смысле - останавливается не на точках остановки, переходит между строк, а доводчик кода (code insight) вообще не работает.
  9. AllaKore_Remote программа удалённого доступа по принципу IP-to-ID, как Тимвьювер. Т.е. клиент + сервер, которые раздаёт ID. Исходники открыты. https://github.com/Maickonn/AllaKore_Remote У меня на Delphi Tokyo скомпилировалось и работает. Хотя и куча предупреждений при компиляции. Пока что 2 минуса. 1. ID Каждый раз новый, нет привязки к ПК. 2. Клиентская часть не в виде службы, а в виде обычного приложения. /delphi remote admin open source/
  10. я уже не помню, но туту нужно погуглить/поспрашивать, как передавать данные между андроидовскими службами и приложениями тут тоже есть примеры и описания
  11. Ну так об этом как раз в этой теме и идёт речь
  12. А кто-нибудь пробовал метод bot.KickChatMember получилось ли забанить пользователя в группе?
  13. В общем сделал через GetFileUrl procedure GetChatAva; Var chat: ItgChat; iChatID: int64; s: string; tgFile: ItgFile; img_stream: TMemoryStream; begin iChatID := ....; chat := bot.GetChat(iChatID); if not Assigned(chat) then begin exit; end; s := chat.Photo.SmallFileId; tgFile := bot.GetFile(s); if not Assigned(tgFile) then begin exit; end; s := tgFile.GetFileUrl(aBotToken); if s.IsEmpty then begin exit; end; img_stream := TMemoryStream.Create; try DownloadImage(s, img_stream); if img_stream.Size <= 0 then begin exit; end; finally img_stream.DisposeOf; end; end;
  14. Кто-нибудь пытался получить аватарку (картинку) канала? Бот добавлен в публичный канал и имеет доступ к сообщениям. При получении сообщения хочу получить аву, но код всегда возвращает false if Assigned(AMessage.Chat.Photo) then Или подскажите, как правильно, в какой момент получить значок канала? Может нужен специальный запрос в API? Спасибо.
  15. здесь http://fire-monkey.ru/topic/5326-fgx-native-выступление-с-демонстрацией-библиотеки-на-запуске-rad-studio-103/?page=2&amp;tab=comments#comment-34196
  16. Можно передать значение переменной любым доступным/удобным способом. Их вагон и маленькая тележка.
  17. qubasesx, вписывай IP в любой форме и сохраняй куда-нибудь, например в базу, а из DataModule читай из базы.
  18. В общем, это связано с тем, что в новых андроидах проверка прав приложения происходит непосредственно при выполнении той или иной функции, которая требует этих прав. Поэтому нужно при выполнении этой функции обрабатывать запрос прав.
  19. вряд ли исходники откроют, но на гитхабе есть штук 20 примеров
  20. Правда в самом приложении используются другие жабьи обёртки, типа leo lin и bolts framework. Ну т.е. от самой FMX и Delphi ничего кроме компилятора и IDE. Печально, что Idera не развивает и забросила FMX.
  21. На просторах sql.ru нашёл ссылку на приложение kiskis на Delphi/FMX. Что-то типа мессенджер+инстаграм. https://youtu.be/WEsEhGfrW-g Alcinoe is a library visual and non-visual components for Delphi. https://github.com/Zeus64/alcinoe
  22. Начинает доходить, как скачать, переданные боту картинки. У TItgMessage есть свойство "&Type", не знаю, зачем разработчики сделали с "&". Этот "TItgMessage.&Type" определяет тип сообщения: картинка, видео, контакт и т.д. И вот в событии tgReceiverUI.OnUpdate можно определить тип сообщения: if Assigned(AUpdate.message) then begin case AUpdate.message.&Type of TtgMessageType.Photo: ReceivePhoto(AUpdate.message.Photo); end;// case end; обрабатываем массив полученных фото procedure TForm1.ReceivePhoto(Photos: TArray<TelegAPi.Types.ItgPhotoSize>); Var PhotoSize: TelegAPi.Types.ItgPhotoSize; tgFile: ItgFile; FileUrl: string; begin for PhotoSize in Photos do begin tgFile := TelegramBot1.GetFile(PhotoSize.FileId); if tgFile.CanDownload then begin FileUrl := tgFile.GetFileUrl(TelegramBot1.Token); Memo1.Lines.Add('ReceivePhoto, FileUrl: ' + FileUrl);// получаем прямую https-ссылку на картинку jpg. end; end; end; Дальше пока не разобрался с методом скачивания. То ли у библиотеки уже есть встроенные методы скачивания, то я сам должен скачать. Поискал по исходникам слово Download - ничего такого не нашёл
  23. Я не смотрел проект и буду подсказывать, как. Просто напишу, что LiveBinding - тормознутая и глючная технология. Разработчики так и не довели её до ума. Если есть возможность, лучше отказаться от LiveBinding.
×
×
  • Создать...