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

afors

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

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

  • Посещение

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

  1. Thanks
    afors отреагировална ENERGY в Как достать данные из Intent   
    Чтобы отправить строку в чужой Intent: Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringtoJString(AText)); Чтобы получить строку в своем Activity (если кто-то отправил) : var Intent: JIntent; ... Intent := TAndroidHelper.Activity.getIntent; Text := JStringToString(Intent.getStringExtra( StringToJString(_NAME_) ) );
  2. Like
    afors получил реакцию от hippocamus в TWebBrowser всегда отображается поверх всех контролов   
    @hippocamus Как получить картинку содержимого рабочей области WebBrowser? Ты об этом? WebBrowser1.MakeScreenshot
     
  3. Like
    afors получил реакцию от rakhmet в Топ мобильных приложений   
    Может и банально, но соответствует критериям...
    Официальное название: whatsapp Официальный сайт: https://www.whatsapp.com/ Платформы: Android, iPhone, Компьютеры Mac или Windows, Windows Phone
  4. Like
    afors получил реакцию от Rusland в Возникает ошибка при открытии приложения после получения локального уведомления   
    Эксперементировал на разных формах, кидал WebBrowser в дизайнере на форму, создавал динамически, загружал страницы в потоке... пока не удалось победить. Зависания могли быть и при вызове календаря, интентах. НО после использования браузера.
  5. Like
    afors получил реакцию от Anatoliy в Возникает ошибка при открытии приложения после получения локального уведомления   
    @Владимир
    У меня было похожее поведение, при получении уведомлений программа могла зависнуть (не всегда). Долго пытался найти причину, оказалось, что зависало после использования TWebBrowser.
  6. Like
    afors отреагировална dnekrasov в Как скрыть иконку на панели задач?   
    Winapi.Windows и FMX.Platform.Win
  7. Like
    afors отреагировална Andrey Efimov в [Статья][AdMob] Добавляем рекламный блок в приложение   
    Ссылка: http://delphifmandroid.blogspot.ru/2016/07/admob.html
    Автор: Андрей Ефимов
    Описание: Подробная инструкция по добавлению рекламного блока в приложение, разработанное в RAD Studio.
     
  8. Like
    afors отреагировална rareMax в Kernow Software FMX Components for XE7, XE8 & XE10 Seattle   
    Давненько еще нашел этот пак компонентов, но не было времени ознакомиться с ним ближе. Сегодня посмотрел демки - думаю нашему сообществу понравится эта библиотека. Описание оригинальное с гитхаба.
    Как скачать:
    GetIT(нет лицензии на студию? смотрим ниже) Прямая ссылка на последнюю версию С помощью GIT-клиента: https://github.com/gmurt/KernowSoftwareFMX.git .Можете либо встроенным в делфи, либо своим любимым. Могу посоветовать SourceTreeApp. Рекомендую именно этот способ - вам не придется постоянно перекачивать компонент для обновления. Достаточно в приложении нажать одну кнопку - и компонент обновился. 
    Kernow Software FMX Components for XE7, XE8 & XE10 Seattle.
    (May work with earlier versions but untested)
    Firemonkey Slide menu, ListView and Segment buttons for Delphi. Inherits from a non-visual component to keep things simple.
    Includes demo with source. Demo App also available on app store: https://itunes.apple.com/gb/app/kscomponents-reference/id1031179701?mt=8
    Feel free to support the components with a donation ;-)
    If you'd like to support the ksComponents project, you can do so at the following link ;-)
    http://www.kernow-software.co.uk/?page_id=397
    TksTableView
    Cached table view provides native performance regardless of the number of text/items/graphics added support for embedded switches support for embedded buttons support for embedded segment buttons Canvas style methods for adding text/shapes/images Built-in support for Image, Title, SubTitle, Detail and Accessory elements Check list option support - single check or multi check Custom check mark colours Image cropping (square, round rect or circle) "Indicator" colours - add colour indicators to each row "Sticky" headers TksSlideMenu
    set menu background colour set selected item colour set font colours add images to items fade background left or right aligned menus inherites from non-visual Tcomponent for quick integration into existing projects uses bitmap caching for optimised performance TksSegmentButtons
    segment button component support for iOS style badges TksFormTransition
    component for animating transitions between forms TksTabControl
    Tab control component with support for different colours/themes Large number of built-in icons Support for iOS style badges TksNetHttpClient
    enhanced http client with ASync Get method TksTileMenu
    simple but effective main menu component TksChatView
    component for building iOS style chat applications TksSpeedButton
    TSpeedButton descendant with support for iOS style badges Any suggestions for updates are welcome :-)
  9. Like
    afors получил реакцию от Rusland в Как осуществить набор номера?   
    Можно без показа экрана набора номера:
    procedure TForm1.Button1Click(Sender: TObject); // Uses FMX.Dialogs, FMX.PhoneDialer, FMX.Platform var PhoneDialerService: IFMXPhoneDialerService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXPhoneDialerService, IInterface(PhoneDialerService)) then PhoneDialerService.Call('+71234567890') Else ShowMessage ('Вызовы не поддерживаются'); end;  
  10. Like
    afors отреагировална XXXXXX в GCM   
    procedure TForm1.Button1Click(Sender: TObject); var AJson: TJSONObject; AJsonData: TJSONObject; ARegisterIds:TJSONArray; AData, AResponseContent:TSTringStream; DeviceToken:String; begin ARegisterIds := TJSONArray.Create; AJson := TJSONObject.Create; try DeviceToken := 't2uIvqpZ_o7u3sUxCBBAICxaRuj05mgHaGWY6x6Dwd3oYnwAEoSY5vl1BkcLzfLt4TPbNbFxr7WCKW5IictG_QCMTqSQ7QEp-mk-g9OG0CHaE5Rx01FT51Zc5om'; ARegisterIds.Add(DeviceToken); AJsonData := TJSONObject.Create; AJsonData.AddPair('id', ID.ToString()); ID := ID + 1; AJsonData.AddPair('message', Edit1.Text); AJson.AddPair('registration_ids', ARegisterIds); AJson.AddPair('data', AJsonData); IdHTTP1.Request.ContentType := 'application/json'; IdHTTP1.Request.CustomHeaders.AddValue('Authorization', 'key=AIzaSyBuYtgzrIE6Z-AQobRf1-taJOl6CdWUfL8'); AData := TStringStream.Create(AJson.ToString); AData.Position := 0; AResponseContent := TStringStream.Create('', TEncoding.UTF8); IdHTTP1.Post('https://android.googleapis.com/gcm/send', AData, AResponseContent); AResponseContent.Position := 0; Memo1.Lines.Add(AResponseContent.DataString); finally end; end; до записи в AData которую потом пересылаю через IdHttp, в AJson все символы отображаются отлично. 
  11. Like
    afors получил реакцию от Rusland в TWebBrowser всегда отображается поверх всех контролов   
    @hippocamus Как получить картинку содержимого рабочей области WebBrowser? Ты об этом? WebBrowser1.MakeScreenshot
     
  12. Like
    afors отреагировална Равиль Зарипов (ZuBy) в Скриншот с WebBrowser (WebBrowser1.MakeScreenshot)   
    Замените код на такой
    procedure TForm1.WebBrowser1DidStartLoad(ASender: TObject); var aThread: TThread; begin aThread := TThread.CreateAnonymousThread( procedure begin TThread.Synchronize(nil, procedure begin If CheckBox1.IsChecked Then Image1.Bitmap := WebBrowser1.MakeScreenshot; end) end); aThread.FreeOnTerminate := true; aThread.Start; end;
  13. Like
    afors отреагировална ENERGY в TTimeEdit/TDateEdit. Программно раскрыть. Можно ли проще?   
    TimeEdit1.OpenPicker ?
  14. Like
    afors отреагировална ENERGY в как заставить TTimeEdit работать в режиме 24ч.   
    Вообще время должно отображаться в том формате, который показывает TimeEdit по умолчанию. Т.к. это системный формат, и он удобен тому пользователю, которые его установил. 
    24 часовой формат: 
    TimeEdit1.Format := 'HH:mm';
     
    Чтобы принудительно на am pm перевести:
    TimeEdit1.Format := 'hh:mm ampm' -  главное чтобы была строчка ampm или am\pm или .
     
     
  15. Like
    afors отреагировална Andrey Efimov в Не работает с вибрацией   
    Права дали точно?
    Вот вам мой класс для работы с вибрацией, там есть код проверки прав - https://github.com/AndrewEfimov/Android-API/blob/master/Vibrator/class/Vibrator.Android.pas (https://github.com/AndrewEfimov/Android-API/tree/master/Vibrator, класс и тестовое приложение)
    либо посмотрите в настройках приложения, раздел с правами.
  16. Like
    afors отреагировална Brovin Yaroslav в Как я могу скрыть / показать клавиатуру под "Android"?   
    Русский
    За управление виртуальной клавиатурой в FireMonkey отвечает сервис IFMXVirtualKeyboardService (Embarcadero Doc Wiki). Который позволяет отображать и скрывать клавиатуру.
    Для скрытия клавиатуры достаточно выполнить следующий код:
    uses FMX.Platform, FMX.VirtualKeyboard; procedure TForm5.ButtonHideKeybordClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Запрашиваем сервис виртуальной клавиатуры if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.HideVirtualKeyboard; end; Чтобы показать клавиатуру для контрола:
    procedure TForm5.ButtonShowKeyboardClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Запрашиваем сервис виртуальной клавиатуры if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.ShowVirtualKeyboard(Edit1); end;

    English 
    FireMonkey has special service for managing Virtual Keyboard. It is IFMXVirtualKeyboardService (Embarcadero Doc Wiki). It allows show and hide keyboard.
    For showing virtual keyboard use next code: uses FMX.Platform, FMX.VirtualKeyboard; procedure TForm5.ButtonHideKeybordClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Request service of visrtual keyboard if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.HideVirtualKeyboard; end; For showing virtual keyboard for control:
    procedure TForm5.ButtonShowKeyboardClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Request service of visrtual keyboard if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.ShowVirtualKeyboard(Edit1); end;
  17. Like
    afors отреагировална HyperZen в Запрет потери активности приложения   
    Запретить отключение экрана приложения в Андроид:
    в файл проекта (Project - View Source) добавить строки:
    // в uses {$IFDEF ANDROID} Androidapi.Helpers, Androidapi.JNI.App, Androidapi.JNI.GraphicsContentViewText, {$ENDIF} {$R *.res} // и далее - перед Application.Initialize begin {$IFDEF ANDROID} TAndroidHelper.Activity.getWindow.addFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON); {$ENDIF} Application.Initialize; ...  
  18. Like
    afors отреагировална ENERGY в Запрет потери активности приложения   
    {$IFDEF ANDROID}   procedure KeepScreenOn(aEnable: boolean);   var     vFlags: integer;   begin     vFlags := TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON;     if aEnable then     begin       CallInUIThread (   // uses FMX.Helpers.Android       procedure       begin         TAndroidHelper.Activity.getWindow.setFlags (vFlags, vFlags);       end );     end     else       CallInUIThread (       procedure       begin         TAndroidHelper.Activity.getWindow.clearFlags (vFlags);       end );   end;   {$ENDIF} Это для Berlin и ниже.
    При использовании Tokyo - вызов CallInUIThread не нужен, можно вызывать напрямую, т.к. теперь главный Delphi поток это Java  UIThread.
     
    iOS
    uses iOSapi.UIKit; {$R *.fmx} procedure TForm6.Button1Click(Sender: TObject); var UIApp : UIApplication; begin UIApp := TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication); UIApp.setIdleTimerDisabled(True); end;
  19. Like
    afors отреагировална Ufomaster в Как при переходе с эдита на эдит очистить предыдущий текст в клавиатуре, что бы он не попал в новый эдит?   
    Как при переходе с эдита на эдит очистить предыдущий текст в клавиатуре, что бы он не попал в новый эдит при нажатии на любой символ? 
  20. Like
    afors отреагировална Andrey Efimov в [Статья] Публикация приложения в Google Play   
    Ссылка: http://delphifmandroid.blogspot.ru/2016/06/google-play-google-play.html
    Автор: Андрей Ефимов
    Описание: Публикация приложения в Google Play
  21. Like
    afors получил реакцию от Kitty в FileExits не находит файл хотя он есть   
    procedure TForm1.Button1Click(Sender: TObject); Var   s: String; begin   s := '×123.txt';   If FileExists (s) Then ShowMessage(s + ' yes') Else ShowMessage (s+ ' No'); end; Вот так FileExists находит файл с символом × в имени. Но этот файл был создан обычным проводником Windows. Total Commander отказался создавать такой файл, заменив × на вопросительный знак.
    Файл создается программой?
  22. Like
    afors отреагировална Fedor K в TListView: список в виде CheckBox в ListViewItem   
    У стандартного TListView уже все есть:
     
    //устанавливаем режим редактирования у списка либо в редакторе свойств выставляем ListView1.EditMode := True; //... //Получаем список всех выбранных элементов ListView1.Items.CheckedIndexes(true); //обращаться к свойству текущего элемента так: ListView1.Items.SetChecked(const Index: Integer; const Value: Boolean); ListView1.Items.GetChecked(const Index: Integer): Boolean;  

  23. Like
    afors отреагировална Равиль Зарипов (ZuBy) в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 1]   
    Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios.html
    Автор: Зарипов Равиль @ZuBy
    Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS
  24. Like
    afors отреагировална Kitty в krapotkin и Равиль Зарипов   
    Даже не знаю или в правильный раздел форума пишу. Я, например, хочу поблагодарить в своей теме - krapotkin и Равиль Зарипов за очень полезные ответы. Реально помогают решить вопросы. Спасибо.
    Хотя все они паскалисты, все же удается иногда получить код на С++ со стороны. Очень в этом помогает автор Indy rlebeau, например эту статью: Статья 
    он переводит в С++ тут: C++  и никто бы другой не помог. В этом плане тяжело, без него и никак вопрос не решить.
    А этот форум это симбиоз ума и решений! Спасибо Ярославу за реализацию и хоты бы одного спеца по С++ как по Дельфи и - вот оно счастье.
    Спасибо!
     
     
  25. Like
    afors отреагировална Равиль Зарипов (ZuBy) в Отображение в виде плиток   
    Предыстория была такая:
    Изначально такие плитки были сделаны на Button'ах (стиль) и TPresentedScrollBox. Но как только пошло дело в тест основательный идею тут же выбросил. 120+ элементов выключили телефон (samsung ace2 duos) при отрисовке, точней при динамической загрузке картинок. да и в целом вся эта беда работает медленней чем реализация на TListView
    Я не художник, но смысл вроде передал
    Пример: У нас есть 12 элементов,и 4 колонки
    Можно в LV отрисовывать дополнительные "контролы" и поместить в один реальный айтем, 4 виртуальные панельки (в нашем случае)
    Для того чтобы такое получилось:
    1) ListView должна при ресайзе рассчитать сколько колонок она может иметь (ширина LV / на ширину одной панельки)
    2) дальше Вам нужно будет разбить отрисовку Itema на 4 панельки
        2.1) тоже самое проделать и при выделении
    3) При таком подходе не будет стандартных элементов отображения (Text, Detail, Image и прочее нужно выключить)
    Добавление Itema будет проходить в два цикла: первый добавляет реальный Item (0-2), а второй заполняет данными наши поля в панельках (title1, price1, bitmap1, title2, price2, bitmap2 и тд...)
    4) Ну и самое важное в OnUpdateObjects все это отрисовать
    Надеюсь вам это поможет!
×
×
  • Создать...