Кривяков Виталий

Пользователи
  • Публикации

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

  • Посещение

  • Days Won

    8

Кривяков Виталий last won the day on 23 июля 2016

Кривяков Виталий had the most liked content!

О Кривяков Виталий

  • Звание
    Продвинутый пользователь
  • День рождения

Информация

  • Пол
    Мужчина
  • Город
    Москва
  • Интересы
    Компьютеры, технологии, фитнес

Посетители профиля

304 просмотра профиля
  1. Вот набор библиотек для работы с JWT, к сожалению у Delphi там ограниченная поддержка. Может что-то удастся вытащить? https://jwt.io/
  2. Добрый день! Картинки правильно грузить в отдельном потоке в TBitmapSurface, так как последний, в отличии от TBitmap, корректно работает в потоках. Как скачаете, то можно сохранить в файл, для дальнейшего показа и отобразить на экране. Секция отображения на экране должна быть обязательно засинхронизирована с основным потоком. Общая схема такая.
  3. Добрый день! Было такое. Боюсь, что деталей не вспомню, но: На одном планшете при подключении сканера вылезло предупреждение, в котором смог сказать, что основную клавиатуру нужно показывать, на другом долго копался в настройках клавиатуры и что-то включил. К сожалению, сейчас нет сканера под рукой, не могу посмотреть, но то что лечится проблема - это точно.
  4. function GetDefaultFilePath(const FileName: string): string; begin {$IFDEF Android} Result := TPath.Combine(TPath.GetSharedDocumentsPath, FileName); {$ENDIF} {$IFDEF IOS} Result := TPath.Combine(TPath.GetDocumentsPath, FileName); {$ENDIF} {$IFDEF MSWindows} Result := TPath.Combine(TPath.GetDocumentsPath, FileName); {$ENDIF} ForceDirectories(ExtractFilePath(Result)); end; procedure TForm.ShowPDF; var {$IFDEF Android} Intent: JIntent; {$ENDIF} FilePath, tmpStr: string; begin FilePath := GetDefaultFilePath(Filename); {$IFDEF Android } try Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setDataAndType(StrToJURI('file:' + FilePath), StringToJString('application/pdf')); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); SharedActivity.startActivity(Intent); except on E: Exception do ShowToast(E.Message); end; {$ENDIF} {$IFDEF IOS} wbViewPDF.Visible := True; wbViewPDF.URL := 'file:/' + FilePath; {$ENDIF} end; Приблизительно так...
  5. Вся проблем в катастрофически не быстрой графике. Все попытки сделать живой интерфейс обречены. Приходится осознано отказываться от морфинга и трансформаций, так приложение целостнее выглядит.
  6. Добрый день! Возникла необходимость отправлять уведомления в стороннюю программу. Да не абы как через сертификаты, о чем много тут статей, а через токены. Немного руководства от яблока. Нашел библиотеку для работы с JWT https://github.com/paolo-rossi/delphi-jose-jwt Но вот как подписывать токен алгоритмом ECDSA и какие сертификаты использовать не могу понять. Кто занимался похожем вопросом? Поделитесь знаниями. Спасибо
  7. Привет! Сделайте копию проекта и постепенно удаляйте все с формы. Попробуйте определить, что приводит к такому эффекту. если есть возможность, выложите демо проект, который приводит к таким эффектам.
  8. Если битмап не секретный, то выложите его сюда.
  9. Добрый день! Image1.Bitmap Скорее всего он у вас имеет нулевые размеры, попробуйте перед Image1.Bitmap.Canvas.BeginScene; указать Image1.Bitmap.SetSize(X,Y);
  10. Маленький пример. DragAndDrop.zip
  11. Добрый день! Не получается отправить файлы из приложения в проводник Windows средствами firemonkey. Код: procedure DragAndDropFiles; var DDService : IFMXDragDropService; D : TDragObject; ABitmap : TBitmap; begin ... D.Files := []; D.Source := self; ABitmap := CreateMyBitmap; gvIcons.DisableScroll; AddFiles(D.Files); if TPlatformServices.Current.SupportsPlatformService(IFMXDragDropService, DDService) then DDService.BeginDragDrop(Self, D, ABitmap); FreeAndNil(ABitmap); end; Файлы в списке есть, картинка перемещается с курсором, но над проводником знак запрета и drop не срабатывает. P.S. Как сделать под VCL знаю, интересует, возможно ли это в FMX.
  12. Это я знаю, я спрашивал, как и где расположить сам стиль. Тот, что и будет определен функцией function GetDefaultStyleLookupName: string; override;
  13. Добрый день! При разработке компонента столкнулся с вопросом, как сделать стиль по умолчанию. Компонент разрабатывается на основе TStyledControl, т.е. его содержимое отсутствует и должно задаваться стилем. Так вот вопрос, как и где разместить стиль, что бы при добавлении компонента на форму у него выло содержимое по умолчанию. Или мой подход не верен и нужно делать по другому. Спасибо.
  14. Добрый день! Запрошу у ответственных за публикацию.
  15. Наверное самый простой способ, это поменять прототип функции на function TTelegramBot.API<T>(const Method: String; Parameters: TDictionary<String, TValue>): TtgApiResponse<T>; И возвращать Result := TtgApiResponse<T>.FromJSON(lHttpResponse.ContentAsString); Ну и соответственно уничтожать объект в вызывающем методе, после того, как он не нужен.