![](https://fire-monkey.ru/uploads/set_resources_12/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Kitty
-
Постов
792 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Активность репутации
-
Kitty получил реакцию от Равиль Зарипов (ZuBy) в TMapsEngine
Тут есть пару слайдов: http://www.slideshare.net/DenisVasilyev1/tmapview-ios-android
-
Kitty отреагировална Alex Bozhko в Страница, посвященная книгам на офф сайте
Подборка книг "из первых рук".
http://community.embarcadero.com/resources/books
-
Kitty получил реакцию от zairkz в TMapsEngine
Тут есть пару слайдов: http://www.slideshare.net/DenisVasilyev1/tmapview-ios-android
-
Kitty отреагировална Brovin Yaroslav в Работа с текстом
Просто прочитайте:
Как работать с TStringHelper и TStringBuilder в C++Builder ХЕ6 -
Kitty отреагировална Axbor в Как сохранить пропорцию?
Bitmap->Width, Bitmap->Height, оригинальные размеры загруженного изображения. Размер компоненты изменяю так:
double koefW = 200.0/(double)Bitmap->Width; double koefH = 200.0/(double)Bitmap->Height; double koefC = (koefW < koefH?koefW:koefH); Image->Width = Bitmap->Width * koefC; Image->Height = Bitmap->Height * koefC; -
-
Kitty отреагировална Rusland в TMapsEngine
Сегодня начал определять адрес через HERE (код не менял)
Кстати вчера вечером программа повисла когда я сел в автобус (несколько раз нажимал Подождать, но программа не очнулась). Возможно дело в том что интернет на телефоне очень слабый (GPRS).
Вам просто нужно добавить MapsEngine.pas (предварительно убрав точку в названии файла) в свой проект: Project -> Add to project
При компиляции C++Builder сам создаст заголовочный файл MapsEngine.hpp, делаете #include "MapsEngine.hpp" и сможете использовать класс TMapsEngine.
PS. А лучше переходите на Delphi, народу больше на нем сидит
PPS. А сейчас у Абракадабры идет вебинар по использованию TMapView (зарегистрироваться не успел). Кто-нибудь знает этот вебинар потом можно будет где-то посмотреть?
-
Kitty отреагировална AngryOwl в Как заставить обычную форму отображаться как Popup?
Можно сделать так:
procedure TfmForma.FormCreate(Sender: TObject); begin inherited; Left := Screen.Size.Width - ClientWidth; Top := Screen.Size.Height - ClientHeight; {ну или где там она должна появляться} end; -
Kitty отреагировална Равиль Зарипов (ZuBy) в [Android] [XE7] Ошибка класса ENotImplemented
в FMX он работает по другому
InputQuery имеет еще параметры
смотрим внимательно
type TInputCloseQueryEvent = procedure(Sender: TObject; const Values: array of string; var CanClose: Boolean) of object; TInputCloseQueryFunc = reference to function(const Values: array of string): Boolean; TInputCloseQueryProc = reference to procedure(const AResult: TModalResult; const AValues: array of string); TInputCloseBoxProc = reference to procedure(const AResult: TModalResult; const AValue: string); TInputCloseDialogProc = reference to procedure(const AResult: TModalResult); TInputCloseDialogEvent = procedure(Sender: TObject; const AResult: TModalResult) of object; TInputCloseQueryWithResultEvent = procedure(Sender: TObject; const AResult: TModalResult; const AValues: array of string) of object; TInputCloseBoxEvent = procedure(Sender: TObject; const AResult: TModalResult; const AValue: string) of object; -
Kitty отреагировална Равиль Зарипов (ZuBy) в TMapsEngine
Компонент TMapsEngine
Возможности
Нативный LocationSensor [ANDROID] Геокодинг/Реверс геокодинг через Google API, Yandex API, Here Maps API Построение маршрута через Google Distance API Расчет дистанции по прямой Совместим со стандартным компонентом TLocationSensor
Видео демонстрация
На видео видно как TMapView косячик с миллионом точек, приложение зависло при отрисовке, но с этим ничего не поделать.
Без синхронизации не возможно отрисовать все точки
Исходник
TMapsEngine_source.zip
TMapsEngine_Seattle_10.zip
Скачать APK (долго он там не пролежит, а форум не позволяет загрузить zip размером 7,4 мб )
-
Kitty отреагировална Brovin Yaroslav в [TfgRichEdit]- компонент редактирования текста с поддержкой форматирования
Новые вести с полей.
Проверена работа на Андроиде. Рендеринг прошел нормально. Добавлена возможность указывать межстрочный интервал для параграфов. Значительно переработаны настройки. Теперь можно задавать настройки для всех элементов в целом, для всех параграфов, так и локально для одного параграфа.
-
Kitty отреагировална AngryOwl в Как нарисовать круглый TImage
var BmpNew : TBitmap; begin BmpNew := TBitmap.Create; BmpNew.SetSize({нужный размер}, {нужный размер}); BmpNew.Canvas.BeginScene; try BmpNew.Canvas.Fill.Kind := TBrushKind.Bitmap; BmpNew.Canvas.Fill.Bitmap.WrapMode := TWrapMode.TileStretch; BmpNew.Canvas.Fill.Bitmap.Bitmap := {ваш битмап}; BmpNew.Canvas.Clear(0); BmpNew.Canvas.FillEllipse(RectF(0, 0, {нужный размер}, {нужный размер}), 1); finally BmpNew.Canvas.EndScene; end; TImage{ваш объект}.Bitmap.Assign(BmpNew); end; думаю так
-
Kitty отреагировална Дениска в [iOS] Открытие файла из Вашего приложения в другом приложении или Своя кнопка "Open In..."
implementation uses IOUtils {$IFDEF IOS} ,iOSapi.Foundation, FMX.Platform.Ios, iOSapi.UIKit, Macapi.Helpers {$ENDIF} ; procedure TForm1.Button1Click(Sender: TObject); var fpath: string; begin fpath:= TPath.GetDocumentsPath + PathDelim + 'filename.extention'; OpenIn(fpath); end; procedure TForm1.OpenIn(path: string); {$IFDEF IOS} var controller : UIDocumentInteractionController; URL: NSURL; {$ENDIF} begin {$IFDEF IOS} URL := TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(StrToNSStr(path))); controller := TUIDocumentInteractionController.Wrap( TUIDocumentInteractionController.OCClass.interactionControllerWithURL(URL)); controller.presentOpenInMenuFromRect( WindowHandleToPlatform(self.Handle).View.frame, WindowHandleToPlatform(self.Handle).View,true); {$ENDIF} end; -
Kitty отреагировална AngryOwl в Доступ к объекту стиля через StylesData в одном из примеров для XE8
Вот уже в который раз обсуждается подобный вопрос...
Я бы даже сказал - тот же самый!
Почти каждый раз пишу одно и то же, но все упорно наступают на те же самые грабли. При этом пытаясь меня убедить в том, что делать то я что я пишу - необязательно, и при этом жалуются что у них с их вариантами - не получается достичь нужного результата.
Отройте ссылку и в фрагменте кода найдите КЛЮЧЕВУЮ! строку:
newItem.OnApplyStyleLookup := MissMessageApplyStyle; Смысл - переопределите событие OnApplyStyleLookup для создаваемых итемов, а внутри MissMessageApplyStyle (назовите как угодно..) - перерисовывайте содержимое. Т.е. - буквально, обновляйте содержимое "ручками".
Тогда у Вас будет все работать как надо, картинки пропадать не будут, и т.д. и т.п.
З.Ы. И да, еще. Если ваш итем ну очень сложный какой-то, например, с необходимостью отрисовки срок разными цветами или что-то еще сложнее - можете переопределить OnRepaint...
З.З.Ы. В той же теме можете увидеть, насколько сложные итемы я создавал и что у них внутри есть, и все работает как надо...
-
Kitty отреагировална Alex7wrt в Как определить выбранный на устройстве язык?
Для Android:
uses FMX.Platform; ......... var ls: IFMXLocaleService; lang: string; begin if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(ls)) then lang:=ls.GetCurrentLangID; В зависимости от языка переменная lang примет значения 'en', 'ru' и т.д.
либо просто:
lang:=copy(SysLocale.DefaultLCID,1,2); В этом случае нужен модуль System.SysUtils.
Первый вариант, насколько я помню, выводит региональный код, а второй - код языка. В большинстве случаев они совпадают, но для стран, в которых говорят на одном языке, они отличаются. Первый вариант возвратит код страны, второй - код языка.
-
Kitty отреагировална Равиль Зарипов (ZuBy) в TLocationSensor - GPS трекер
вот оригинальный код, я же себе сделал компонент сразу с геокодингом и реверс геокодингом (через три сервиса here maps, google maps, yandex maps) +расчёт дистанции по дороге через google +расчёт дистанции по прямой
AndroidGPS.zip
-
Kitty отреагировална Brovin Yaroslav в [TfgRichEdit]- компонент редактирования текста с поддержкой форматирования
Работа продолжается.
Добавлена поддержка расскраски Delphi кода. Создана система, позволяющая самостоятельно обрабатывать блоки документа. Например, чтобы сделать разметку кода. Значительно проработаны отступы для блоков. Добавлены внешние и внутренние отступы. Исправлены многострочные списки. Теперь если элемент списка занимает больше одной строки, он отображается корректно. Добавлена поддержка закрашивания заднего фона.
Так же этот компонент уже интегрирован в будущую настольную версию клиента форума.
-
Kitty отреагировална Brovin Yaroslav в [TImage] Как нарисовать текст на изображение в TImage, чтобы его потом можно было сохранить?
with Image1.Bitmap.Canvas do if BeginScene then try Fill.Color := TAlphaColorRec.Red; Fill.Kind := TBrushKind.Solid; FillText(TRectF.Create(0, 0, 1000, 100), '1234567890', True, 1, [], TTextAlign.Leading); finally EndScene; end; -
Kitty отреагировална Brovin Yaroslav в [Android] программа закрывается при использовании LocationSensor и Memo
Если у вас зависает программа, то замените Synchronize на TThread.Queue. Это точно должно помочь
Этим летом мне выделили время и я плотно занимался проблемой "черного экрана" на андроиде и креша при закрытии приложения на Андроиде. На форуме было очень много обсуждений этой проблемы. Поэтому есть пара советов, как ее избежать в текущих версия среды:
Все операции требуемые выполнять в Delphi UI потоке нужно выполнять в Synchronize или Queue. Второе предпочтительнее. Отличие между Synchronize и Queue - только в том, что первое остановит выполнение потока до тех пор, пока не выполниться код в Synchronize. Queue наборот, поставить в очередь ваш код на выполнение. Поэтому если вы можете выполнять вашу задачу асинхронно, то лучше использовать Queue, если нет, то Synchronize. В вашем случае вы можете выполнить добавление маркера асинхронно, так как результат сенсора вы не используете в будущем для вычислений. То есть у вас только задача отображения данных в Real Time. Поэтому
-
Kitty отреагировална Равиль Зарипов (ZuBy) в При выравниваниее по правому краю съедаются символы.
как одно из решении, добавить пробелы с права от текста. если float то перевести в string
-
Kitty отреагировална xenon54 в Недоходят push до устройства
ssl: // gateway.sandbox.push.apple.com:2195 - Это для продакшн
ssl: // gateway.push.apple.com:2195 - это для разработки
-
Kitty отреагировална Brovin Yaroslav в [Android] программа закрывается при использовании LocationSensor и Memo
Событие приходит в другом потоке. А с UI можно работать только в главном потоке. Поэтому перед тем, как что-то записывать в мемо, эту запись нужно завернуть в TThread.Synchronize.
procedure TForm17.LocationSensor1LocationChanged(Sender: TObject; const [Ref] OldLocation, NewLocation: TLocationCoord2D); begin TThread.Synchronize(procedure begin Memo1.Lines.Add(''); end); end; -
Kitty отреагировална Brovin Yaroslav в Как закрасить имеющийся рисунок?
Еще подумал, что можно сделать png картинку с футболкой, у которой прозрачной будет только закрашиваемая часть. А дальше просто подложить под картинку TRectangle и просто менять ему цвет.
-
Kitty отреагировална Brovin Yaroslav в Инструкция по установке набора компонентов FGX
Первое решается простым запуском среды с административными правами. Так как папка среды находится в Program Files, доступ к которой только из под админа.
-
Kitty отреагировална Brovin Yaroslav в Как закрасить имеющийся рисунок?
Можно сделать маску, содержащую ту часть футболки, которую нужно закрашивать. А далее по маске попиксельно менять цвет.