Kitty
-
Постов
792 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Активность репутации
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Как заполнить эллипс?
var MyRect: TRectF; begin MyRect := RectF(10, 10, 30, 30); if Canvas.BeginScene then try Canvas.Fill.Color := TAlphaColorRec.Red; Canvas.Stroke.Color := TAlphaColorRec.Black; Canvas.FillEllipse(MyRect, 1); Canvas.DrawEllipse(MyRect, 1); finally Canvas.EndScene; end; end; FillEllipse - заливка
DrawEllipse - обводка
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Как заполнить эллипс?
для заливки используется
Canvas.Fill.Color := цвет; Canvas.FillEllipse();
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Меняющееся изображение на кнопке
ошибаетесь
1) скейлы есть и в Windows и в Mac
2) Линукс не скоро станет поддерживать GUI
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Рисование маршрута на MapView, Delphi, Android
Посмотрите эту тему
Последний вариант по ссылке
-
Kitty отреагировална Евгений Корепов в Одинаковые логотипы и картинки
Получите от медицинского центра разрешение на использование их логотипа. Можно на русском языке. Текст произвольный - поручаем Kitty изготовление приложения и разрешаем использование логотипов, торговых марок, фирменных наименований и т.д. в приложениях.
Подробнее здесь https://play.google.com/intl/ru/about/ip-deception-spam/impersonation-ip/
И отправьте скан (pdf к примеру) этого письма в гугл, подробности тут https://support.google.com/googleplay/android-developer/answer/6320428
Последнее время все сложнее публиковать приложения, правила уже балансируют на грани маразма. Одно моё приложение заблокировали по причине того что я "выдавал" себя за магазин линолиума в какой то немецкой деревушке - логотип приложения был немного искаженной зеркальной копией логотипа этого магазина, так же отличались цвета - у магазина желтый, у приложения оранжевый. Вот такие дела...
Так же сильно зависит от места модерации - если повезет попасть в британский офис, то вам досконально объяснят причину блокировки, приведут примеры правильного и не правильного решения вашего вопроса. Вот пример из моей практики:
Если не повезет попасть в подмосковье - то вы не получите комментариев, апелляция будет проигнорирована и относится к вам будут как к ничтожеству. Российская специфика - мальчик получивший работу в Великом Гугле, благодаря двоюродному дяде, сам становится Великим. И естественно он обязан быть гавном, так у него в должностной инструкции написано ;-)
-
Kitty отреагировална krapotkin в Простой пример работы с MS Word в Delphi FMX
есть Open/Libre Office и библиотеки для работы с ним
-
Kitty отреагировална Pax Beach в Простой пример работы с MS Word в Delphi FMX
Сделал пример приложения для работы с Microsoft Word из приложения Delphi.
Такое приложение может использоваться для обмена данными между объектами семейства Microsoft Office.
Исходные коды приложения помогут вам понять, как работать с объектной моделью Microsoft Word.
Чтобы лучше разобраться с нюансами Word, предлагаю ознакомиться со справочником Word VBA reference на MSDN.
Проект создан в среде FireMonkey Delphi Berlin 10.1
Протестирован в MS Word 2010, 2016, Windows 7x64 и 10x64.
Чтобы посмотреть пример, просто распакуйте zip-файл проекта и щелкайте по порядку кнопки на форме.
Скачать Delphi Word Test
WordTest.zip
-
Kitty отреагировална dante333 в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
При отправке пуша из консоли kinvey,API Calls (обращение к API сервиса) не защитывается,что правильно,ведь запроса от пользователя мы не получаем.То есть,теоретически,вы имеете "безлимитку" на пуши. Все таки Kinvey это не совсем "про пуши",сервис имеет гораздо больше функций и применений,а пуши это можно сказать бонус.Если пользоваться чисто пушами,то единственный запрос от пользователя будет приходить при первом запуске приложения,для получения пары ID/токен.Так что вариант с Kinvey,особенно при небольшом количестве пользователей,имеет право на существование).Но и тут не все так гладко.Kitty в соседней теме описала про дублирование уведомлений.
-
Kitty отреагировална afors в 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 отказался создавать такой файл, заменив × на вопросительный знак.
Файл создается программой?
-
Kitty отреагировална Alex Bozhko в Одинаковые логотипы и картинки
Публиковали три редакции одного приложения. Одинаковым было всё, кроме описания. Проблем не было вообще.
-
Kitty отреагировална Andrey Efimov в Одинаковые логотипы и картинки
Раньше точно можно было, если указаны отличия в названии приложений и владельцем приложений является один аккаунт, которым в свою очередь управляет представитель компании (в данном случае медицинского центра) или уполномоченный компанией человек.
Тут больше вопрос в авторском праве, если приложение не ваше, а вы скопировали чужой логотип и т.п. то можно нарваться на блокировку за нарушение авторских прав.
-
Kitty отреагировална Brovin Yaroslav в Embarcadero Weekly Round-up for Developers - #8/2017
Embarcadero Weekly Round-up 8 Products | Free Tools | Events WEEKLY ROUND-UP FOR DEVELOPERS We continue to improve RAD Studio, Delphi, and C++Builder with one central goal in mind: helping you build cross-platform Native Apps faster than ever before and delivering them to the largest audience possible with ease. InterBase 2017 – Now Available InterBase 2017 delivers the fastest version of InterBase yet with new language features, server wide performance monitoring and enhanced transaction handling. Read More! Download InterBase 2017 Now The trial and developer editions of InterBase 2017 are available for free Download the Trial Version Download Free Developer Edition Build IoT enabled apps with RAD Studio ThingConnect IoT device components range from healthcare devices such as heartrate montiors, blood pressure monitors and scales to home automation gadgets like BLE light bulbs, Z-Wave enabled door locks, smart switches, smoke detectors and more.
Read More! Webinar: External BeaconFence Mapping Editor Embarcadero’s BeaconFence technology utilizes its Beacon Fencing Map Editor from the RAD Studio IDE, but is not able to run outside of it. Woll2Woll has created an external mapping editor to create XML mapping files Written 100% with the FireMonkey library - Runs on Windows, iOS, Android, and OSX. Register Now! 16 March 2017 Delphi for Linux Boot Camp Replay Just in case you missed the fantastic Delphi for Linux Boot Camp by Craig Chapman last week, or you want to watch it again, here is the replay that includes Marco Cantu's Q&A at the end. Read More! Delphi for Linux RTL units This blog post from Marco Cantu focuses solely on the RTL units that are going to be available in Delphi for the Linux platform.
Read More! Key Traits of the Coming Delphi For Linux Compiler In case you missed it: Here are some of the key technical elements of Embarcadero’s new Delphi compiler for the Linux platform.
Read More! How to make a RESTful WebBroker app in C++Builder WebBroker (included in Professional edition and up) makes it easy to build a RESTful server. This article shows you how to server data from a database via a REST API with WebBroker and C++Builder. Register Now Просмотр полной статьи
-
Kitty отреагировална ENERGY в Одинаковые логотипы и картинки
Поменяйте цвет этих иконок. В любой редакторе можно сдвинуть HUE (я обычно использую Axialis Icon Workshop и Photoimpact) - смещение цветов.
И вам будет удобно, и не должны отказать.
Можно также поискать Online Image\photo editor - но они как правило очень бедные по функционалу, и там может не быть изменения HUE.
-
Kitty отреагировална Дмитрий Ш. в Пуш и андроид 6
по пушам на MIUI лучше почитать на 4pda.ru/ все описано и с картинками )
-
Kitty отреагировална ENERGY в [Статья]Как создать простой Android Broadcast Receiver. How to implement simplest Android Broadcast Receiver in Delphi
Мой вариант Broadcast Receiver, на мой взгляд наиболее оптимизирован и удачен. По сравнению с известным кодом от barisatalay .
Отличия -
исправлена утечка,
чуть быстрее работает, за счет того что создается один фильтр в него добавляется несколько Actions и одна регистрация на него,
нет лишних конвертирований с Jstring to string и обратно,
адаптирован под Delphi 10 (JFMXBroadcastReceiver) ,
упрощена работа с классом (не нужно помнить о регистрации и вызывать ее заранее) ,
и самое главное - может получать getResultCode текущего ресивера (к примеру он нужен при получении статуса смс сообщения и в других случаях.).
unit BroadcastReceiver; interface {$IFDEF ANDROID} uses Androidapi.JNI.Embarcadero, Androidapi.JNI.GraphicsContentViewText, Androidapi.helpers, Androidapi.JNIBridge, FMX.Helpers.Android, Androidapi.JNI.JavaTypes, System.Classes, System.SysUtils; type TBroadcastReceiver = class; TListener = class(TJavaLocal, JFMXBroadcastReceiverListener) private fOwner: TBroadcastReceiver; fReceiver: JFMXBroadcastReceiver; public constructor Create(aOwner: TBroadcastReceiver); destructor Destroy; override; procedure onReceive(context: JContext; intent: JIntent); cdecl; end; TOnReceive = procedure (aContext: JContext; aIntent: JIntent; aResultCode: integer) of object; TBroadcastReceiver = class private fListener : TListener; fRegistered: boolean; fOnReceive: TOnReceive; public constructor Create(aOnReceiveProc: TOnReceive); destructor Destroy; override; procedure AddActions(const Args: array of JString); procedure SendBroadcast(const aValue: string); end; {$ENDIF} implementation {$IFDEF ANDROID} { TBroadcastReceiver } constructor TBroadcastReceiver.Create(aOnReceiveProc: TOnReceive); begin inherited Create; fListener := TListener.Create(Self); fOnReceive := aOnReceiveProc; end; destructor TBroadcastReceiver.Destroy; begin fListener.Free; inherited; end; procedure TBroadcastReceiver.AddActions(const Args: array of JString); var vFilter: JIntentFilter; i: Integer; begin if fRegistered then TAndroidHelper.context.getApplicationContext.UnregisterReceiver(fListener.fReceiver); vFilter := TJIntentFilter.JavaClass.init; for i := 0 to High(Args) do vFilter.addAction(Args[i]); TAndroidHelper.context.getApplicationContext.registerReceiver(fListener.fReceiver, vFilter); fRegistered := true; end; procedure TBroadcastReceiver.SendBroadcast(const aValue: string); var Inx: JIntent; begin Inx := TJIntent.Create; Inx.setAction(StringToJString(aValue)); TAndroidHelper.Context.sendBroadcast(Inx); end; constructor TListener.Create(aOwner: TBroadcastReceiver); begin inherited Create; fOwner := aOwner; fReceiver := TJFMXBroadcastReceiver.JavaClass.init(Self); end; destructor TListener.Destroy; begin TAndroidHelper.context.getApplicationContext.unregisterReceiver(fReceiver); inherited; end; // usually android call it from "UI thread" - it's not main Delphi thread procedure TListener.onReceive(context: JContext; intent: JIntent); begin if Assigned(fOwner.fOnReceive) then fOwner.fOnReceive(Context, Intent, fReceiver.getResultCode); end; {$ENDIF} end.
Как использовать
// указывать нужно сразу все нужные вам Actions в Add через запятую, не по одной. fBroadcast := TBroadcastReceiver.Create(OnReceiveBroadcast); fBroadcast.AddActions([StringToJString(SENT_ACTION)]); << Custom action ------------- // или например сразу несколько Actions fBroadcast.AddActions([TJIntent.JavaClass.ACTION_SCREEN_OFF, TJIntent.JavaClass.ACTION_SCREEN_ON]);
-
Kitty отреагировална ENERGY в В Delphi XE10 перестал работать FMXBroadcastReceiver (Android). Что изменилось со времён XE7?
Обратите внимание на мой Broadсast Receiver, как мне кажется более удачный, адаптированный под Delphi XE 10+
-
Kitty отреагировална dante333 в Как убрать лишние уведомления в шторке при пуше?
Kitty,а вы попробуйте переустановить свое приложение.Удалить и заново поставить.Получите +1 к пушам. Было 3,станет 4.Больше переустановок,больше пушей. Когда работал с Kinvey была такая же история.В блогах на Embarcadero обсуждали даже.Если в кратце и по памяти,то при переустановке приложения,в Kinvey дублируется запись устройства на которое отправляется push.Что бы избежать этого,надо делать доп проверку на уже существующий токен для данного устройства.Повторюсь что это по памяти,но суть понятна.Можете поискать в блогах Sarina Dupont на Embarcadero.
Собственно после этого я и перешел на нативные пуши. Потому как написал многоуважаемый ZuBy:
Вот,нашел:
https://community.embarcadero.com/blogs/entry/remote-push-notifications-on-android-with-rad-studio-xe6-795
Второй коммент.
15 раз установил,15 пушей.
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Пуш и андроид 6
У меня андроид 6, опять же проблем нету. манифест правильно настроен?
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Форма загрузки
дополню
нужно в OnKeyUp главной формы (не первой) обработать vkHardwareBack и сделать Application.Terminate; чтобы при кнопке Назад, не вернуться на форму загрузки (первую форму)
-
Kitty отреагировална Rusland в Создать БД с помощью SQLite
Для работы с Sqlite можете использовать компоненты FireDAC http://docwiki.embarcadero.com/CodeExamples/Berlin/en/FireDAC.SQLite_Sample
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Как убрать лишние уведомления в шторке при пуше?
Если приложение выгружено, то пуши в шторку доставляет гуглосервис.
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Как убрать лишние уведомления в шторке при пуше?
сколько пришло пушей от сервера столько и публикуется в шторку, отсебятину он не добавляет
-
Kitty отреагировална krapotkin в Recevive push notifications
конечно, в момент старта приложения происходит подписка на получение пушей. но думаю не 4-5 секунд
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Как включить/выключить звук у MediaPlayer?
а у TImage стоит HitTest := true;?
-
Kitty отреагировална Равиль Зарипов (ZuBy) в Загрузка аудиофайлов в MediaPlayer
Remote Path неправильно заполнен, должно быть assets\internal