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

yooSee

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

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

  • Посещение

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

    1

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

  1. Привет форумчане, вопрос стоит в следующем. На телефоне создается zip архив и его нужно передать через мессенджер "WhatsApp" используя намерения делфи. как было раньше до Api 26 var Intent: JIntent; begin Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_SEND); Intent.setDataAndType (StrToJURI('file:' + TPath.Combine(TPath.GetPublicPath, Form1.Label1.Text + '.zip')), StringToJString('*/zip')); SharedActivity.startActivity(Intent); сейчас нужно использовать FileProvider и я сделал следующее: В манифесте проекта прописано - <provider android:name="android.support.v4.content.FileProvider" android:authorities="%package%.provider" //здесь мой пакет android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/fileprovider" /> </provider> fileprovider.xml создан и добавлен в проект с содержимым <?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-path name="external_files" path="."/> </paths> Uri URI = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".my.package.name.provider", createFile()); в данный момент не пойму как преобразовать данную строку в запрос Intent? Intent.setDataAndType .... ? Где описывается FileProvider ? что в URI?
  2. Всем привет, вот и я решил внести свою лепту в жизнь форума и сегодня мы разберемся с разрешениями на Delphi Rio под Андроид. Для примера мы будем использовать разрешения на чтение и запись с памяти устройства, для начала в нашем проекте выставим в Delphi>Project>Application>Uses Permissions галочки на Read External Storage и Write External Storage. в uses проекта добавьте следующее uses System.Permissions, Androidapi.Jni.Os, Androidapi.Helpers, далее создадим переменные var Form: TForm; .... FPermissionWrite: string; FPermissionRead: string; в Form.Create добавим следующий код procedure TForm.FormCreate(Sender: TObject); begin FPermissionWrite := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE); //Значение на запись FPermissionRead := JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE); //Значение на чтение end; и теперь сам не посредственно запрос на подтверждение наших прав procedure TForm.Button1Click(Sender: TObject); begin PermissionsService.RequestPermissions ([FPermissionWrite, FPermissionRead], nil); end; //это вызовет окно с запросом разрешения прав ну и для проверки бросим на форму TMemo и пару TButton , в них реализуем сохранение и чтение из файла с памяти устройства procedure TForm.Button1Click(Sender: TObject); begin Memo1.Lines.LoadFromFile(TPath.Combine(TPath.GetSharedDocumentsPath, 'test.txt')); end; procedure TForm.Button2Click(Sender: TObject); begin Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetSharedDocumentsPath, 'test.txt')); end; P.S. Напоминаю что для работы TPath нам понадобится подключить в Uses uses System.system.ioutils; Надеюсь материал будет полезен! video_2019-02-08_00-11-36.mp4 Permissions.zip
  3. yooSee

    OrangeUI

    в телеге ссылка на яд диск
  4. yooSee

    OrangeUI

    Русская локализация - (может кому надо), ложить по пути \OrangeUI 1.75\OrangeUIDesign\Source uLanguage.zip
  5. yooSee

    OrangeUI

    Скачать 1.75 полная версия
  6. yooSee

    OrangeUI

    Да это сайт их лагает, у меня 1.75 бетка есть
  7. yooSee

    OrangeUI

    Так же в телеграмм создал группу и канал посвященный OrangeUI , всем кому интересен данный компонент добро пожаловать @orangeui , будем разбираться вместе Канал - @orangeuichannel Группа - @orangeui
  8. помогло, спасибо! honor 8 - Android 8.0
  9. Привет Всем уважаемые! Пытаюсь сделать растягивание по содержимому компонента. Как это реализовано в мессенджерах типа WhatsApp если большой текст то растягивает (выделяется) по содержимому большое поле, если короткий то малое. Text2.Text := Memo1.Lines.Strings[4]; text2.Height := canvas.TextHeight(Text2.Text); //по высоте строки меняется т.к. там и есть одна строка в TText просто переносится WordWrap визуально. text2.Height:=canvas.TextWidth(text2.Text); // - так чушь Как это вообще реализовано кто нибудь сталкивался?
  10. дополню при нажатии на строку картинка появляется. как будто обновляется TThread.Synchronize(TThread.CurrentThread, procedure var ICount: Integer; AItem: TksTableViewItem; i: Integer; begin Memo1.Text := AResult; ksTableView1.BeginUpdate; application.ProcessMessages; try for i := 0 to Memo1.Lines.Count - 1 do begin AItem := ksTableView1.Items.AddItem('Новая строка', Memo1.Lines.Strings, 'Подробнее', atMore); AItem.Image.Bitmap.LoadFromUrl(Memo1.Lines.Strings); end; finally ksTableView1.EndUpdate; end; в таком варианте почему о не обновляется
  11. begin AItem := ksTableView1.Items.AddItem('Новая строка', Memo1.Lines.Strings, 'Подробнее', atMore); AItem.Image.Bitmap.LoadFromUrl(Memo1.Lines.Strings); end; ksTableView1.EndUpdate; end) так создаются и грузятся но первый список если нажать без картинок. нажимаю второй раз загружаются в старый список (уже созданный картинки) в новом нету и так далее
  12. Привет ребят! Помогите кто знает, попытаюсь доходчиво объяснить - имеется набор компонентов KernowSoftwareFMX - в нем использую TksTableView для вывода данных с Tmemo, в нем так же есть Image. В Tmemo с сервера грузится файл txt внутри которого строки с ссылками на изображения вида http://бла-бла/1.png Для загрузки использую FMX.Features.Bitmap.Helpers.pas - позволяет по прямой ссылке загружать изображение в TImage. что пытаюсь сделать? Нужно наполнять список TksTableView с Memo содержащий ссылки и в строках TksTableView - они же ListItem тоже самое что в ListView и загружать в image каждой строки картинки по ссылкам memo. AItem.Image.Bitmap := Image4.MultiResBitmap.Bitmaps[1].LoadFromUrl(Memo1.Lines.Strings[i]); - так ругается [DCC Error] untMain.pas(92): E2010 Incompatible types: 'TBitmap' and 'procedure, untyped pointer or untyped parameter' AItem.Image.Bitmap := Image4.Bitmap.LoadFromUrl(Memo1.Lines.Strings[i]); - так тожн не работает Глюк в том что первым делом создаются строки . а потом грузятся по очереди картинки в Image4. Как заставить подгружать картинки в TksTableView? Как ожидать хавершения загрузки каждой картинки в Image4 и после создавать AItem.Image.Bitmap?
  13. @rareMax Интересно есть по данному компоненту справка? Не нахожу в гугле.Сылку что вы оставили не актуальна более
  14. Всем привет пытаюсь грузить файлы изображения с телефона Android на сервер методом post запроса. Для этого один из параметров запроса должен содержать полный путь к файлу. В ActionList есть стандартная опция TakePhotoFromLibraryAction - к с нее выдрать путь??? Куда он ей передается и передается ли вообще? я и справки толком не нахожу или я слепой? imgfile.Text:=TakePhotoFromLibraryAction1.????
  15. Не знаю есть ли такое решение в намерениях но как альтернатива - копии в переменную количество созданных уведомлений , при появлении дубликата гаси ранее созданное и в заголовке нового уведомления выводи общее количество. В примерах где то видел подобное. Если закрыто апк поднимай сервер
  16. Привет ребят, созрел такой вопрос который меня мучает ! Вобщем пытаюсь загрузить картинку по прямой слыке с сервера. Картинка не грузится, не сохраняется не отображается. Конечная платформа - Андроид. Пишу на Delphi xe 10 seatle. Что я делаю? при нажатии на сам компонент TImage (созданный динамически), должна грузится картинка по адресу преждевременно записанное в hint (TImage) при создании вида (http://блаблабла.jpg) Раньше код ниже работал сейчас нет не пойму что не так. Почему стал ковырять? потому что форма встает колом при загрузке изображений. var s: string; fs: TFileStream; begin fs := TFileStream.Create(tpath.Combine(tpath.GetDownloadsPath, 'load.jpg'), fmCreate); NetHTTPClient1.Get((Sender as TImage).Hint, fs); fs.Free; (Sender as TImage).MultiResBitmap.Bitmaps[1].LoadFromFile (tpath.Combine(tpath.GetDownloadsPath, 'load.jpg')); подключал еще pas нашел на этом форуме FMX.Features.Bitmap.Helpers.pas (Sender as TImage).MultiResBitmap.Bitmaps[1].LoadFromUrl ((Sender as TImage).Hint); как проще сделать посоветуете чтоб и грузилось и форма не висла?
  17. ПРивет, есть ли возможность узнать как то номер сроки в memo на delphi FMX в memo при нажатии на текст в поле memo?для windows на vlc можно memo.CaretPos.Y либо через WinAPi заголовки. Как такое делать в FireMonkey FMX для андроид ума не приложу. Может кто делал, поделится опытом?
  18. а если добавилась строка в memo то все компоненты удалять и пересоздавать с новым или проверять на наличие строк и создавать не достающие7 может есть еще какие варианты?
  19. не кажется не в этом дело, теряется не пойму где. если делать так то все адекватно выходит. var i: integer; begin for i := memo1.Lines.Count-1 downto 0 do begin memo2.Lines.Add(memo1.Lines.Strings[i]); end; end; если делат атк к примеру то выведет сначала последний потом все по порядку, в чем затуп? var i: integer; txt: TText; begin for i := Memo1.Lines.Count - 1 downto 0 do begin txt := TText.Create(self); txt.Parent := Form2; txt.Align := TALignLayout.Top; txt.Text := Memo1.Lines.Strings[i]; end; end;
×
×
  • Создать...