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

Лидеры

  1. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      5

    • Постов

      842


  2. krapotkin

    krapotkin

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


    • Баллы

      4

    • Постов

      2 185


  3. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      3

    • Постов

      2 517


  4. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      2

    • Постов

      2 124


Популярный контент

Показан контент с высокой репутацией 10.06.2016 во всех областях

  1. Ссылка: http://delphifmandroid.blogspot.ru/2016/06/google-play-google-play.html Автор: Андрей Ефимов Описание: Публикация приложения в Google Play
    2 балла
  2. Написал статейку по вашей теме [Google Play] Публикация приложения в Google Play
    2 балла
  3. Понятно. Область видимости в Update1 уже не поменять. В следующей версии возможно добавлю пару событий OnCellClick OnCellDblClick с параметрами, чтобы можно было определить ячейку куда ткнули.
    2 балла
  4. Очень широко использовал и использую grid, так как в основном программирую для десктопов windows и mac. OnDblClick нужен! Двойной клик использую по разному. Иногда для помещения в рядом стоящий edit какой либо информации. Иногда для открытия формы для редактирования этой записи (Бывает, что строка в grid'е составлена из разных таблиц, поэтому напрямую не отредактируешь ее).
    2 балла
  5. Добрый день, Для того, чтобы сделать выделение праздничных дат, воспользуйтесь статьёй, предложенной ZuBy. А чтобы сделать такой вид календаря, как у вас. Сделайте новый стиль календаря. За основу можете взять и отредактировать стиль календаря для Андроида.
    1 балл
  6. Intents — это намерения. Intent Filter — это желание обслуживать намерения. Принял (приложением) отправленный Intent — будь добр запуститься и обработать это намерение. Не подходят для этой задачи startActivity, нужно использовать BroadcastReceiver и отправлять ему свой Intent: procedure TMainScreen.SomeOneSaysMeWhatIamStupidAndIsentHim; Begin TAndroidHelper.Context.sendBroadcast(Intent); End; procedure TMainScreen.FormActivate(Sender: TObject); begin begin try TAndroidHelper.Context.registerReceiver(FReceiver, FIntentFilter); finally end; end; end; procedure TMainScreen.FormDeactivate(Sender: TObject); begin try TAndroidHelper.Context.unregisterReceiver(FReceiver); finally end; end;
    1 балл
  7. не нужно форум превращать в сообщество фрилансеров. напишите что у вас не получается. Вам дадут внятные рекомендации, где-то может и кодом помогут. Welcome!
    1 балл
  8. я еще раз в этой теме приложу тестовый проект полностью рабочий под берлин с ресайзом ListViewTestBerlin.7z
    1 балл
  9. krapotkin

    listView

    могу выложить проект тестовый 2 дня на нем тренился ))) ListViewTestBerlin.7z
    1 балл
  10. Pax Beach

    google клавиатура

    А... так это просто решается. procedure TfmSettings.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); var FService: IFMXVirtualKeyboardService; begin if (Key = vkHardwareBack) then begin Key := 0; // <=== вот здесь очищается буфер клавиатуры TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService)); if (FService <> nil) and (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardState) then begin FService.HideVirtualKeyboard; exit; end else begin Close; end; end; end;
    1 балл
  11. krapotkin

    listView

    могу порекомендовать только свой способ тотально всё что нужно создавать самому в OnUpdatingObjects procedure XXX.CreateItem(); begin fUpdating:=true; item := ListView.items.Add(); item.Data['key1']:=value1; item.Data['key2']:=value2; fUpdating:=false; item.Adapter.ResetView(item); // вот тут вызовется OnUpdatingObjects! end; procedure XXX.UpdatingObjects(); begin if FUpdating then exit; h:=5; // НАЗВАНИЕ aText:=SetupTextObject(sText, AItem.Data['key1'].AsString, freeWidth , -1, 10, h, TListItemAlign.Leading, TListItemAlign.Leading, TTextAlign.Leading, TTextAlign.Leading); aText.Font.Style := [TFontStyle.fsBold]; aText.Font.Size := 18; atext.Height := CalculateHeight(atext, lvWallets); h:=h+atext.Height; ... // линия посредине line := aitem.Objects.FindObjectT<TListItemLine>('key2'); if line=nil then line := TListItemLine.Create(AItem); line.name := sLine; line.width := lvWallets.width - lvWallets.itemspaces.left - lvWallets.itemspaces.right -10 -10; line.height := 1; line.color := Emerald; line.placeOffset.x := 10; line.placeOffset.y := h; line.lineWidth:=1; h:=h+5; .... AHandled:=true; end; код неточный, только для иллюстрации идеи в этом случае лучше всего режим Dynamic. Там не создаются лишние "предустановленные" элементы Text Detail и т.д.
    1 балл
  12. на всех андроид устройствах нет смысла пользоваться прямым указанием папки доступные программе папки перечислены в class TPath из System.IOUtils.pas пример uses System.IOUtils; fname := TPath.combine(TPath.GetDocumentsPath, 'myfile.txt');
    1 балл
  13. Равиль Зарипов (ZuBy)

    listView

    Это все потому что скрытие кнопки делать нужно в OnUpdateObjects
    1 балл
  14. rareMax

    Где складывание кода?

    еще больше плагинов установите в студию)00))
    1 балл
  15. Обновленная версия Более реалистичные диалоги для андроид 5.0 и выше MyDialogs_ZuBy.zip
    1 балл
  16. Ручками вычистил из юнита stylebook object StyleBook1: TStyleBook Styles = < item end item Platform = 'Windows 10 Desktop' ResourcesBin = { 464D585F5354594C4520322E3501060B74764D61705374796C6531032E3F0620 ...... 666F726D44656661756C7408000000} end> end и все ссылки на него. Заработало! откуда брался при чтении формы HTMLText - хз
    1 балл
  17. fsdb, Создаем, например, в сервисе поток, в нем делаем запрос к сайту, получаем html, парсим. Ярослав за такой код спасибо не скажет, поэтому адрес замените unit Unit2; interface uses System.SysUtils, System.Classes, System.Android.Service, AndroidApi.JNI.GraphicsContentViewText, Androidapi.JNI.Os; type TMyThread = class(TThread) private function MyFunc():String; function GetTitle(HtmlCode:string):String; protected FURL: string; public constructor Create(const aURL: string); destructor Destroy; override; procedure Execute; override; property URL: string read FURL; end; type TAndroidServiceDM = class(TAndroidService) function AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; private { Private declarations } aMyThread: TMyThread; public { Public declarations } end; var AndroidServiceDM: TAndroidServiceDM; implementation {%CLASSGROUP 'FMX.Controls.TControl'} {$R *.dfm} uses System.Net.HTTPClientComponent, System.Net.HttpClient, Androidapi.JNI.App; function TAndroidServiceDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; begin aMyThread:=TMyThread.Create('http://fire-monkey.ru/'); Result:=TJService.JavaClass.START_STICKY; end; constructor TMyThread.Create(const aURL: string); begin FURL:=aURL; inherited Create(False); end; destructor TMyThread.Destroy; begin inherited; end; procedure TMyThread.Execute; var aResponser:string; begin try while not terminated do begin Sleep(15000); try aResponser:=MyFunc; finally end; end; except on E:Exception do // end; end; function TMyThread.GetTitle(HtmlCode:string):String; var // парсим Title s:string; begin Result:=Copy(HtmlCode,Pos('<title>',HtmlCode)+7,Pos('</title>',HtmlCode)-Pos('<title>',HtmlCode)-7); end; function TMyThread.MyFunc():String; var aHTTPResponse: IHTTPResponse; aResponser: String; sStream: TStringStream; aHttpClient: TNetHTTPClient; begin aResponser:=''; Result:=aResponser; try aHttpClient := TNetHTTPClient.Create(nil); aHTTPClient.AllowCookies :=true; aHTTPClient.AcceptLanguage:='ru-RU;q=0.8,en-US;q=0.5,en;q=0.3'; aHTTPClient.ContentType :='text/html'; aHTTPClient.AcceptCharset :='utf-8'; aHTTPClient.Accept :='text/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; try sStream := TStringStream.Create(); try aHTTPResponse := aHttpClient.Get(FURL, sStream); // get сервера (/wait) if (aHTTPResponse<>nil) then aResponser:=GetTitle(sStream.DataString); else aResponser:=''; except on E:Exception do // end; finally aHttpClient.Free; sStream.Free; end; finally Result:=aResponser; end; end; end. Приложение один раз запустить в любом случае придется. Если приложение закрыть вручную, то запросы перестают идти (почему не знаю). А если приложение "убивает" сам андроид (например если мало оперативной памяти), то запросы идут как и положено
    1 балл
  18. Rusland Спасибо большое, всё работает на ура. Вот только никак не могу добиться, чтоб сервис присылал сообщения втихую, не открывая приложения... Нет идей на эту тему?
    1 балл
  19. Статья/видео урок на английском: http://delphi.org/2014/07/android-voice/
    1 балл
  20. 1. как воспроизвести потоковое видео с IP камеры на Андройд 2. пример использования распознания речи google api на Андройд 3. пример передачи даных из сервиса в приложение / узнать из севиса что приложение работает
    1 балл
  21. Добрый день, В RAD Studio XE5 для поддержки возможности массово менять настройки текста для любых контролов был введен специальный интерфейс ITextSettings. Каждый контрол, который поддерживает настройку параметров текста, реализует этот интерфейс. Поэтому, чтобы массово поменять настройки текста можно использовать, например, следующий код (Delphi, он легко переводится на C++). Этот код Для всех наследников, которые не используют размер шрифта из стиля, задает размер шрифта: var Settings: ITextSettings; Instance: TComponent; I: Integer; begin for I := 0 to ChildrenCount - 1 do begin Instance := Children[I]; if IInterface(Instance).QueryInterface(ITextSettings, Settings) = S_OK then begin // using ITextSettings methods and properties: // TextSettings: TTextSettings, // DefaultTextSettings, // StyledSettings // to change properties of text objects Settings.TextSettings.BeginUpdate; try Settings.TextSettings.Font.Size := 18; if TStyledSetting.ssSize in Settings.StyledSettings then Settings.StyledSettings := Settings.StyledSettings - [TStyledSetting.ssSize] // show Font.Size := 18 else Settings.StyledSettings := Settings.StyledSettings + [TStyledSetting.ssSize]; // restore showing Font.Size loaded from a style finally Settings.TextSettings.EndUpdate; end; end; end; end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...