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

Rusland

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

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

  • Посещение

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

    26

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

  1. Like
    Rusland отреагировална Кривяков Виталий в Как открыть PDF в стандартном приложении просмотра PDF файлов?   
    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; Приблизительно так...
  2. Like
    Rusland отреагировална OnePeople в DirectShow9   
    Перерыв интернет так толкого ничего и не нашел пришлось читать майкрософта, может кому пригодиться:
     
    Кол-во аудиодорожек и применение:
     
  3. Like
    Rusland получил реакцию от Kitty в MemoryStream -> JPEG -> BMP   
    Вроде в TBitmap можно сразу грузить и bmp и jpg и png
    Грузить через Bitmap.LoadFromStream
  4. Like
    Rusland отреагировална Pax Beach в Работа с видео от IP Камеры   
    Это самый известный мне пример.
    Как это работает на телефонах.
     
  5. Like
    Rusland отреагировална chaplin.u@gmail.com в баг в компоненте TBluetoothLE   
    В Андроиде функции есть : https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#requestMtu(int)
    Нет её реализации в компоненте.
  6. Like
    Rusland отреагировална chaplin.u@gmail.com в баг в компоненте TBluetoothLE   
    докопался до истины и она посредине. 
    стандартно обмен идёт по минимуму - 20 байт
    но есть процесс переговоров (NEGOTIATION ) между телефоном и устройством который может привести к увеличению пакета до 525 байт.
    апликация должна запросить устройство на увеличение пакета. так вот несмотря на то что в файле этот параметр как видите есть в поставляемой от Абракадабры компоненте нет реализации этого процесса.
    как и полностью отсутствует обмен паролем для защиты от постороннего вмешательства. т.е. любой посторонний может получить полный контроль над вашим устройством.
    Вывод : компонента поставляется в ознакомительных целях и для создания коммерческих приложений запрещена !
    Ну и если кто знает где есть нормальная компонента - просьба сообщить.
     
  7. Like
    Rusland отреагировална RoschinSpb в Canvas и FillText в StringGrid'е - разворот времени   
    Я думаю самый оптимальный вариант это просто использовать событие OnDrawColumnBackground при этом надо включить AlternatingRowBackground в Options. И не забудьте задать стиль кисти Canvas.Fill.Kind := TBrushKind.Solid;
  8. Like
    Rusland получил реакцию от Brovin Yaroslav в MemoryStream -> JPEG -> BMP   
    Вроде в TBitmap можно сразу грузить и bmp и jpg и png
    Грузить через Bitmap.LoadFromStream
  9. Like
    Rusland получил реакцию от Kitty в WaterEffect FMX   
    На Berlin нормально установился этот компонент... только почему-то не вижу его на палитре. А что он делает?
    Есть стандартный компонент TWaterTransitionEffect - случайно делает не тоже самое? (для примера наложите этот эффект на TText)
  10. Like
    Rusland получил реакцию от beegl в WaterEffect FMX   
    На Berlin нормально установился этот компонент... только почему-то не вижу его на палитре. А что он делает?
    Есть стандартный компонент TWaterTransitionEffect - случайно делает не тоже самое? (для примера наложите этот эффект на TText)
  11. Like
    Rusland отреагировална kami в Нестандартная клавиатура для своего приложения   
    Господа, спасибо за участие в обсуждении!
     
    Принимая во внимание кучу параметров, я "заморочился" на написание собственной клавиатуры. Проанализировав и продебажив кучу кода FMX, удалось подменить стандартную клавиатуру собственной.
     
    На текущий момент концепт готов и работает, но обладает одним недостатком - из-за особенностей работы процедуры RegisterShowVKProc стандартный вызов клавиатуры теряется без возможности восстановления.
    Посему - я буду реализовывать нужные мне виды + повторять стандартные Ru и Eng, возможно - с некоторыми изменениями.
     
    Концепт предназначен для работы только под iOS.
     
    Использование: подключаете к проекту модуль из архива... и всё. Кастомная клавиатура теперь будет показываться вместо стандартной во всех контролах, в которых вообще показывается клавиатура.
     
    Известные недостатки:
    1. Нет анимации появления/скрытия.
    2. Не реализовано нажатие кнопки Return (пока не думал, как это делается)
    3. Не реагирует на флаги TVirtualKeyboardStates
    4. Не уверен в корректном удалении фрейма при завершении приложения.
    5. Нет тулбара (не уверен, правда, что он нужен в собственной клавиатуре)
     
    Если необходимо - готов дать пояснения по коду.
    Ввиду того, что я только начинаю работать с FMX, любая критика приветствуется!
    iOSCustomKeyboard.zip
  12. Like
    Rusland отреагировална Akromd в Торможение при длитоельном использовании   
    Немного пояснения: требовалось анимировать объект Tpath (не путать с TpathAnimation!) - то есть анимировать отрисовку "сложных" объектов через SVG.
    За отрисовку объектов отвечает свойство data.data, которое в виде строки хранит SVG код.
    Первое мое решение как раз и было связано с постепенным изменением этого свойства, для плавного отображения, но я столкнулся с проблемой "быстрых" тормозов, собственно из-за чего и возникла эта тема.
    Немного подумав, оказалось, что из постоянного дополнения этого свойства (data.data), оно очень быстро "переполнялось" и отрисовка занимала очень длительное время. Поэтому было решено использовать другой метод: вместо того чтобы постепенно изменять это свойство, мы создаем новый объект типа Tline и изменяя его размер как будто рисуем постепенно новую линию, а в конце уничтожаем ее, заменяя начало и конец добавлением в то самое свойство data.data тем самым экономя и память, и размер свойства.
    Опять же, почему не использовать более простые методы? Во-первых требуется чтобы эта анимация могла происходит параллельно действиям всей программы. Во-вторых, таких анимаций одновременно может происходит довольно много.
    Если кому интересно, выложу исходники
  13. Like
    Rusland отреагировална Andrey Efimov в Событие при входящем звонке   
    Исходники - это файлы из корневой папки проекта, без подпапок, в которых собирается проект. Т.е. папка Android не нужна.
    Далее, по коду.
    Где у вас это?:
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if Assigned(BroadcastReceiver) then BroadcastReceiver.Free; end; procedure TForm1.FormCreate(Sender: TObject); begin CreateBroadcastReceiver; end; Далее, на вибрацию нужно выставить пермишен "Vibrate" (на днях выложу на свой гитхаб, класс, упрощающий работу с вибрацией)
    Менять местами код в регистрации ресейвера, смысла нет, делайте так как и было.
    incomingCallNumber - вообще не понял, что это, где код, в котором вы заносите в эту переменную номер?
    По поводу глобальных переменных -это уже придирка, но лучше пишите их в классе, как поля.
     
    Вот в этом коде:
    if incomingCallNumber = 'номер телефона' then VibratorObj := SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE); Vibrator := TJVibrator.Wrap((VibratorObj as ILocalObject).GetObjectID); Vibrator.vibrate(10); словите ошибку, возможно AV, если звонок будет просто с другого номера.
    Пока вроде всё, что бросилось в глаза, но уже ночь и мог что-то не углядеть. Правьте и пробуйте.
    Ваш архив перезалил, номер потёр.
     
    Итог: Плохо копируете код.
    Мой совет: Если не знаете, что делаете или просто не охото изучить представленные примеры, то лучше обратитесь в раздел Ищу подрядчика. Или можете попробовать помучить ещё форумчан, хотя вам дали примеры с избытком...
  14. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в [Обзор] #3 ModernListView - динамическая подгрузка контента   
    Ссылка: http://blog.rzaripov.kz/2016/12/3-modernlistview.html
    Автор: Зарипов Равиль @ZuBy
    Описание:  Реализация динамической подгрузки контента:
    Бесконечный скроллинг (например как лента в ВК) Паджинация/Пагинация (постраничная загрузка)
  15. Like
    Rusland отреагировална rareMax в Чтение Exif и других метаданных из Jpeg изображений   
    Не знаю как насчет всех параметров - но ребята из эмбы хвастались на ютубе что можно с метаданными работать. Посмотрите видео - может с его помощью получится?
    --------
    Русска озвучка:
     
  16. Like
    Rusland отреагировална kami в Сходка в Питере   
    Только не сильно поздний, а то мне мама не разрешает автобусы до меня ходят только до 23:00
  17. Like
    Rusland получил реакцию от Kitty в Приложение не отвечает. Закрыть?   
    Как-то так наверно.
     
  18. Like
    Rusland получил реакцию от Steepe_Hare в Приложение не отвечает. Закрыть?   
    Как-то так наверно.
     
  19. Like
    Rusland получил реакцию от Pax Beach в Приложение не отвечает. Закрыть?   
    Как-то так наверно.
     
  20. Like
    Rusland отреагировална kami в Окно "Настройки"   
    Я бы сделал правую часть на фреймах.
    А левая часть заполнялась бы автоматом наименованиями фреймов, которые зарегистрировались в окне настроек.
  21. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в [Обзор] #2 ModernListView - режим мультивыделения   
    Ссылка: http://blog.rzaripov.kz/2016/11/2-modernlistview.html
    Автор: Зарипов Равиль @ZuBy
    Описание: Как сделать режим мультивыделения в TListView

  22. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в TMapsEngine   
    использовать 
    //uses System.NetEncoding TNetEncoding.URL.Encode()  
  23. Like
    Rusland отреагировална aleksandrguru в TMapsEngine   
    Исправил на NetHTTPClient все работает на  Delphi 10 Seattle и на Андроид 6.0.1
     
     
    Maps.Engine.zip
  24. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Custom Font   
    для берлина
    для сиетла
    для того чтобы на IOS работать с кастомными шрифтами, это нужно прописать в info.plist.TemplateiOS.xml (для берлина)
    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <%VersionInfoPListKeys%> <%ExtraInfoPListKeys%> <key>UIAppFonts</key> <array> <string>FontAwesome.ttf</string> </array> <key>ITSAppUsesNonExemptEncryption</key><false/> </dict> </plist>  
  25. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в [Обзор] #1 ModernListView - горизонтальный режим   
    Ссылка: http://blog.rzaripov.kz/2016/11/1-modernlistview.html
    Автор: Зарипов Равиль @ZuBy
    Описание: Чуть подробней о горизонтальном режиме

×
×
  • Создать...