![](https://fire-monkey.ru/uploads/set_resources_12/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Kitty
-
Постов
792 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Активность репутации
-
Kitty получил реакцию от Alex7wrt в RAD XE9 (RAD X Seattle)
Правильно.
Для споров Си или Делфи полно других форумов.
-
Kitty получил реакцию от Brovin Yaroslav в RAD XE9 (RAD X Seattle)
Правильно.
Для споров Си или Делфи полно других форумов.
-
Kitty отреагировална AngryOwl в Скрытие приложения с панели задач.
Попробуйте
uses {$IFDEF MSWINDOWS}, Winapi.Windows, FMX.Platform.Win{$ENDIF}; {$IFDEF MSWINDOWS} ShowWindow(ApplicationHWND, SW_HIDE); {$ENDIF} -
Kitty отреагировална Brovin Yaroslav в "Лишний" элемент при получении списка вложенных компонентов?
0-элемент - это стиль
-
Kitty отреагировална Равиль Зарипов (ZuBy) в [DE10] Как реализовать и с помощью чего: ListView или ListBox?
TListBox - в него можно накидать компоненты и сделать в 5 секунд, то что вам нужно или использовать стиль
var aItem:TListBoxItem; begin aItem := TListBoxItem.Create(nil); aItem.Text := 'Item Title'; aItem.ItemData.Bitmap.Assign(aBitmap); aItem.Parent := aListBox; end; TListView - тоже можно создать такое и лучше, но нужно все описать ручками в событии OnUpdateObjects
with aListView.Items.Add do begin Text := 'Item Title'; Bitmap.Assign(aBitmap); end; -
Kitty отреагировална haword в TListView: баг или фича в Seattle?
если есть обработчик на UpdateObjects то в него попадают все поля ListView не зависимо от того установлен фильтр или нет. то есть если есть 100 строк из них по фильтру показаны будут только 5 то это обработка выполнится 100 раз.
-
Kitty отреагировална Brovin Yaroslav в Как открыть PDF в стандартном приложении просмотра PDF файлов?
Открытие любого файла в подходящем приложении в операционной системе Андроид выполняются одинаковым способом.
Путем посылки намерения (Интент) с указанием файла и типа данных. Далее система ищет по указанному типу файла, какие приложения зарегистрированы на обработку файлов этого типа, Если приложение, которое может обработать этот файл, одно, то запускает активити приложения и передает туда ваш файл/данные. Если приложений несколько - запускает диалоговое окно выбора приложения, которое будет выполнять обработку вашего файла. Резюмируя это, смотрим на код:
uses System.IOUtils, FMX.Helpers.Android, Androidapi.JNI.Net, Androidapi.JNI.GraphicsContentViewText; procedure TForm7.btnOpenPDFClick(Sender: TObject); const SAMPLE_PDF_FILENAME = 'example.pdf'; var Uri: Jnet_Uri; OpenLinkIntent: JIntent; PDFFileName: string; begin PDFFileName := TPath.Combine(TPath.GetDocumentsPath, SAMPLE_PDF_FILENAME); { Внутренний доступ} Uri := StrToJURI(PDFFileName); // Формируем намерение об открытии файла в стандартном приложении OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); // Устанавливаем тип данных OpenLinkIntent.setType(StringToJString('application/pdf')); OpenLinkIntent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP); // Запускаем приложение и передаем ему наше намерение try SharedActivity.startActivity(OpenLinkIntent); except on E: Exception do ShowMessage('Не удалось открыть PDF. В системе нет доступных приложения для просмотра pdf'); end; end; В этом код pdf файл берется из самого пакета приложения (я включил pdf файл в пакет приложения).
Если вам нужно вытащить файл в любом другом месте, просто укажите в PDFFileName полный путь к файлу в файловой системе вашего устройства.
Проект доступен тут: OpenPDF.zip
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Запустить приложение из сервиса или показать форму
общение приложение-сервис-приложение делается через Intent
-
Kitty отреагировална Andrey Efimov в Динамическое создание и уничтожение TForm
Альтернативный вариант:
Скрываем форму. Перед тем как создать форму, проверяйте её на существование. Если существует, то удаляем и заново создаём.
Например, вот так, с фреймами:
procedure TForm1.Button1Click(Sender: TObject); begin if FFrame <> nil then begin FFrame.DisposeOf; FFrame := nil; end; FFrame := TFrame2.Create(Self); FFrame.Parent := Self; FFrame.Name := 'TFrame10'; FFrame.bCloseFrame.OnClick := FrameFreeAndNil; end; procedure TForm1.FrameFreeAndNil(Sender: TObject); begin FFrame.Visible := False; end; -
Kitty отреагировална alexbirukov в KTeam приложение для уведомления о ДТП мотоциклистов Челябинска
Разработчик: Александр Бирюков
Ссылки на приложения: iOS и Android
Описание:
Алгоритм работы:
Пользователь попавший в ДТП создает заявку или нажатием кнопки SOS в экстренной ситуации отправляет экстренное сообщение на сервер. Модераторы получают СМС уведомления о произошедшей аварии. После модерации пользователи системы получают СМС уведомления с адресом аварии и Push уведомления.
-
Kitty получил реакцию от zairkz в Как получить Thumbnail файла mp4?
Спасибо, понятно. Я просто думала, что раз обыкновенный стандартный проводник в Windows показывает превью любого видео файлов (как на картинке), то и функция LoadThumbnailFromFile сумет вытащить такое превью.
-
Kitty отреагировална Brovin Yaroslav в [TButton] Как сделать всплывающую панель-подсказку для кнопки и показать ее при наведении курсора мыши?
Добрый день,
OnMouseEnter, OnMouseLeave?
-
Kitty отреагировална xenon54 в Push сообщения IOS - как получить токен ?
XE8 без апдейтов.
На какой строке AV?
Provisioning profile должен включать APN.
uses: System.PushNotification, FMX.PushNotification.iOS
-
Kitty отреагировална xenon54 в Push сообщения IOS - как получить токен ?
var APS : TPushService; ASC : TPushServiceConnection; begin APS := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS); ASC := TPushServiceConnection.Create(APS); ASC.OnChange := DidAPNSChanged; ASC.OnReceiveNotification := form1.OnReciveAPN; ASC.Active := True; procedure TXAPNS.DidAPNSChanged(Sender: TObject; AChange: TPushService.TChanges); begin if TPushService.TChange.DeviceToken in AChange then begin FDevToken := APS.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken] ; Так у меня работает все на ура
-
Kitty отреагировална Brovin Yaroslav в [Статья] Календарь с подсветкой дней на базе TCalendar без создания нового компонента
Ссылка: http://yaroslavbrovin.ru/tcalendar_with_highlight_days_based_on_default_tcalendar/ Автор: Ярослав Бровин В этой статье мы рассмотрим расширение функционала стандартного календаря TCalendar и добавим поддержку раскраски требуемых дней в календаре. Расширение будет продемонстрировано с использованием нового подхода разработки компонента в FireMonkey. В результате этой статьи вы получите готовый модуль, который будет достаточно добавить в ваш проект, чтобы использовать расширенную версию календаря с раскраской дней без необходимости создания отдельного компонента календаря.
-
Kitty отреагировална Brovin Yaroslav в Запустить приложение из сервиса или показать форму
Андроид сервис не может работать с формами и UI. О чем указано в документации:
-
Kitty отреагировална Brovin Yaroslav в Импорт класса из bpl (LoadPackage)
Чтобы любой класс можно было найти по имени, этот класс нужно вначале предварительно зарегистрировать через функцию RegisterClass. При отключении опции "Link with runtime pakages", ваше приложение включает в себя код rtl пакета. Поэтому при запуске вашего приложения, встроенный в приложение rtl пакет создает свои экземпляры хранилищ классов. Когда вы загружаете вашу библиотеку, она уже использует другой экземпляр rtl библиотеки (которая лежит вместе со средой IDE). В итоге получается две копии в памяти одной библиотеке. Но ваш пакет регистрирует ваш класс в одном хранилище, а приложение ищем в другом. Поэтому вы не можете найти ваш класс. Решение такое, вы должны поставлять потребителю, отдельно RTL пакет, отдельно ваш пакет, и ваше приложение (которое использует динамическую линковку rtl пакета)
-
Kitty отреагировална Brovin Yaroslav в Разработка настольной версии клиента для форума по FireMonkey с использованием FireMonkey
Немного переработан внешний вид. Теперь можно просматривать темы и посты с поддержкой форматирования. Добавлен пункт меню просмотр последних тем.
-
Kitty отреагировална Brovin Yaroslav в Как задать внутренний отступ padding для контента TScrollBox?
Речь шла о XE10. И отступ был добавлен и для TScrollBox и для нового скроллбокса TPresentedScrollBox.
-
Kitty отреагировална Brovin Yaroslav в Документация к TTimeEdit
В RAD Studio XE5 был добавлен новый компонент TTImeEdit для удобного ввода времени.
Возможности
Использование короткого и полного формата времени Адаптивный ввод времени. Под Windows и OSX ввод времени по частям, как принято в операционных система. В Android и iOS ввод осуществляется при помощи системных диалогов (Андроид) и барабанов (iOS). Поддержка встроенного TCheckBox, позволяющего на уровне дизайнера сделать встроенный выбор поля. Поддержка пользовательского формата времени. При этом все одинаковые части времени в разных вариантах отображения редактируются одновременно Возможности отображения текущего времени Демонстрация
Возможности этого компонента приведены на видео ниже:
-
Kitty отреагировална Brovin Yaroslav в как получить координаты маркера на карте?
TMapMarker.Descriptor.Position -
Kitty отреагировална Равиль Зарипов (ZuBy) в как получить координаты маркера на карте?
как-то так
Label1.Text:= floattostr(my.Descriptor.Position.latitude) + ', ' + floattostr(my.Descriptor.Position.longitude); -
Kitty отреагировална Равиль Зарипов (ZuBy) в Среда не видит девайсы
пробуйте убить adb.exe и снова нажать на скан девайсов
-
Kitty отреагировална Brovin Yaroslav в [Отклонение] При использовании AutoReverse не восстанавливается значение свойства Inverse
Исправлено в XE10.
-
Kitty отреагировална Brovin Yaroslav в [Android] Как отключить программную кнопку Меню?
Чтобы при повороте приложение не вылетало на версиях среды до XE8 включительно дополнительно нужно добавить значение screenSize для атрибута android:configChanges в манифест. Так как 14 версия требует обязательного наличия этого значения.
Начиная с XE10 правок вносить не надо.
Было:
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden" android:launchMode="singleTask"> Стало:
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask">